Определение - это DTD или XML-схема, которые содержат описание структуры документа, то есть, описание всех элементов с их атрибутами, типами данных, связями и уровнями вложенности.
XML-схема описывает XML-документ с помощью подмножеств языка XML – Schema definition (XSD) или XML-Data Reduced (XDR).
Тело XML-документа. В XML-документе обязательно должен быть один элемент, который содержит в себе все остальные и выступает в роли главного заголовка документа. Этот элемент документа (document element) называется корневым (root element), все остальные элементы являются его непосредственными потомками или потомками других его потомков.
Элемент представляет собой логические скобки, в которых помещается информация, выделенная из общего контента документа.
Элементы оформляются тегами. Разработчик сам определяет названия тегов (элементов) и, если необходимо, правила их интерпретации, которые отделены от XML-кода документа и образуют XSLT-сценарий.
Каждый элемент имеет собственное имя, которое может содержать буквы, цифры, дефисы, символы подчеркивания.
Существенными отличиями синтаксиса XML от HTML являются:
- в XML существует различие между строчными и заглавными буквами, элементы с именами first, First и FIRST - это совершенно разные элементы;
- в XML элементы должны или не пересекаться, или быть полностью вложенными, частичная вложенность не допускается, поэтому являются ошибочными конструкции типа:
- в XML открывающему тегу обязательно должен соответствовать закрывающий.
Элемент начинается начальным (открывающим) тегом и завершается закрывающим тегом, между ними может находиться текстовое значение элемента и другие элементы.
В открывающем теге, помимо имени элемента, могут находиться атрибуты элемента. Атрибуты представляют собой дополнительную информацию, которая может описывать элемент:
100000 Элемент salary (зарплата) имеет значение 100000, а атрибуты указывают, что выражена эта цифра в тенге и относится к 2011 году.
Элемент может быть пустым и не содержать ни значения, ни атрибутов. В этом случае допустима краткая форма его записи, в которой отсутствует закрывающий тег, два элемента и < /dummy> эквивалентны.
В зависимости от местоположения элемента в дереве, каждый из них имеет собственную характеристику, определяющую его «родственное» отношение к другим элементам.
Эти отношения строятся в соответствии со строгой иерархичностью древовидной модели документа.
Определены шесть типов родственных отношений между элементами:
- self – в этом родственном отношении элемент находится по отношению к самому себе;
- child – непосредственный потомок;
- parent – непосредственный предок;
- sibling – соседний элемент;
- ancestor – предок, но не обязательно непосредственный;
- descendant – потомок, но не обязательно непосредственный.
Приведенные типы родственных отношений между элементами используются в конструкциях языка адресации XPath.
Согласно спецификации XML, выделяются два типа XML-документов: