XML

XML (eXtensible Markup Language — расширяемый язык разметки) — это язык программирования для создания логической структуры данных, их хранения и передачи в виде, удобном и для компьютера, и для человека. Отличается простотой синтаксиса и универсальностью. XML позволяет описывать документы с помощью тегов, которые можно задавать самостоятельно.

Где применяется XML

XML используется везде, где требуется выделить логическое содержимое документа для обработки. Формат рекомендован Консорциумом Всемирной паутины (W3C), поэтому применяется в API, когда ответ от сервера поступает в виде XML-файлов.

XML позволяет:

  • записывать иерархию — «один подчиняется другому»;
  • размечать текст по смыслу от важного к второстепенному;
  • хранить типовые данные — скрипты, настройки программ, названия чего-либо;
  • размечать текст для машинного обучения;
  • хранить результаты работы текстовых редакторов.

Иерархии с данными XML могут использоваться в разных языках программирования:

  • XHTML — при отображении страниц в интернете;
  • OWL и RDF — при описании структуры и ресурсов каталогов;
  • SVG — при описании изображений в векторном формате;
  • WSDL — при обращении к удаленным веб-сервисам и программам;
  • XAML — при описании интерфейса приложений.

Структура XML

У XML-файлов древовидная структура. Это значит, что в них используется набор тегов, внутри которых могут находиться другие теги со своими значениями. Самый верхнеуровневый узел называется корнем, а все, что находится внизу, — листьями. Теги заключены в скобки <>.

Пример:

<?xml version="1.0" encoding="UTF-8"?>
<claim>
	<from>ООО Ромашка</from>
	<title>Справка</title>
	<body>Прошу предоставить справку...</body>
</claim>
<claim>
	<text>Прислали некачественный товар</text>
	<author>XXX@mail.ru</author>
</claim>

XML-документ создается по правилам.

  • В нем может быть элемент «пролог». Если он есть, то находится в начале документа. В примере: <?xml version=»1.0″ encoding=»UTF-8″?>. Это означает, что используется XML версии 1.0 и кодировка UTF-8. Может быть полезно, если в файле есть текст на разных языках.
  • Документ обязательно должен иметь корневой элемент. Его еще называют «root». В примере: <claim>.
  • У всех элементов должны быть закрывающие теги. У них есть дополнительный символ — /. В примере: </claim>, </from>, </title>, </body>.
  • Все теги являются регистро-чувствительными. Это значит, что если, например, тег <claim> закрыт </Claim>, документ будет оформлен некорректно.
  • Значения атрибутов должны быть заключены в кавычки. Атрибут — характеристика тега. Любые теги могут иметь атрибуты. В «прологе» это version и encoding, а «1.0» и «UTF-8» — значения.
  • Вложенность тегов контролируется, поэтому важно следить за порядком открывающих и закрывающих тегов.
  • В XML-коде учитываются все символы форматирования, включая переводы строк, пробелы, табуляцию.

Что такое пространство имен XML

Иногда в коде могут использоваться одинаковые по написанию объекты. Например, Claim — и жалоба, и обращение. Необходимо рассказать системе, какие правила обработки применить к первому, а какие — ко второму объекту.

<?xml version="1.0" encoding="UTF-8"?>
<claim>
	<from>ООО Ромашка</from>
	<title>Справка</title>
	<body>Прошу предоставить справку...</body>
</claim>
<claim>
	<text> Прислали некачественный товар </text>
	<author> XXX@mail.ru </author>
</claim>

Для этого используется пространство имен — метод избежания конфликтов наименования элементов. Оно задается в виде атрибутов к тегу. Например, у нас есть корневой элемент root, который имеет два атрибута.

В первом случае мы указываем системе, что xmlns:rst=»http://www.example.org/request» — это обращения, а xmlns:clm=»http://www.example.org/claim» — жалобы, и добавляем префиксы в соответствующие части кода. Так система-обработчик сможет выдать корректный результат.

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:rst="http://www.example.org/request"
      xmlns:clm="http://www.example.org/claim"> 
<rst:claim>
	<from>ООО Ромашка</from>
        <title>Справка</title>
        <body>Прошу предоставить справку...</body>
</rst:claim>

<clm:claim>
        <text> Прислали некачественный товар </text>
        <author> XXX@mail.ru </author>
</clm:claim>
</root>

Чем XML отличается от HTML

XML и HTML — это два взаимодополняющих друг друга языка, которые различаются назначением. Первый предназначен для хранения и передачи данных, а второй — для их отображения.

Теги HTML предопределены. Современные браузеры знают о них и могут соответствующим образом отобразить информацию, заключенную в тегах HTML. Теги XML не предопределены, они задаются разработчиком, браузеры о них не знают.

Документ XML легко преобразуется в формат HTML. Когда данные с сервера передаются в браузер, процесс выполняется автоматически. Для ручной конвертации нужно использовать инструменты, например Fconvert, Aconvert, BeautifyConverter.

Узнать больше о том, что такое HTML, можно в этой статье.

Особенности XML

  • Большинство приложений продолжают работать, даже если добавить или удалить часть данных. Поэтому XML и переводится как «расширяемый язык разметки». Он хорошо приспособлен для создания новых версий файлов и объектов.
  • Данные хранятся в виде текста, что позволяет им быть программно- и машинно-независимыми.
  • Язык понятен и людям, и машинам. Главное преимущество — читаемость. Например, для обозначения выделения текста жирным в xml достаточно написать <Жирный></Жирный>, а синтаксис HTML будет выглядеть так: <b></b>.
  • Размер XML-документа больше бинарного представления тех же самых данных.
  • Большинство задач можно решить с помощью простых и производительных решений, все возможности синтаксиса XML требуются редко.
  • Большая гибкость и отсутствие жестких ограничений позволяют одной и той же структуре быть представленной множеством различных способов.

Как отобразить код XML

Текстовый документ с расширением .xml можно открыть с помощью следующих инструментов:

  • Microsoft Excel;
  • Microsoft Word;
  • блокнота Windows;
  • любого интернет-браузера;
  • редакторов XML (например, XML Editor, Code Beautify).

Основные стандарты XML

Стандарты XML — это расширения, дающие дополнительные возможности при работе с XML-файлами. Вот некоторые из них:

  • XPath — для навигации по документам XML;
  • XSLT — для преобразования XML-документов в другие форматы (например, в HTML);
  • XQuery — для обработки данных в XML-формате и др.;
  • AJAX — для изменения содержимого веб-страницы без ее перезагрузки;
  • XML DOM — для получения, изменения, добавления или удаления отдельных элементов из XML-файла;
  • DTD — для определения списка разрешенных элементов для сущности в XML-файле.

Важно помнить, что XML-документ — это просто информация, заключенная в теги. Поэтому пользователь должен написать программу обработки XML-документов — их отправки, получения, хранения и отображения. 

Другие термины на букву «X»

XAMPP
XCode
XSS

Все термины

Освойте новую профессию

(рейтинг: 5, голосов: 5)
Добавить комментарий