5.6 schemaLocation

XML Schema использует атрибуты schemaLocation и xsi:schemaLocation в трех случаях.

1. В документе примера, атрибут xsi:schemaLocation обеспечивает подсказки автора для обработчика относительно местоположения документов схемы. Автор гарантирует, что эти документы схемы релевантны при проверке правильности содержания документа в пространстве имен основного пространства имен. Например, мы можем указать местоположение схемы Report  для обработчика квартального отчета:

Использование schemaLocation в квартальном отчете, 4Q99html.xml

<purchaseReport
   xmlns="http://www.example.com/Report"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.example.com/Report
   http://www.example.com/Report.xsd"
   period="P3M" periodEnding="1999-12-31">

 <!-- etc. -->

</purchaseReport>

Атрибут schemaLocation содержит пары значений: первый член каждой пары – пространство имен, для которого второй член - пояснение, которое описывает, где найти соответствующий документ схемы. Присутствие этих пояснений не требует, чтобы обработчик получил или использовал указанные документы схемы. Обработчик может использовать другие схемы, полученные любыми подходящими средствами, или вообще не использовать никакой схемы.

Схема не обязана иметь пространство имен (см. Раздел 3.4), и поэтому атрибут noNamespaceSchemaLocation, который используется для обеспечения подсказки, применяется для задания местоположений документов схемы, которые не имеют целевого пространства имен.

2. В схеме элемент include имеет требуемый атрибут schemaLocation, который содержит URI ссылку, идентифицирующую документ схемы. Это позволяет составить конечную, эффективную схему, объединяя объявления и определения включающих и включаемых схем. Например, в Разделе 4, определения типов Address, USAddress, UKAddress, USState (вместе с объявлениями их атрибутов и локальных элементов) из address.xsd, которые добавлены к объявлениям элементов purchaseOrder и comment, и определения типов PurchaseOrderType, Items и SKU (вместе с объявлениями их атрибутов и локальных элементов) из ipo.xsd, создают единую схему.

3. Также в схеме, элемент import  имеет дополнительные атрибуты namespace и schemaLocation. В рассматриваемом контексте, атрибут schemaLocation понимается как аналог xsi:schemaLocation в (1). Следовательно, это обеспечивает авторское пояснение обработчику относительно местоположения документа схемы, которого авторские предписания снабжают требуемыми компонентами из пространства имен, заданного атрибутом namespace. Для того, чтобы импортировать компоненты, которые не находятся ни в каком целевом пространстве имен, элемент import  используется без атрибута namespace (с или без атрибута schemaLocation). Ссылки к компонентам, импортированным этим способом, не квалифицированы.

Отметим, что schemaLocation является только подсказкой, и некоторые обработчики и приложения могут иметь причины его не использовать. Например, редактор HTML может иметь встроенную HTML схему.

 

brainstorm, тексты brainstorm, фото brainstorm, prata vetra, Ренарс Кауперс
бытовая техника
Используются технологии uCoz