XML - расширяемый и универсальный формат данных

XML, «eXtended Markup Language» - преемник SGML, как и HTML, но более общий, он включает данные в имена самих тегов и, следовательно, имеет неограниченные описательные возможности.
Формат отображения является независимым и зависит от связанной структуры, XSLT. Теги создаются и проверяются по правилам, заданным DTD (Data type dictionary), описывающим грамматику (tags), или Schema, другим инструментом проверки, написанным сам на XML.

XML, как и HTML, обрабатывается многими языками программирования, и особенно JavaScript, через интерфейс DOM (Model Object Document). Документ полностью загружен в память, а его структура хранится для доступа к любому тегу или набору тегов с помощью внутренних процедур поиска.
Для документов большего размера вместо этого используется режим SAX, и в этом случае XML-код в файле по строкам и каждый тег обрабатывается после загрузки в память.

Accès au contenu d'un document XML

XML характеризуется значительными тегами, созданными по данным документа. Роль тегов зависит от их содержания и инструмента, который сопоставляет XML-документ. Название тегов выбирается для удобочитаемости документа, их роль полностью зависит от инструментов, которые будут к нему обращаться.

Пример кода, сохранить счет-фактуру в XML:

<?xml version="1.0" ?>
<!- facture de  Corp. ->
<facture>
  <commande>000156</order> 
    <date timezone="Greenwhich">
         Jan 1, 2003 14:30:00                
    </date>
    <addresse> 
        <nom>Sherlock</nom>                
        <prenom>Holmes</prenom>                
       <rue>5 Baker St.</rue>
         <ville>London</ville>
         <pays>England</pays>
         <code>75004</code>
     </addresse>
     <montant> 270 </montant>
   </commande>
 </facture>

Необходим связанный документ представления и проверки достоверности. Браузеры распознают несколько доктипов, которые описывают одну версию кода XHTML или HTML, и умеют обрабатывать язык презентации CSS для каждой версии.

За пределами текстового документа

XML - это никогда не просто семантика, язык с элементарным синтаксисом, который инструмент умеет «говорить», то есть превращать слова в действия. Он используется не только для содержания текста.

Начнем с просмотра нескольких приложений из языка SVG. Они удивительны, делают векторную графику, которую можно даже оживить. Однако SVG - это не что иное, как подмножество XML, с которым мы связываем API. Теги становятся прямоугольниками или различными фигурами, а их атрибуты изменяются для получения анимации. SVG - это язык, понятный браузеру (или средству рендеринга SVG) для представления изображений с переменным размером.

Другой пример - формат RSS. После назначения роли каждому тегу список ссылок и описаний становится журналом для прессы.

В диалекте XHTML каждый тег имеет роль форматирования. Это подмножество XML, семантически эквивалентное HTML, которое указывает браузерам, как представить свой мультимедийный контент.

XML или JSON

?

Веб-страницы можно было бы также выразить в JSON-файлах, что уменьшило бы размер файлов, но, вероятно, замедлило разработку веб-страниц, так как HTML-код остается значительно более доступным для непрограммистов.

Для приложения выбор формата раскрывается в статье JSON или XML, какой формат выбрать? Но действительно ли нужно выбирать? Это два способа представления одного и того же: структурированное содержание и преобразование одного формата в другой не сложно. На самом деле, после того, как содержимое загружено в память и переведено в объекты и атрибуты, сериализация его в виде XML-файла или JSON - это просто вопрос личного удобства.
Поэтому главная цель статьи - решить, когда тот или иной формат лучше подходит для хранения данных, в зависимости от языка или системы, в которой они используются.

Инструменты XML

Либо для доступа к содержащимся данным, либо для редактирования документа, либо для преобразования его в другой формат можно использовать несколько классов инструментов.

Парсеры

Есть два типа парсеров. Древовидный парсер загружает XML-документ полностью в память, и к содержимому можно получить доступ с помощью Document Object Model, в частности с помощью таких инструкций, как getElementsByTagName.
В отличие от этого, в соответствии с SAX API, подстановщик событий постепенно загружает содержимое и сохраняет либо все данные, либо те, которые запрашиваются.

В среде JavaScript + Node + HTML не требуется анализатор XML. Это встроено в браузер. Поэтому такие парсеры полезны только для языков C++, Java или других.

Если ты только хочешь проверить, правильно ли сформирован XML-код, загрузи здесь XCheck для Windows.

XQuery

XQuery - язык запросов к базе данных XML, будь то файл или база данных с древовидной структурой, схожей с XML, как XIndice от Apache.
Таким образом, он позволяет создать базу данных XML и использовать ее. Загрузите реализацию GNU.

XSLT

Язык XSL состоит из правил преобразования. XSLT преобразует XML-документ в другой формат, например HTML, и может использоваться для доступа к данным. Xalan, преобразует XML-документ в HTML. Существует в версии Java и C++.

Издатели

Доктор наук. Упрощенный редактор для XML и DocBook 5, который представляет код без скобок. Несколько схем. С открытым исходным кодом на GitHub .

Виртуальная машина

Xmlvm - своего рода байтекод в XML. Его можно скомпилировать в Objective C, JavaScript, bytecode Java.