Что такое XML
В статье мы расскажем о языке XML и о документах в этом формате.
Что такое XML
XML (eXtensible Markup Language или расширяемый язык разметки) — это метаязык, с помощью которого можно задать разметку документа. Также XML позволяет описать другие языки, которые используются при разметке документов.
Существует две версии появления языка XML.
Версия 1: XML — это “предок” языка HTML
Согласно этой теории, XML — родительский язык по отношению к HTML.
Из-за строгости первоначальной версии HTML разработчики не могли описывать специфические данные. Поэтому возникла потребность в более гибком языке разметки. Этим вопросом занялось сообщество W3C: так появился язык XML.
С течением времени менялся и HTML — создатели дорабатывали его с учётом гибкости XML. В результате получилось, что XML стал основой для HTML нового поколения.
XML файл: что это
Версия 2: XML — это результат развития HTML
Сторонники этой версии считают, что в XML содержится регулярная информация, которая лежит в основе HTML-разметки.
При работе в HTML существуют данные, которые используются постоянно. Постоянство ряда элементов не учитывалось в ранних версиях языка. Из-за этого сообщения от сервера получались слишком громоздкими: их расшифровка со стороны клиента занимала много времени.
Чтобы упростить сообщения, разработчики получили от W3C возможность “распаковать” HTML-документ и вычленить из него постоянные данные. В результате получилось три объекта данных:
-
таблицы стилей CSS,
-
таблицы разметки XSL,
-
XML-документы — данные в чистом виде.
Как устроен XML файл
Также XML встречается при тестировании API. Преимущественно он используется в SOAP-запросах, но иногда встречается в запросах формата REST.
Зачем нужен XML
XML обладает несколькими полезными особенностями:
- Доступность — документ в этом формате может прочитать не только электронное устройство (например, компьютер или смартфон), но и человек. XML-файл можно читать и свободно менять содержимое в стандартных текстовых редакторах.
- Универсальность — можно выстроить структуру и работать с данными по этой логике.
- Совместимость. Так как XML хранит данные в текстовом формате, передавать их можно без дополнительной конвертации. Кроме того, допускается вариант, при котором разметка и генерация данных происходит в одной системе, а обработка — в другой. Всё это не привязано к платформе и операционной системе клиента.
На первый взгляд, XML может казаться похожим на HTML. Однако этот расширяемый язык разметки имеет принципиальные отличия:
- несмотря на то, что XML — самостоятельный язык, данные можно заключать в HTML-теги.
- расширяемость этого языка позволяет создавать любые теги. Эти теги могут включать в себя описание данных и их структуры.
Где используется XML
На XML нельзя написать исполняемый код — этот язык предназначен только для разметки и описания данных. После разметки структуры и описания информации, нужно включить в файл программный код. Например, для этого могут подойти языки Java, JavaScript и JScript.
XML-формат подходит для описания следующих типов данных:
-
структурированных (табличных) — в их число входят реляционные данные из БД и крупноформатных таблиц.
-
псевдоструктурированных — данных с веб-страниц и деловых документов.
Также язык XML используют для работы с файлами других форматов:
-
XHTML, который сочетает в себе сильные стороны XML и HTML. Он подходит для отображения страниц в интернете;
-
SVG — формат векторной графики. XML используется в нём для описания графических объектов;
-
RDF — среда описания знаний, которая использует тройки значений “подлежащее-сказуемое-объект”. XML задействован для представления данных;
-
WSDL — это язык описания веб-сервисов. Часть, основанная на XML, определяет вид отправляемых и получаемых сообщений от сервиса;
-
OWL — это язык представления знаний, который способен структурировать большие массивы разных типов данных;
-
XAML — это расширяемый язык разметки для описания приложений.
Помимо этого, XML используется в пакете Microsoft Office: например, в MS Office или MS Office Word Excel.
Из чего состоит XML
Структура любого документа XML подчиняется специальному набору правил. Этот стандарт называется XML Infoset (Extensible Markup Language Information Set). Согласно нему, документ в формате XML выглядит как набор обязательных атрибутов и тегов, инструкций обработки данных, пространств имен, комментариев, ссылок и т.д.
Обязательные теги выставляются парами:
<tag_name>
element
</tag_name>
Где:
-
<tag_name> — открывающий тег. Он ставится перед элементом, который нужно разместить;
-
element — сам элемент;
-
</tag_name> — закрывающий тег, которая ставится после элемента.
Также в них можно добавлять дополнительные парные теги. Например:
<tag_name>
<additional_tag_name>
element
</additional_tag_name>
</tag_name>
Это называется вложенностью второго уровня. Возможны вложенности третьего и последующих уровней — так формируется дерево тегов.
Для каждого из тегов можно добавить атрибуты — дополнительное описание. В примере мы добавили к тегу STUDENT (ученик) атрибуты CLASS (класс), TEACHER (учитель) и MARK (оценка):
<xsd:element name="STUDENT">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="CLASS" type="xsd:string"/>
<xsd:element name="TEACHER" type="xsd:string"/>
<xsd:element name="MARK" type="xsd:positiveInteger"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
По этому алгоритму можно добавить необходимую информацию, которая конкретизирует данные.
Часто в первую строку файла добавляется prolog — непарный тег с кодировкой и версии протокола XML:
<?xml version="3.0" encoding="UTF-8"?>
Полезная особенность XML — это возможность создания новой версии сайта на основе старой. Предположим, на вашем сайте продавалась женская одежда. Затем ассортимент пополнился мужской. Чтобы отразить этот факт на странице, достаточно добавить элемент owner (владелец):
<data>
<owner first="WOMEN" last="CLOTHES">
</owner>
<name="MEN" last="CLOTHES"/>
</data>
Благодаря пространствам имен и префиксам, один и тот же элемент можно использовать для разных задач. Примерный синтаксис:
xmlns:<name>=<uri>
Где:
-
name — название элемента,
-
uri — URL, который задает пространство имен.
Как это выглядит на примере базы знаний 2DOMAINS:
<reference: knowledge base xmlns:faq="https://2domains.ru/support">
<support: knowledge base xmlns:support="https://2domains.ru/contact">
</knowledge base>
Где:
-
knowledge base — имя общего элемента,
-
faq и support — варианты использования элемента.
Как открыть файл XML
Часто шаблоны документов в формате XML можно встретить на государственных ресурсах: например, на сайте ФНС или на Госуслугах. Однако не всегда понятно, как открыть файл и прочитать содержимое.
Как просмотреть файл XML? Это зависит от действия, которое вам нужно выполнить:
-
Просмотреть содержимое документации. Самый простой способ ознакомиться с текстом документа — открыть его в браузере. Для этого кликните по файлу правой кнопкой мыши, выберите Открыть с помощью и выберите удобный для вас браузер.
-
Открыть таблицу. Для этого подходит программа Microsoft Excel из пакета MS Office. Откройте программу, нажмите сочетание клавиш Ctrl + O и укажите путь к XML-файлу. Также в окно открытой программы можно перетащить файл, зажав его левой кнопкой мыши.
-
Открыть текстовый документ. Для работы с текстовым документом используйте Microsoft Office Word или стандартный редактор “Блокнот” в Windows.
-
Конвертировать документ. Загрузите документ на специальный онлайн-конвертер. Для этого можно использовать сайт codebeautify.org.