Въведение в XML на български

Въведение в XML


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


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


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


Структурата на един XML документ

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


I search good XML books. Please, help

  What’s the difference anyway?

 

 

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

CODE 


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 различни неща.

 - Стойностите на атрибутите се записва винаги с кавички, даже и когато стойността е число :

CODE 


Hi

 

 

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

CODE 


     

     

 

 


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

XML – Разширяем език за маркировка

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


CODE 


  I search good XML books. Please, help

 

     I have one. Write me a PM ! 

 

What’s the difference anyway?

 

   Read my article in the “Articles” section!

 

 

 

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


CODE 


  I search good XML books. Please, help

 

     I have one. Write me a PM ! 

 

What’s the difference anyway?

 

   Read my article in the “Articles” section!

 

  Wow, that’s an error!

 

 

Горният документ няма да е грешен от гледна точка на XML стандарта. Той ще бъде един “ добре оформен документ”
( Well formed ). Но той ще нарушава конвенциите, които ние установихме относно отношенията между елементите forum,
topic и reply.Ето защо, възниква необходимостта от някакъв формален начин да се запишат правилата, по които може
да се формира някакъв определен тип XML файл, за да може след това автоматично да се проверява
валидността на даден XML документ.
Точно това е DTD (Document Type Definition), който ще разгледаме в следващия урок.


Задачи :
1. Разширете файла forum.xml, така , че да включва и отделни “Секции” , както е в истинските форуми.
2. Измислете XML файл, който да описва вашата музикална колекция от компакт дискове. Помислете
какви точно елементи (с техните атрибути) ще ви трябват, и какви ще са взаимоотношенията дете-родител между тях.

© Ян Лесневски, 2004.





{START_COUNTER}