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

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

В схеме заказа на покупку po.xsd мы для схемы не объявляли целевое пространство имен, и не указали префикс (подобно po: выше), который связан с целевым пространством имен схемы, посредством которого мы могли бы ссылаться на типы и элементы, определенные и объявленные внутри схемы. Следствием отсутствия объявления целевого пространство имен является то, что определения и объявления этой схемы, такие как 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