Кроме того, поскольку любые данные в XML — это обычный текст, то и работать с ними можно как с текстом: готовить XML-документы в notepad, а в случае потери какой-либо части данных с остальными можно будет по-прежнему работать.
В отличие от HTML, набор средств разметки (тэгов) в XML не фиксирован, и может быть произвольным.
Разумеется, это должно как-то описываться. Поэтому в XML есть такое понятие, как «спецификация», DTD (Document Type Definition — описание типа документа) — документ, в котором описана структура XML-подмножества. В настоящее время на смену DTD пришла XML Schema.
Если возникнет необходимость, XML легко преобразовать в любой другой формат. Для этого существует XSLT — eXtensible Stylesheet Language Transformation — расширяемый язык стилей.
Вот, к примеру, реализация адресной книги на базе XML.
Василий
Иванович
Пупкин
пер. Кривоколенный, 5-15555-22-11
736-11-22
[email protected]
Кооператив
Рога и Копыта
ул. Малая Арнаутская, 12202-33-20
202-32-00
http://www.horn&hoof.ua
mail@horn&hoof.ua
Как видим, сам документ имеет древовидную структуру и состоит из вложенннных элементов.
Первая строка является признаком XML и содержится во всех документах.
Элемент — это данные, ограниченные парой тэгов. и .
Кроме данных, элементы могут содержать в себе атрибуты — например, у элемента phone есть атрибут type, который может принимать фиксированные значения «home», «work» и «mobile».
Вместо пары тэгов для обозначения границ элемента может использоваться один тэг вида , но тогда у такого элемента не может быть данных и вложенных элементов.
Стандарт XML предписывает, чтобы у «дерева» элементов был корневой элемент, который будет содержать внутри себя все остальные. Корневой элемент должен быть единственным, то есть XML-документ, где два и больше корневых элементов, — это документ, сформированный неправильно.
Как видим, все просто и понятно. Документ легко читается и редактируется, а при желании можно написать XSL, трансформирующий его в HTML или RTF.
Давая свободу, XML одновременно предъявляет к документу гораздо более жесткие требования, чем HTML. Одно из ключевых понятий XML — «валидный» документ. Все элементы документа должны быть правильно закрыты, а вложенность их соответстовать спецификации. Конструкции типа Text, которые легко «проглатывает» HTML, в XML считаются фатальной ошибкой.