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

5.1.2.1.1. Главный модуль

Главный модульсостоит из пролога, за которым следует тело запроса.

Прологсодержит:

  • объявления параметров настройки;

  • объявления переменных;

  • объявления функций;

  • объявления опций;

  • операторы импорта;

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

Разделителем между компонентами пролога является символ ";".

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

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

  • правила обработки граничных пробелов в выражениях;

  • базовый URI для запроса;

  • режим работы конструкторов;

  • режим следования узлов;

  • порядок следования пустых последовательностей;

  • копирование пространства имен;

  • упорядочивание строк по умолчанию.

Правила обработки граничных пробеловв выражении задаются с помощью следующего объявления:

declare boundary-space тип-обработки;

Если для типа-обработкизадано значениеstrip, пробелы в начале и в конце вычисляемого выражения удаляются, если же задано значениеpreserve– сохраняются.

Базовый URIзадается с помощью следующего объявления:

declare base-uri "URI";

Это объявление используется, когда необходимо разрешить относительные ссылки внутри модуля.

Режим работы конструкторовзадается с помощью следующего объявления:

declare construction strip тип-обработки;

Если для типа-обработкизадано значениеstrip, типом сконструированного элемента являетсяxs:untyped, все копируемые во время конструирования элементы также получают типxs:untyped, а атрибуты получают типxs:untypedAtomic. Если задано значениеpreserve, типом сконструированного элемента являетсяxs:anyType, а все копируемые во время конструирования элементы и атрибуты сохраняют свои типы.

Режим следования узловзадается с помощью объявления:

declare orderingрежим-следования;

Если для режима-следования задано значениеordered, узлы в выражениях пути обрабатываются в том порядке, в котором они следуют в документе, если же задано значениеunordered, узлы следуют друг за другом в порядке, определяемом реализацией обработчика запросов.

Порядок следования пустых последовательностейдля результата обработки оператораorder by задается с помощью объявления:

declare default orderпорядок-следования;

Если для порядка-следования задано значениеempty greatest, пустой узел выводится последним, если же задано значениеempty least, пустой узел выводится первым.

Копирование пространства именуправляет процессом обработки при копировании узла элемента с помощью конструктора элемента или документа и задается с помощью объявления:

declare copy-namespacesрежим-сохранения,режим-наследования;

Если для режима-сохранения задано значениеpreserve, все пространства имен сохраняются в скопированном элементе, если же задано значениеno-preserve, сохраняются только те пространства имен, которые используются в именах элементов и их атрибутов. Если длярежима-наследования задано значениеinherit, копируемый узел наследует все доступные пространства имен первоначального узла вместе с узлами, сохраняемыми в копируемом элементе с помощью задания параметраpreserve. Если же задано значениеno-inherit, доступные пространства имен не сохраняются в копируемом элементе.

Упорядочивание строк по умолчаниюуправляет алгоритмом сравнения строк, который является различным для разных языков и задается с помощью следующего объявления:

declare default collation "URI";

где параметр "URI"задает ресурс, в котором определены правила сравнения символов строк.

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