Иногда легче понять, как написать хорошо сформированный XML, увидев пример. Информационный бюллетень Web Writer написан с использованием формы XML - мы называем это AML или About Markup Language (go figure). Хотя это рабочий документ, он на самом деле не является хорошо сформированным или допустимым XML-документом.
Хорошо Сформированный
Для создания хорошо сформированного XML-документа существуют определенные правила:
- Объявление XML должно быть первым в каждом документе.
- Комментарии недействительны в теге. Комментарии не могут содержать два дефиса в строке, отличные от начала и конца комментария.
- Теги должны иметь конечный тег или быть закрытыми внутри самого тега singleton, например
. - Все атрибуты тегов должны быть кавычками, предпочтительно двойными кавычками, если только сам атрибут не содержит двойную кавычку.
- Каждый XML-документ должен содержать один элемент, который полностью содержит все остальные элементы.
Есть только две проблемы с документом, которые делают его неверным:
Первое, что требуется документу AML, - это заявление объявления XML.
Другая проблема заключается в том, что нет ни одного элемента, который полностью охватывает все остальные элементы. Чтобы исправить это, мы добавим внешний элемент контейнера: Выполнение этих двух простых изменений (и обеспечение того, что все элементы содержат только CDATA) превратит не-правильно сформированный документ в хорошо сформированный документ. Действительный документ XML проверяется на основе определения типа документа (DTD) или схемы XML. Это набор правил, созданных разработчиком или организацией стандартов, которые определяют семантику XML-документа. Они сообщают компьютеру, что делать с разметкой. В случае с About Markup Language, поскольку это не стандартный XML-язык, такой как XHTML или SMIL, DTD будет создан разработчиком. Этот DTD, скорее всего, будет на том же сервере, что и XML-документ, и будет указан в верхней части документа. Прежде чем приступить к разработке DTD или схемы для ваших документов, вы должны понимать, что просто, будучи хорошо сформированным, XML-документ самоописателен и, следовательно, не нуждается в DTD. Например, с нашим хорошо сформированным документом AML существуют следующие теги: Если вы знакомы с информационным бюллетенем Web Writer, вы можете узнать различные разделы бюллетеня. Это упрощает создание новых документов XML в том же стандартном формате. Мы всегда ставили бы полное название в теге и первый URL-адрес раздела в теге. Если вам необходимо написать действительный XML-документ, либо использовать данные, либо обработать его, вы должны включить его в свой документ с тегом. В этом теге вы определяете базовый тег XML в документе и местоположение DTD (обычно это веб-URI). Например:
Одна приятная вещь в объявлениях DTD заключается в том, что вы можете объявить, что DTD является локальным для системы, где документ XML находится в «SYSTEM». Вы также можете указать общедоступный DTD, например документ HTML 4.0:
Когда вы используете оба варианта, вы сообщаете документу использовать определенный DTD (публичный идентификатор) и где его найти (системный идентификатор). Наконец, вы можете включить внутренний DTD непосредственно в документ в теге DOCTYPE. Например (это не полный DTD для документа AML):
> Чтобы создать допустимый XML-документ, вы также можете использовать документ XML Schema для определения своего XML. XML Schema - это XML-документ, который описывает документы XML. Узнайте, как написать схему. Просто указывать на DTD или XML Schema недостаточно. XML, который находится в документе, должен следовать правилам DTD или Schema. Использование проверочного анализатора - простой способ проверить, соответствует ли ваш XML правилам DTD. Вы можете найти много таких парсеров в Интернете.
DTDs
XML-схема
Заметка