Какво е XML и за какво се използва

Искаш да навлезеш в чудесния, привличаш и развиващ мисленето свят на кодирането и на Уеб дизайна. Виж една малка стъпка в тази посока.

Тук си, защото ти е изникнал въпросът какво представлява файл във формат .XML и за какво се използва? В тази публикация ще разкажа въобще какво е XML и за какво се използва в компютърните науки.

Какво е XML и за какво се използва
Какво е XML и за какво се използва?

Какво е XML?

XML (Extensible Markup Language) преведено от английски е разширяем език за маркиране, подобен на HTML, но без предварително дефинирани тагове за използване. Използва се за съхранение и прехвърляне на данни. Той е един от двата основни формата за трансфер на данни:

  • XML – използва се в SOAP (винаги) и REST заявки (по-рядко) ;
  • JSON – използва се в REST заявки.

Форматът XML се препоръчва от World Wide Web Consortium (W3C), така че често се използва за прехвърляне на данни чрез API. В SOAP API това обикновено е единственият възможен формат за входни и изходни данни.

XML дефинира набор от правила за кодиране на документи във формат, който е четим от човек и машина. Това е текстов формат на данни със силна поддръжка чрез Unicode за различни човешки езици. Въпреки че дизайнът на XML се фокусира върху документи, езикът е широко използван за представяне на произволни структури от данни, като тези, използвани в уеб услугите.

Примери на език XML

Пример 1:

Пример 1 на XML
Пример 1 на XML – съобщение

Пример 2:

Описана книга в XML
Пример 2 на XML – oписана книга

Пример 3:

Категории в блог, описани с XML
Пример 3 – категории в блог, описани с XML

Пример 4:

Магазин за коли в XML-
Пример 4 – магазин за коли в XML

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

Важно е да се разбере, че XML не е изпълним код, а език за описание на данни. След като си описал данните с помощта на XML, трябва да напишеш код (например в Java), който може да изпраща / получава / обработва тези данни.

Още нещо се забелязва – подобието на XML с HTML. Нека да видим приликите и разликите между двата езика. (Разликите са много повече.)

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

Приликите между двата езика са предимно само външни. И в двата езика има нужда от отварящ и затварящ таг (с някои изключения). В HTML някои отворени тагове също могат да работят. XML таговете трябва да бъдат затворени.

XML и HTML са проектирани с различни цели – HTML е език за маркиране на хипертекст, докато XML е език, който позволява представянето на всякакъв вид структурирани данни.

XML е проектиран да пренася данни – и обръща внимание на това, какво представляват данните. Този формат не съдържа инструкции, как трябва да се показват тези данни: зависи от кода на самата програма.

HTML е проектиран да показва данни – и обръща внимание на това, как изглеждат данните. Изполва се за маркиране на уеб страници. Например, ако трябва да създадеш уебсайт, можеш да използваш HTML, за да посочиш: „Менюто трябва да е в горния десен ъгъл. Трябва да има такива бутони.“

Разлика има и в таговете, макар, че на пръв поглед изглеждат представени по еднакъв начин. Докато при HTML те са строго дефинирани – работи с предварително дефинирани тагове като p, h1, div и т.н. – то XML таговете не са предварително дефинирани.

В XML всеки си дефинира свои собствени тагове, създадени специално за собствените нужди. По този начин данните се представят във формат, който може да се съхранява, търси и споделя. Основният формат на XML обаче е стандартизиран. Това означава, че ако споделяш или предаваш XML между системи или платформи, локално или през интернет, получателят може да анализира данните поради стандартизирания XML синтаксис.

Като разгледаш таговете на XML по-горе в примерите, ще забележиш, че те са измислени. Не са дефинирани по някакъв стандарт. Авторът си съставя структурата на документа и поставя свои тагове, които обаче са длъжни да спазват синтаксиса на XML.

Докато в HTML има синтаксис и семантика, то в XML има само синтаксис, няма семантика, докато не я създадеш сам. HTML е предварително зададен с помощта на таговете head и body.

И още някои важни разлики:

  • HTML не е чувствителен на регистъра.
  • За разлика от това, XML е чувствителен на регистъра.
  • В HTML някои малки грешки могат да бъдат игнорирани.
  • XML не допуска грешки в кода. В него синтаксисът е много важен.

Виж още: Пищови по HTML, CSS, JavaScript

Защо е нужно на разработчиците на софтуер да изучават XML? За какво се използва XML?

XML играе важна роля в много различни IT системи. Той често се използва за разпространение на данни през Интернет.

