Большинство браузеров XML проверяют документы на то, являются ли они хорошо сформированными. Некоторые браузеры могут также проверить, допустим ли документ. Документ XML допустим (valid), если с ним связаны объявление типа документа (DTD — Document Type Declaration) или схема XML, и если документ удовлетворяет этим DTD или схеме. То есть DTD или схема задает набор правил для внутренней целостности самого документа, и если браузер может подтвердить, что документ удовлетворяет этим правилам, он является допустимым.
XML-схемы завоевывают популярность, и значительно большая поддержка схем присутствует в XSLT 2.0 (фактически поддержка XML-схем — одна из побудительных сил к переходу на XSLT 2.0), однако объявления DTD все еще остаются наиболее часто используемым средством проверки на допустимость. Объявления DTD могут быть сохранены в отдельном файле или в самом документе в элементе . Ниже этот элемент добавлен в разработанный нами пример:
>
>
>
>
>
>
>]>
>
>
> Hello From XML
>
>
> Welcome to the wild and woolly world of XML
>
>
В этой книге не рассматриваются объявления DTD, но из них видно, что элемент >
— корневой, а элементы >
и >
могут, во-первых, находиться внутри него, а во-вторых — содержать текст.
В документах XML могут присутствовать все виды иерархий, когда один элемент заключен в другой элемент и так далее на много уровней вложенности. Элементам можно также задавать атрибуты, например: >
, где атрибут >COLOR
содержит значение ">blue
". При помощи таких атрибутов удобно хранить дополнительные данные об элементах. Еще в документы XML разрешается включать комментарии, поясняющие определенные элементы текстом внутри тегов >
.
Ниже, в листинге 1.1, приведен пример XML-документа >planets.xml
, в котором эти возможности используются для хранения данных о планетах Меркурии (Mercury), Венере (Venus) и Земле (Earth) — таких как масса, длительность дня, плотность, расстояние от Солнца и т.д. Мы будем работать с этим документом во всей книге, поскольку в нем в компактной форме содержится большая часть возможностей XML, которые могут вам потребоваться.
Листинг 1.1. planets.xml
>
>
>
> Mercury
> .0553
> 58.65
> 1516
> .983
> 43.4
>
>
> Venus
> .815
> 116.75
> 37l6
> .943
> 66.8
>
>
> Earth
> 1
> 1
> 2107
> 1
> 128.4
>
>
Вам нужно также усвоить ряд определений XML, принятых в этой книге:
• CDATA. Простые символьные данные (то есть текст, не содержащий какой-либо разметки);
• ID. Корректное имя XML, которое должно быть уникальным (то есть не использоваться в каких-либо других атрибутах типа ID);
• IDREF. Содержит значение атрибута ID некоторого элемента, как правило, отличного от элемента, с которым связан текущий элемент;
• IDREFS. Несколько идентификаторов (ID) элементов, разделенных пробелами;
• NAME Символ. Буква, разряд, точка, дефис, символ подчеркивания или двоеточие;
• NAME. Имя XML, которое должно начинаться с буквы, символа подчеркивания или двоеточия, за которыми, возможно, следуют дополнительные символы имени;