Облегчение визуализации структуры документа XML
Для облегчения визуализации структуры документа XML рекомендуется использовать разрывы строк и отступы, хотя при синтаксическом разборе они не играют никакой роли, и весь документ интерпретируется в виде одной строки (будто разрывов строк и отступов в документе никогда и не было), например: Эта форма подобна результатам запроса, выполненного к нескольким таблицам базы данных, объединенных отношениями “один ко многим”. Мы видим одну запись из таблицы Book, содержащей столбцы name, publisher и price и несколько связанных с ней записей из таблицы Authors. Структура XML имеет иерархический вид, что в большинстве случаев подобно структуре реляционной базы данных. Документ XML является деревом. В приведенном примере родительским узлом является <book>, его дочерними элементами Обратите внимание: так как у книги два автора, их имена невозможно поместить в атрибуты элемента без нарушения некоторых правил — в пределах элемента атрибуты должны иметь уникальные имена.
Средства синтаксического разбора документов XML принимают только корректно сформированные документы. Такой документ должен удовлетворять некоторым правилам, таким как наличие единственного корневого элемента, присутствие у каждого открывающего дескриптора замыкающего тега, обязательное заключение всех значений атрибутов в двойные кавычки и т. п. Однако на самом деле основным назначением XML является определение структуры, и даже корректно сформированный документ в результате ошибки может содержать дефектную структуру. Приведем пример. Средства синтаксического разбора не заметят некорректное местонахождение элемента <book> — как дочернего элемента <authors>, поскольку открывающий и закрывающий дескрипторы не нарушают никаких правил семантики. Для защиты от подобных искажений средства проверки должны быть вооружены знаниями правил легитимности структуры. Двумя способами определения структуры документа XML являются файлы DTD и XSD.