XML позволява създаването на интерактивни страници, позволява на клиента да персонализира тези страници и прави създаването на приложения за електронна търговия по-интуитивно. С XML се съхраняват данните, след което се изобразява това съдържание, въз основа на обработка на стилови листове, с помощта на процесор за разширяем стилов език – Extensible Style Language (XSL)/XSL Transformation (XSLT) processor.

Търсене в мрежата и автоматизиране на уеб задачи: XML дефинира типа информация, съдържаща се в документ, което улеснява връщането на полезни резултати при търсене в мрежата.

XML предоставя стандартен метод за достъп до информация, което улеснява приложенията и устройствата от всякакъв вид да използват, съхраняват, предават и показват данни.

Приложения за е-бизнес: XML реализациите правят електронния обмен на данни (EDI) по-достъпен за обмен на информация, транзакции между бизнес и транзакции между бизнес и потребител.

Приложения за метаданни: XML улеснява изразяването на метаданни в преносим формат за многократна употреба.

Pervasive Computing: XML предоставя преносими и структурирани типове информация за показване на широко разпространени (безжични) изчислителни устройства като лични цифрови асистенти (PDA), клетъчни телефони и други. 

XML често е допълнение към HTML.

Правила на синтаксиса на XML

Разглеждайки примерите по-горе, да кажем следните неща:

1.Този ред се нарича XML пролог:

<?xml version="1.0" encoding="UTF-8"?>

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

XML документите могат да съдържат международни знаци и букви на различни езици. За да се избегнат грешки, трябва да се посочва използваното кодиране или да се записват XML файловете като UTF-8.

UTF-8 е стандартното кодиране на знаци за XML документи. UTF-8 също е кодирането по подразбиране за HTML5, CSS, JavaScript, PHP и SQL.

2.XML документите трябва да имат основен (root) елемент, който е родител на всички останали елементи.

В горните примери това са:

  • Пример 1:  <message></message>;
  • Пример 2:   <book></book>;
  • Пример 3:   <home></home>;
  • Пример 4:   <carstore></carstore>.

3.В XML всеки елемент трябва да бъде затворен в тагове. Тагът (етикетът) е текст, затворен в ъглови скоби.

<tag>

4.Всички XML елементи трябва да имат затварящ таг. В XML е недопустимо пропускането на затварящия таг. Затварящият таг е със същия текст (това е важно!), но е добавен символът „/“:

</tag>

5.XML етикетите са чувствителни към малки и големи букви. Тагът <Tag> е различен от тага <tag>.

Отварящите и затварящите тагове трябва да се изписват в един и същ регистър:

<tag>Така е правилно.</tag>.

6.В XML всички елементи трябва да бъдат правилно вложени един в друг.

Структурата на един XML е от този вид:

<root>

   <child>
     <subchild>.....</subchild>
   </child>

   <child>
     <subchild>.....</subchild>
   </child>

...
</root>

7.XML елементите могат да имат атрибути име / стойност, точно както в HTML.

Стойностите на XML атрибути трябва винаги да бъдат поставени в кавички. Дори ако атрибут се третира като число, той трябва да бъде в кавички.

8.Стойност на елемента

Стойността на елемента се съхранява между отварящия и затварящия тагове. Може да бъде число, низ или дори вложени тагове.

9.XML правила за имена на елементите

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

10.Entity reference

Някои знаци имат специално значение в XML.

Ако поставиш знак, като ‘<‘ вътре в XML елемент, той ще генерира грешка, тъй като анализаторът го интерпретира като начало на нов елемент.

Това ще генерира XML грешка:

Грешки в XML
Грешки в XML – Entity reference

За да се избегне тази грешка, се заменя знака ‘< ‘ с препратка към entity: &lt; .

<number>4&lt;7</number>

Ето 5 предварително дефинирани entity reference:

&lt;<по-малко от
&gt;>по-голямо от
&amp;&амперсанд
&apos;апостроф
&quot;кавички
Виж още възможности тук.

11.Коментари в XML
Синтаксисът за писане на коментари в XML е подобен на този в HTML:

<!-- This is a comment -->

Важно: Използвай онлайн инструменти, които помагат за валидиране, преглед и анализ на XML данни. Препоръчвам XML Validator или jsonformatter за валидиране на XML.

Заключение

Тази статия е много малко въведение в XML, с малко примери и връзки, които да ти помогнат да започнеш с езика. За да научиш повече за XML, ще трябва да потърсиш информация и по-информативни статии в интернет.

Препоръчително е първо да се научи HTML (HyperText Markup Language). Познаването на HTML ще ти помогне да разбереш по-добре XML.

Полезни връзки:

XML.com

w3schools

Extensible Markup Language (XML) @ W3.org

Ако ви е харесала публикацията, споделете я:

Оставете коментар

Вашият имейл адрес няма да бъде публикуван.

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните ви за коментари.