С появлением World Wide Web (всемирной паутины интернет) возникла необходимость в создании языков разметки. Для описания разных типов интернет-документов были созданы разные языки. Один из них — XML. В статье мы рассмотрим, что это за язык, в каких случаях используется формат XML и в чём его преимущество, а также разберём, как устроен его синтаксис.
Что такое протокол XML
Если с английского расшифровать аббревиатуру XML, то получится «eXtensible Markup Language» — расширяемый язык разметки. Давайте рассмотрим это понятие. Язык разметки — это набор символов, который используют, чтобы обозначить, какую структуру должен иметь текст и как именно отображаться на странице сайта.
Лучше понять, что такое разметка, поможет один из популярных языков — HTML. Благодаря ему отображаются страницы многих сайтов. Чтобы увидеть разметку, правой кнопкой мыши кликните по странице в браузере и выберите Просмотреть код. Справа в окошке можно найти текст этой статьи, но с одним отличием — он будет иметь разметку. В начале, конце и середине текста вы сможете увидеть разнообразные элементы разметки (значения в угловых скобках — <'значение'>), которые называются тегами. О них мы подробнее расскажем позже, а пока ответим на вопрос «Зачем нужен XML?»
Язык XML — это метаязык, с помощью которого можно сделать не только саму разметку данных, но и описание всех её языков. С помощью XML разработчик может спроектировать собственную разметку, которая лучше всего будет подходить под текущий проект или задачу. Благодаря такому свойству этот язык называют расширяемым. Единственное условие — разработчик должен учитывать синтаксические правила языка, ведь XML имеет конкретную грамматику: словарь тегов и их атрибутов, а также набор правил.
XML — формат, ориентированный на текст. Он базируется на Unicode — стандарте кодирования символов, который включает в себя знаки почти всех письменных языков мира. Изначально этот формат придумали для более удобного хранения и передачи данных. Он имеет несколько основных преимуществ:
- доступность: этот формат могут прочитать как электронные устройства (компьютеры, телефоны и другие), так и человек — разработчик, программист и даже не специалист. Если нужно, XML-документы можно читать и менять с помощью стандартных инструментов редактирования текстов;
- совместимость: благодаря тому, что XML хранит все данные в текстовом формате, их удобно передавать — дополнительная конвертация не нужна. Также можно использовать одну систему для генерации данных и разметки, а затем обрабатывать эти данные в любых других системах вне зависимости от клиентской платформы или операционной системы;
- универсальность: с его помощью можно структурировать, трансформировать и запрашивать данные. Также XML можно читать не только в API (правилах взаимодействия одной компьютерной программы с другой), но и непосредственно в коде.
Важное преимущество приложений, в которые интегрирован XML, в том, что они устойчивы к редактированию: вносить изменения в готовую структуру гораздо проще и быстрее. Если в один элемент приложения (например,
Где используется XML
Важно понимать, что XML — это не исполняемый код, а язык описания данных. После описания данных с помощью XML, необходимо создать сам код (например, на Java), который сможет эти данные отправить/принять/обработать.
XML получил большую популярность потому, что сильно выигрывает у других форматов. Например, CSV (в одной строке таблицы одна строка текста, с одним или несколькими полями, разделенными запятыми) и RTF (межплатформенный формат хранения текстовых документов) подходят только для табличных данных и имеют очень узкую специализацию. XML-формат универсален и подходит для описания:
- структурированных (или табличных) данных — реляционных данных (набора данных с предопределенными связями, состоящего из столбцов и строк) из базы данных или крупноформатных таблиц. Также сюда относятся сетевые протоколы и файлы конфигурации;
- псевдоструктурированных данных — web-страниц и деловых документов.
Microsoft — наиболее яркий пример компании, которая активно использует возможности XML. Этот формат интегрирован в большую часть продуктов Microsoft (Office®, SQL Server™ и другие).
Как устроен XML файл
Чтобы объяснить, что из себя представляет XML, в пример мы приводили язык разметки HTML. Несмотря на то, что оба этих языка помогают корректно отображать данные, по сути, между ними мало общего. В обоих случаях для разметки структуры документов используются специальные метки — теги. Однако в формате HTML они определяют оформление данных — расположение заголовков и рисунков, начало абзацев и так далее, а в формате XML — задают структуру и описывают, чем являются данные. XML не включает указаний на то, как именно необходимо отображать данные: за это отвечает непосредственно код, на котором написана страница. По такому принципу XML-данные можно заключать даже в HTML-теги, чтобы указать, как они должны отображаться на сайте.
Из чего состоит XML
Структура любого XML-документа подчиняется набору определений и документации — Infoset. Каждый документ содержит обязательные элементы и атрибуты, инструкцию обработки, комментарии, ссылки, пространства имен и многое другое. Рассмотрим некоторые структурные элементы подробнее.
Как выглядит документ в формате XML? В первую очередь XML состоит из тегов. Теги в документах распознаются легко, поскольку заключены в угловые скобки. Они всегда расставляются парами:
<первый> — открывающий, ставится перед элементом, который необходимо разметить;
</второй> — закрывающий, ставится после элемента.
Они показывают, где начинается и где заканчивается описание каждого элемента в файле. Текст внутри угловых скобок — название тега, которое отвечает за то, к чему относится данный фрагмент. Например:
<message>
Hello World
</message>
Кроме этого, одни теги можно вкладывать в другие теги, например:
<message>
<warning>
Обратите внимание!
</warning>
</message>
Такое свойство называется вложенностью. При этом вложенные теги могут иметь свои вложенности. Все вместе они представляют дерево тегов.
Также для любого тега можно прописать атрибуты — дополнительную важную информацию. В примере ниже у тега <PLAYER> (игрок) есть атрибуты или характеристики — «TEAM» (команда), «TRAINER» (тренер) и «RESULT» (результат):
<xsd:element name="PLAYER">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="TEAM" type="xsd:string"/>
<xsd:element name="TRAINER" type="xsd:string"/>
<xsd:element name="RESULT" type="xsd:positiveInteger"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
По такому шаблону можно добавить нужную информацию, которая расширит или, наоборот, конкретизирует описание данных.
Иногда самой первой строкой в файл добавляют информацию о кодировке и версии XML. Она называется «prolog» и выглядит вот так:
<?xml version="3.0" encoding="UTF-8"?>
Одна из важных фишек XML — создание новой версии сайта на базе старой. Например, в первой версии в интернет-магазине была представлена только посуда, а теперь нужно, чтобы продавалась посуда и текстиль. Создавать вторую версию не придется — достаточно внести изменения, чтобы расширить текущую. При этом для версии с текстилем не нужно будет прописывать те же дочерние теги, что и для версии с текстилем. Достаточно добавить элемент <data>
<owner first="TEKSTIL" last="OPTOM">
</owner>
<name="POSUDA" last="OPTOM"/>
</data>
Еще одна из полезных возможностей формата — пространства имен и префиксы, которые позволяют использовать один и тот же элемент для разных задач. Например: xmlns:<name>=<«uri»>
где name — имя элемента, а uri — URL, который определяет пространство имен.
<reference: knowledge base xmlns:reference="https://help.reg.ru/support/domains/registratsiya-domena/kak-zaregistrirovat-domen"/>
<support: knowledge base xmlns:support="https://help.reg.ru/support/lichnyy-kabinet/registratsiya-i-kontaktnyye-dannyye/kak-svyazatsya-so-sluzhboy-podderzhki">
</knowledge base>
В нашем примере knowledge base (база знаний) — это общий элемент, а reference (справка) и support (поддержка, помощь) — варианты его использования.
Как открыть файл XML
Несмотря на то, что XML доступен для прочтения даже для обычного пользователя, иногда такие файлы бывает неудобно использовать. Документы в этом формате можно встретить на сайтах налоговых или на портале Госуслуг. Нередко в этом формате создают электронные таблицы.
Как просмотреть файл XML в таком случае? Можно использовать несколько способов — выбор будет зависеть от того, откуда вы скачали файл и к какому типу он относится:
- 1. Если нужно просмотреть содержимое, используйте браузер. Чтобы просто посмотреть документ, достаточно открыть его в браузере — это самый быстрый способ, который не требует установки дополнительных программ. Кликните по файлу правой кнопкой мыши, нажмите Открыть с помощью и выберите нужный браузер.
- 2. Если нужно открыть таблицу, лучше всего подойдет Excel: откройте программу, кликните CTRL+O, а затем укажите путь, по которому расположен файл на вашем компьютере. Или просто перетащите файл, зажав его левой кнопкой мыши.
- 3. Если нужно открыть текстовый документ, используйте Microsoft Word, Microsoft Office или стандартный блокнот Windows — выше в статье мы рассказывали, что продукты Microsoft поддерживают XML-формат.
- 4. Если нужно просмотреть содержимое документа онлайн, используйте специальные сервисы. Например, codebeautify.org или XMLGrid. С их помощью также можно перевести документ в другой формат, например, CSV или JSON.
Итак, теперь вы знаете про XML файл — что это такое, какие у него преимущества, что содержится в XML, а также для каких целей можно использовать этот формат.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