XML
XML (англ. eXtensible Markup Language — расширяемый язык разметки) — рекомендованный W3C язык разметки, фактически представляющий собой свод общих синтаксических правил. XML предназначен для хранения и передачи структурированных данных, для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML).
Целью создания XML было обеспечение совместимости при передаче структурированных данных между разными системами обработки информации, особенно при передаче таких данных через Интернет. Словари, основанные на XML (например, RSS, XHTML, SVG), сами по себе формально описаны, что позволяет программно изменять и проверять документы на основе этих словарей, не зная их семантики, то есть не зная смыслового значения элементов. Важной особенностью XML также является применение так называемых пространств имён (англ. namespace).
Ниже приведён пример объекта, описанного с помощью XML:
<?xml version="1.0" encoding="UTF-8"?>
<contract title="N0001" mode="1" comment="Договор">
<params>
<address city="Уфа" street="Ленина" house="34"/>
<phone number="000-00-00"/>
</params>
<payments>
<payment id="2156" sum="1000.00" time="20.06.2007 18:35:12" comment="Платеж за услугу"/>
<payment id="3205" sum="1500.00" time="28.06.2007 15:40:35" comment=""/>
</payments>
<charges>
<charge id="6023" sum="865.32" time="25.06.2007 12:10:54"/>
</charges>
А эта строка тоже ветка XML
</contract>
Первая строка XML-документа называется объявлением XML (англ. XML declaration) — это строка, указывающая версию стандарта XML (обычно это 1.0), здесь указывается кодировка символов, в которой представлены данные, также могут быть указаны внешние зависимости. Остальная часть этого XML-документа состоит из иерархии элементов (element). Элемент - это ветка (node) заключенная в <>. Имя элемента (слово после <) должно начинаться с буквы и может состоять из букв и цифр. Параметры имя="значение" это атрибуты (attribute) элемента; в элементе не может быть двух атрибутов с одинаковыми именами. Элемент может содержать вложенные ветки и должен иметь закрывающий тег - <element></element>, в случае если элемент не содержит вложенных веток он может быть представлен так: <element/> В XML-документе должен присутсвовать один главный элемент (document element) содержащий в себе все остальные ветки, т.е. этот документ описан неверно:
<?xml version="1.0" encoding="UTF-8"?>
<contract title="N0001"/>
<contract title="N0002"/>
Правильно так:
<?xml version="1.0" encoding="UTF-8"?>
<contracts>
<contract title="N0001"/>
<contract title="N0002"/>
</contracts>
В XML некоторые символы не могут быть переданы в значениях, например, > ", так как тогда парсинг XML документа стал бы в одних случаях затруднен, а в более сложных - невозможен. Такие символы ескейпируются (escape), т.е заменяются на специальную последовательность, например < в <.
Для проверки (валидации) любого XML (XSLT в т.ч.) документа вы можете воспользоваться любым современным браузером. Например, Mozilla Firefox, Microsoft IE. Просто откройте документ и браузер автоматически проверит его на соответсвтие стандарту XML.
XML документы используются в биллинге для обмена данными между клиентским и серверным приложением. Для генерации всех форм (HTML страницы статистики, печатные формы счетов) используется язык XSLT - подмножество XML.