Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППТС-2 / Лекции / Lect4-05.doc
Скачиваний:
6
Добавлен:
12.05.2015
Размер:
645.12 Кб
Скачать

5.1.2.1.1.5. Операторы импорта

Операторы импортамогут импортировать данные из другого (библиотечного) модуля или из схемы документа XML.

Оператор импорта библиотечного модуляимеет следующий вид:

import module namespace пространство-имен="целевое-URI"

at "URI-1,…";

В параметре пространство-имензадается префикс целевого пространства имен, а в его значении"целевое-URI" задается идентификатор ресурса для целевого пространства имен. Это целевое пространство имен будет пространством имен по умолчанию для имен переменных и функций, определенных в модуле. После ключевого словаatуказывается идентификатор или идентификаторы ресурса для импортируемого модуля. Если в реализации обработчика запросов XQuery можно использовать альтернативный способ задания местоположения импортируемых модулей, ключевое словаatи идентификатор ресурса можно пропустить.

Примеры задания оператора импорта библиотечных модулей:

1. import module namespace myns1="http://my.domain/ns1"

at"http://my.domain/ns1.xq";– импортирует модуль по адресу"http://my.domain/ns1.xq" с целевым пространством имен myns1, определенным по адресу"http://my.domain/ns1".

2. import module namespace math="http://example.org/math-functions";– импортирует модуль с целевым пространством имен math, определенным по адресу"http://example.org/math-functions".

Оператор импорта схемы документа XMLимеет одну из следующих форм:

import schema namespace пространство-имен="целевое-URI"

at "URI-1,…";

или

import schema default element namespace "целевое-URI"

at"URI-1,…";

В первом случае задаваемые параметры имеют тот же смысл, что и при импортировании модулей. Во втором случае схема импортируется только указанием ее целевого пространства имен, которое становится пространством по умолчанию для элементов и типов, заданных в схеме.

Примеры задания оператора импорта схемы документа XML:

1. import schema namespace xsd1="http://my.domain/nsxsd1"

at"http://my.domain/nsxsd1.xsd";– импортирует схему по адресу"http://my.domain/nsxsd1.xsd" с целевым пространством имен xsd1, определенным по адресу"http://my.domain/nsxsd1".

2. import schema default element

namespace"http://my.dom2/xsd2";– импортирует схему с целевым пространством имен, которое становится пространством по умолчанию.

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

Объявление пространства именимеет следующий вид:

declare namespaceпространство-имен="URI";

Параметр пространство-именобъявляет префикс пространства имен, а его значение задает адрес ресурса для этого пространства имен.

В результате этого объявления создается новый узел пространства имен, связанный с заданным ресурсом.

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

declare namespace email="http://email.com";– объявляет пространство имен с префиксомemailпо адресу"http://email.com".

В XQuery определены также пять пространств имен по умолчанию, которые создаются до обработки первого запроса:

  • xml=http://www.w3.org/XML/1998/namespace– пространство имен XML;

  • xs=http://www.w3.org/2001/XMLSchema– пространство имен схемы XML;

  • xsi=http://www.w3.org/2001/XMLSchema-instance– пространство экземпляров схем XML;

  • fn=http://www.w3.org/2005/xpath-functions– пространство имен функций XPath;

  • local=http://www.w3.org/2005/xquery-local-functions– пространство имен локальных функций, задаваемых с помощью объявления функции.

Тело запроса, содержащее выражение, вычисляется, и полученное значение является результатом запроса. Формирование тела запроса рассмотрено ниже.

Соседние файлы в папке Лекции