Условные обозначения применяемы в режиме PATH
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Шаблон Описание
eName Создание XML-элемента с именем eName с содержимым соответствую-щего столбца
@aName Создание XML-атрибута с именем aName с содержимым соответствую-щего столбца
eName1/eName2 Создание XML-элемента с именем eName1 и вложенного элемента с именем eName2 с содержимым соответствующего столбца
eName/@aName Создание XML-элемента с именем eName и атрибут с именем aName с содержимым соответствующего столбца
text() Создание текстового содержимого тега
data() Создание атомарного значения текстового содержимого тега

 

 

Рис. 14.13. Простейший XML-фрагмент, сформированный в режиме PATH

 

На рис. 14.14 и 14.15 приведен пример SELECT-запроса в режиме PATH, использующего несколько шаблонов из табл. 14.1. Следует обратить внимание, что в этом режиме при формировании результата у разработчика появляется возможность сочетать атрибутную и элементную форму.

 

 

Рис. 14.14. Применение шаблонов для псевдонимов столбцов в режиме PATH

 

 

Рис. 14.15. Результат выполнения SELECT-запроса,
 представленного на рис. 14.14, режиме PATH

 

В примере на рис. 14.16 приведен более сложный запрос, формирующий четырехуровневую XML-структуру. При этом в SELECT-списке внешнего запроса используются два подзапроса. Первый подзапрос формирует скалярное значение, которое потом записывается как текстовое содержимое тега количество_кафедр. В результате выполнения второго подзапроса формируется значение атрибута с именем код элемента кафедра, а также XML-фрагмент, который помещается в тег преподаватели.

Обратите внимание на применение ключевого слова TYPE во внутреннем подзапросе. Использование TYPE позволяет указать на то, что формируемый XML-фрагмент следует рассматривать как вложенный.

 

 

Рис. 14.16. Пример использования вложенных подзапросов в режиме PATH

 

 

Рис. 14.17. Результат выполнения SELECT-запроса,
 представленного на рис. 14.16, в режиме PATH

 

14.2.2. Преобразование XML-документа в табличный вид

Для преобразования XML-данных в строки таблицы предназначена функция OPENXML. Она принимает три входных параметра: дескриптор, сформированный системной хранимой процедурой с именем SP_XML_PREPAREDOCUMENT; выражение XPATH [7] и целое положительное число, определяющее режим работы функции.

Процедура SP_XML_PREPAREDOCUMENT должна быть выполнена до SELECT-запроса, применяющего OPENXML. Процедура принимает в качестве входного параметра XML-документ (в формате строки) и возвращает дескриптор, который впоследствии применяется функцией OPENXML.

Выражение XPATH, принимаемое функцией OPENXML в качестве второго параметра, предназначено для выбора требуемых данных из исходного (введенного процедурой SP_XML_PREPAREDOCUMENT) XML-документа.

Последний, третий, параметр функции OPENXML указывает на тип преобразования (режим). Основные базовые типы преобразования приведены в табл. 14.2.

Кроме того, с помощью выражения WITH должна быть указана структура формируемого результирующего набора.

 

Таблица 14.2



Дата: 2019-02-25, просмотров: 187.