Logo
Сделано:                             
VovaN'ом          
e-mail: vovchik88@inbox.ru 

  Главная Языки разметки XML

Языки разметки
SGML
HTML
XML
Серверные скрипты
PHP
ASP
Клиентские скипты
JavaScript

    Типы документов XML

В предыдущем примере было продемонстрировано несколько возможностей. Эти возможности охватывают шесть типов объектов разметки, используемых в XML:

  • Элементы (elements)
  • Ссылки на сущности (entity references)
  • Комментарии (comments)
  • Исполняемые инструкции (processing instructions)
  • Отмеченные разделы (marked sections)
  • Типы документов (document types)

В листинге, приведенном выше, присутствуют элементы, комментарии, отмеченные разделы и типы документов. Последующие примеры, приводимые в этой работе, показывают, как использовать эти и другие объекты (исполняемые инструкции и ссылки на сущности) в конкретных случаях.

Хотя мы включили DTD в листинг, это не было необходимостью. Именно поэтому XML хорошо подходит для работы в Web — не нужно знать DTD или же структурную модель, применявшуюся при создании XML-документа. Это не означает, что XML не работает с DTD. Это лишь означает, что если в документе не используется описание типа документа (DTD), то эти описания должны быть встроены в сам документ. Именно эта возможность — либо использовать DTD, либо включать форму структуры документа — и делает XML столь подходящим инструментом для работы в Internet- и intranet-приложениях.

Документы, у которых есть описания типов документов (DTD), которым они подчиняются, называются действительными (valid). Документы, у которых нет DTD, но они все же соответствуют стандарту XML, называются правильными (well-formed). Правильные документы могут не содержать DTD, однако они должны отвечать некоторым простым правилам, для того чтобы с ними можно было использовать таблицы стилей и механизмы связывания. Рассмотрим в общих чертах каждый тип документа.

Правильные документы

Что же представляет собой правильный документ? Правильным является такой XML-документ, который соответствует синтаксису XML, используемому в данном документе. Например, если вы не включите оконечный тег при расстановке элементов в документе, если вы забудете включить объявление XML-документа, которое должно размещаться в самом его начале, или же если документ содержит символы, которые не могут быть обработаны анализатором, или же являются недействительными (invalid), то такой документ не будет считаться правильным. Некоторые конструкции разметки разрешено размещать в строго определенных местах. Поместите эти конструкции в любое неверное место — и ваш документ не будет правильным.

Примечание
Правильный XML-документ является также правильным SGML-документом.

Но правильные XML-документы — это нечто большее, чем просто документы, которые соответствуют синтаксису XML. Кроме того, эти документы должны отвечать следующим условиям:

  • В начальном теге атрибут не должен встречаться более одного раза.
  • Нельзя включать ссылки на внешние сущности в строковый атрибут.
  • Необходимо объявлять все сущности, кроме тех, которые используются как часть языка XML.
  • Нельзя ссылаться на двоичную сущность, размещенную непосредственно в содержании документа. Двоичные сущности могут фигурировать лишь в атрибутах ENTITY.
  • Нельзя создать рекурсивный параметр (recursive parameter) или же рекурсивную текстовую сущность — ни прямым, ни косвенным способом.
  • Параметрические сущности должны быть объявлены прежде, чем вы начнете их использовать в документе.
  • Любые непустые теги должны быть правильно вложены (nested).
  • Имя, указанное в оконечном теге элемента, должно соответствовать типу элемента в начальном теге.
  • Нельзя помещать угловые скобки (<) в замещаемый текст какой бы то ни было сущности.

Действительные документы

Допустим, у вас есть правильный XML-документ. Вы позаботились о выполнении всех ограничений по разметке, "расставили все точки над i", и оформили документ в соответствии с синтаксисом XML. Но правильный документ не является действительным до тех пор, пока в нем нет объявления типа документа (DTD). Причем, данный документ должен отвечать ограничениям, налагаемым данным объявлением.

Каждый действительный документ должен начинаться с информации заголовка содержащей следующее:

  • Описание правил структурирования (structural rules), которым должен отвечать данный документ.
  • Список любых внешних ресурсов или внешних сущностей, составляющих какую-либо часть данного документа.
  • Любые объявления внутренних ресурсов или внутренних сущностей.
  • Любые условные обозначения или же ресурсы, представленные в форматах, отличных от XML. Эти обозначения и ресурсы должны определять требуемые вспомогательные приложения (helper applications),
  • Списки ресурсов, представленных в форматах, отличных от XML (например, двоичных сущностей), имеющихся в документе.



Вверх
Hosted by uCoz