КаталогИндекс раздела
НазадСодержаниеВперед

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

Объявление пространства имен в прологе запроса объявляет префикс пространства имен prefix и связывает префикс с URI пространства имен URI. Связь между префиксом и URI пространства имен называется привязкой пространства имен. Пространства имен, которое привязано в объявлении пространства имен объявление добавляется к статически определенным пространствам имен. Статически определенные пространства именs состоят из всех привязок пространств имен, которые позволяют разрешать префиксы пространств имен при обработке запроса.

Объявление пространства имен находится в области видимости всего запроса, в котором оно объявлено, кроме тех случаев, когда объявление перегружается объявлением пространства имен атрибута в прямом конструкторе элемента. Множественные объявления одного и того же префикса пространства имен в прологе приводят к ошибке.

Синтаксис

>>-declare--namespace --prefix--=--URILiteral--;----------------><
prefix
      Задает префикс пространства имен, который привязан к URI, который задается URILiteral. Префикс пространства имен используется в квалифицированных именах (QNames) для идентификации пространства имен элементов, атрибутов, типов данных или функций.

Префиксы xmlns и xml зарезервированы и не могут задаваться в объявлениях пространства имен.

URILiteral
      Задает строковый литерал, который представляет URI для пространства имен. Строковый литерал должен быть непустой строкой, которая содержит правильный URI.

Пример

Следующее запросы содержат объявление пространства имен, которое объявляет префикс пространства имен ns1 как связанный с URI пространства имен http://posample.org:

declare namespace ns1 = "http://posample.org";
<ns1:name>Thermal gloves</ns1:name>

Когда запрос из примера выполняется, созданный новый узел (элемент с именем name) находится в пространстве имен, связанном с URI пространства имен http://posample.org.

Предопределенные префиксы пространства имен

В XQuery имеется несколько предопределенных префиксов пространства имен, которые представляют пространства имен, статически определенные перед обработкой запроса. Вы можете использовать любой из предопределенных префиксов без явного объявления. Предопределенные префиксы для XQuery в DB2 включают в себя пары префиксов и URI, показанные в следующей таблице:

Таблица 1. Предопределенные префиксы пространства имен в XQuery в DB2

Префикс URI Описание
xml http://www.w3.org/XML/1998/namespace Зарезервированное пространство имен XML
xs http://www.w3.org/2001/XMLSchema Пространство имен XML Schema
xsi http://www.w3.org/2001/XMLSchema-instance Пространство имен экземпляра XML Schema
fn http://www.w3.org/2005/xpath-functions Пространство имен для функций по умолчанию
xdt http://www.w3.org/2005/xpath-datatypes Пространство имен типов XQuery
db2-fn http://www.ibm.com/xmlns/prod/db2/functions Пространство имен функций DB2

Вы можете замещать префиксы предопределенных пространств имен, задавая префиксы объявления пространств имен в прологе запроса. Однако вы не можете замещать URI, который связан с префиксом xml.


НазадСодержаниеВперед
КаталогИндекс раздела