Webmaster общности: Predpriemach.com | SearchEngines.bg
    web-tourist27/12/20195min00

    Въведение в XML

    Въведение в XML

    Настоящата статия представлява въведение в езика XML .
    Разглежда се синтаксисът на един XML документ и се обсъжда приложението на XML езика.

    Увод – що е то XML ?

    Известно е, че съществуват множество различни формати за съхраняване на данните.
    В различните софтуерни продукти се използват различни формати и начини за представяне на информация :
    съществуват текстови формати с форматиране или без форматиране на текста,
    различни видове бази данни, таблици за таблични процесори, мултимедийни формати, и други.
    В съвременния свят на информационните технологии ,
    необходимостта от комуникация,
    от предаване на данните от едно място на друго посредством Интернет, от конвертиране на данните
    от един формат в друг с цел използването им в друга софтуерна или
    хардуерна среда, нараства чувствително.
    Ето защо, бе създаден езикът XML (eXtensible Markup Language),
    език, който се стреми да стандартизира, уеднакви, начините на съхранение и предаване
    на различни видове данни.Това е език, чрез който може да се кодира специфичната структура на даден
    документ, в която да се включат и данните.

    Структурата на един XML документ
    Езикът XML представлява език за маркировка, базиран на SGML.
    Този език е предназначен да описва данни в текстов вид, по един неутрален по отношение
    на платформата и операционната система начин.
    Той използва тагове, които силно приличат на HTML таговете. Един XML документ представлява всъщност
    един текстов файл, в който се съдържат различни XML декларации и тагове,
    както и текст.
    Ето един примерен XML документ (файл с име forum.xml) :

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!—- This document describes some topics in a forum -->
    <forum>
    <topic user = “Milen” title = “ XML books”>
    <body> I search good XML books. Please, help</body>
    </topic>
    <topic user = “Pesho” title = “HTML vs XML “>
    <body> What’s the difference anyway? </body>
    </topic>
    </forum>

    Както виждаме, данните са представени в йерархична структура от вмъкнати един в друг тагове.
    Тази структура е дървовидна (йерархична ) :

    forum
    |-------topic
    | |
    | |-----body
    |
    | -------topic
    |
    |----body

    XML директиви и XML елементи
    Директивата в началото представлява специална XML директива, която указва че това е файл,
    отговарящ на спецификацията на XML 1.0,и кодиран в кодировката ISO-8859-1 ( английски език ).
    Всеки един раздел от структурата, който се нарича също така възел или елемент ( XML node, XML element )
    се бележи с тагове – отварящ и затварящ .
    На всеки един отварящ таг съответства затварящ таг, със същото име, но предхождано от наклонена черта
    ( ………….). Между тези два тага се намира съдържанието, т.е. данните, които са включени в
    съответния раздел. Трябва да има един основен елемент, в който да се намират всички останали елементи.
    Той се нарича Document Root.
    В примера това е елементът forum. Всеки един елемент може да има и атрибути, които описват някакво
    свойство на това “парче” от данни, както в примера са заглавията на темите в форума.
    Както и в HTML, в XML могат да се пишат коментари , оградени с ,
    които не се взимат под внимание при компютърна обработка на файла от дадена програма.
    При именуването на елементите се спазват следните правила :

    -> Имената могат да съдържат букви, цифри, и някои други символи (подчертавка).
    -> Имената не могат да започват с число или пунктуационен знак.
    -> Имената не могат да започват с низа “xml”.
    -> Имената не могат да съдържат интервали или символа двоеточие.

    Разлики между XML и HTML

    -> Имената на таговете и атрибутите са произволни, не са предварително определени.
    Съответно произволен е и основният възел ( Document Root) на целия документ, не се изисква той
    да бъде .
    -> Големите и малките букви имат значение : и са 2 различни неща.
    -> Стойностите на атрибутите се записва винаги с кавички, даже и когато стойността е число :

    <replique name = “Anne” age = “16”>Hi</replique>

    -> Ako даден таг не съдържа в себе си текст или други тагове, може да се запише без затварящ таг
    , но с наклонена черичка в края на тага :

    <users>
    <user name = “Anne” age = “16”/>
    <user name = “Peter” age = “23”/>
    </users>

    -> Типът на документа се определя чрез специалана XML директива (XML processing instruction : <?xml …..?>

    XML – Разширяем език за маркировка
    XML означава “Разширяем език за маркировка”.И наистина, във всеки един момент можем да добавим нови данни
    в структурата на един XML документ, като дефинираме нови имена на елементи или атрибути :

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!—- This document describes some topics in a forum -->
    <forum>
    <topic user = “Milen” title = “ XML books”>
    <body> I search good XML books. Please, help</body>
    <reply user = “Niki” title = “”>
    <body> I have one. Write me a PM ! </body>
    </reply>
    </topic>
    <topic user = “Pesho” title = “HTML vs XML “>
    <body> What’s the difference anyway?</body>
    <reply user = “Ian” title = “”>
    <body> Read my article in the “Articles” section!</body>
    <reply>
    </topic>
    </forum>

    Тук добавяме елемент reply, който винаги е подчинен на topic, a всеки topic е подчинен на forum.
    Така ние дефинирахме малък език за описание на дискусията в един форум, който си има
    свои правила и формализми.Ако сложим един елемент reply като елемент-дете на forum,
    това би било грешка, тъй като не може да има отговор
    на тема без тема, нали? Вижте този пример :

    
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!—- This document describes some topics in a forum -->
    <forum>
    <topic user = “Milen” title = “ XML books”>
    <body> I search good XML books. Please, help</body>
    <reply user = “Niki” title = “”>
    <body> I have one. Write me a PM ! </body>
    </reply>
    </topic>
    <topic user = “Pesho” title = “HTML vs XML “>
    <body> What’s the difference anyway?</body>
    <reply user = “Ian” title = “”>
    <body> Read my article in the “Articles” section!</body>
    <reply>
    </topic>
    <reply user = “Ian” title = “error”>
    <body> Wow, that’s an error!</body>
    </reply>
    </forum>