3.4 Необъявленное целевое пространство имен

В Разделе 2 мы объяснили основы XML Schema, используя схему и документ примера, в которых не было объявлено целевое пространство имен. Естественно возникает вопрос: «Что есть целевое пространство имен в этих примерах и как на него ссылаются?»

В схеме заказа на покупку, po.xsd, мы для схемы не объявляли целевое пространство имен, и не объявляли префикс (подобно po: above), который связан с целевым пространством имен схемы, посредством которого мы могли ссылаться на типы и элементы, определенные и объявленные внутри схемы. Следствием отсутствия объявления целевого пространство имен является то, что определения и объявления этой схемы, такие как USAddress и purchaseOrder, ссылаются без квалификации пространства имен. Другими словами нет никакого явного префикса пространства имен, который применяется для ссылок, и при этом нет никакого неявного пространства имен по умолчанию. Например, элемент purchaseOrder объявлен, используя тип ссылку типа PurchaseOrderType. Напротив, все элементы и типы XML Schema, используемые в po.xsd явно квалифицированы с префиксом xsd:, который связан с пространством имен XML Schema.

В тех случаях, когда схема проектируется без целевого пространства имен, строго рекомендуется, чтобы все элементы и типы XML Schema были явно квалифицированы таким префиксом, как xsd:, который связан с пространством имен XML Schema (как в po.xsd). Объяснение этой рекомендации в том, что, если элементы и типы XML Schema, связаны с пространством имен XML Schema  по умолчанию, то есть без префиксов, то ссылки к типам XML Schema нельзя отличить от ссылок к типам, которые определяются пользователем.

Объявления элементов из схемы без целевого пространства имен проверяют правильность неквалифицированных элементов в документе примера. Это значит, что они проверяют правильность элементов, для которых квалификация пространства имен не обеспечена ни явным префиксом, ни по умолчанию (xmlns:). Так, для того чтобы проверить правильность традиционного XML 1.0 документа, который вообще не использует пространство имен, Вы должны обеспечить схему без целевого пространства имен. Конечно, существует много XML 1.0 документов, которые не используют пространство имен, так что будет много и документов схемы, написанных без целевого пространства имен. Вы должны быть уверены, что дали вашему обработчику документ схемы, соответствующий словарю, который Вы желаете проверить.

 

Используются технологии uCoz