Статически определенные пространства имен
Префиксы пространств имен привязываются к через объявления пространств имен. Набор таких привязок пространств имен, который управляет интерпретацией QNames в выражении запроса, называется статически определенными пространствами имен. Статически определенные пространства имен являются свойствами выражения запроса и не зависят от данных, обрабатываемых выражением.
Некоторые префиксы пространств имен предопределены; другие могут быть добавлены через объявления их либо в прологе запроса, либо в конструкторе элемента. DB2 включает предопределенные префиксы пространств имен, которые описаны в следующей таблице.
Таблица 1. Предопределенные пространства имен в DB2 XQuery
| Префикс |
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 |
В дополнение к предопределенным пространствам имен, набор статически определенных пространств имен может быть обеспечен следующими способами:
- Объявлением в прологе запроса с использованием либо объявления пространства имен, либо пространство имен по умолчанию. Объявление пространства имен в следующем примере привязывается префикс пространства имен ns1 к URI http://mycompany.com:
declare namespace ns1 = "http://mycompany.com";
В следующем примере для имен элементов, которые не имеют префиксов, устанавливается URI пространства имен элементов/типов по умолчанию:
declare default element namespace "http://posample.org";
- Объявлением пространства имен в конструкторе элемента. Следующий пример - конструктор элемента, который содержит атрибут объявления пространства имен, привязывающий префикс ns2 к URI http://mycompany.com в области видимости конструктора элемента:
<ns2:price xmlns:ns2="http://mycompany.com">14.99</ns2:price>
- Обеспечиваемое SQL/XML. SQL/XML может обеспечивать следующий набор пространств имен:
- предопределенные пространства имен SQL/XML.
- пространства имен, которые объявляются в конструкторах SQL/XML и других выражениях SQL/XML.
Пространства имен, которые обеспечиваются SQL/XML, могут быть замещены объявлениями пространств имен в прологе или атрибутами объявления пространств имен в конструкторах элементов. Пространства имен, которые объявлены в прологе, могут быть замещены атрибутами объявления пространств имен в конструкторах элементов.