Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
db-shpora.doc
Скачиваний:
14
Добавлен:
08.11.2018
Размер:
1.44 Mб
Скачать
  1. Описание содержимого xml-документа с помощью xml-схемы.

Стандарт XML Schema используется для определения содержимого и структуры документов, и в этом отношении он играет роль, аналогичную DTD. Однако XML Schema имеет ряд усовершенствований по сравнению с DTD. XML Schema позволяет определить набор символов и их взаимосвязи. Иногда говорят, что XML Schema предоставляет способ создания пользовательских словарей.

XML-документ, удовлетворяющий DTD, называется допустимым по типу. Аналогичным образом, документ, соответствующий XML Schema, называется допустимым по схеме. XML-документ может быть формально правильным, но при этом недопустимым по типу и по схеме.

В отличие от документов DTD, имеющих свой собственный синтаксис, документы XML Schema сами по себе являются XML-документами. Это значит, что для определения схемы используется тот же самый синтаксис, что и для других XML- документов. Это означает также, что и сам документ XML Schema можно проверять на допустимость по отношению к его схеме. Таким образом, возникает классическая проблема курицы и яйца. Если документы XML Schema сами являются XML-документами, то какой документ должен использоваться в качестве схемы для всех остальных схем? Такой документ действительно существует: прародительница всех схем находится на сайте www.w3.org. Все документы XML Schema проверяются на допустимость по отношению к этому документу.

Пространство имён в XML — это стандарт, описывающий именованную совокупность имён элементов и атрибутов, служащую для обеспечения их уникальности в XML-документе.

В декабре 2009 года третья редакция стандарта получила статус рекомендации.

Все имена элементов в пределах пространства имён должны быть уникальны.

XML-документ может содержать имена элементов и атрибутов из нескольких словарей XML. В каждом словаре задано своё пространство имён — так разрешается проблема неоднозначности имён элементов и атрибутов.

Возьмём, например, простой XML, который содержит ссылки на покупателя и на заказанный продукт. И элементы покупателя, и элементы продукта могут содержать дочерний элемент «ID_number». Ссылки на элемент ID_number будут, таким образом, неоднозначны, у нас будут два одинаковых имени элемента несущих разную смысловую нагрузку и так будет, пока мы не введём пространства имён для их различения.

Объявление пространства имён

Пространства имён объявляются с помощью XML атрибута xmlns, значение которого должно быть ссылкой URI.

Например:

xmlns=http://www.w3.org/1999/xhtml

Однако следует обратить внимание, что URI в действительности не читается как адрес в сети, это просто обрабатываемая XML парсером строка. Например, по адресу http://www.w3.org/1999/xhtml на самом деле нет никакого кода, там находится просто справочник по пространству имён xhtml. Использование URL (таких как "http://www.w3.org/1999/xhtml") для идентификации пространства имён вместо простой строки (такой как «xhtml») уменьшает возможность совпадения идентификаторов у различных пространств имён. Идентификаторы пространств имён не обязаны быть правильными веб-адресами, хотя зачастую они ими являются.

В объявление можно также включить короткий префикс, которым будет однозначно идентифицироваться пространство имён каждого элемента, например:

xmlns:xhtml="http://www.w3.org/1999/xhtml"

Пространство имён XML не требует, чтобы был определён его словарь, хотя существует сложившаяся практика помещать DTD или XML Schema, определяющие точную структуру данных в контексте конкретного пространства имён.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]