Представление результатов запроса в виде XML

Как показано на следующем рисунке, Утилита XML SQL может обрабатывать SQL запросы и возвращать результаты как документ XML.

 

 

Структура результирующего документа XML основана на внутренней структуре базы данных, к которой производился запрос. Столбцы переходят в элементы верхнего уровня. Скалярные значения преобразуются к текстовым элементам. Объектные типы отображаются в элементы с атрибутами, представленными в качестве вложенных элементов. Коллекции отображаются в списки элементов. Объектные ссылки и ограничения отображаются в XML IDREFs.

 

Утилита может генерировать или строковое представление документа XML, или представление в виде дерева DOM элементов. Если необходимо по запросу сразу возвратить документ XML, лучше использовать строковое представление. Использование DOM представления необходимо, если Вы собираетесь обрабатывать этот XML программно, например, преобразовывать его, используя XSLT процессор, или использовать методы DOM, для поиска или редактирования XML.

 

Пример: Представление результатов запроса в виде XML

Запрос:

 SELECT EMPNO, ENAME FROM EMP WHERE EMPNO = 7654;

генерирует следующий XML документ

<?xml version="1.0"?> <ROWSET> <ROW id="1"> <EMPNO>7654</EMPNO> <ENAME>MARTIN</ENAME> </ROW> </ROWSET>

Необходимо обратить внимание на формат документа XML. По умолчанию, ROWSET - название элемента, представляющего весь документ XML. ROW - элемент для каждой строки результата запроса. Данные EMPNO и ENAME представлены как элементы, вложенные внутрь ROW. В общем случае, данные представляются как элементы, и атрибуты используются, чтобы, если это необходимо, наложить ограничения на данные. Если в приложении требуется другой набор тэгов, может выполнить необходимое преобразование динамически, при помощи таблицы стилей XSL.

 

Запись XML в таблицу

На следующем рисунке показано взаимодействие с утилитой XML SQL, для записи XML данных в объектно-реляционную таблицу базы данных Oracle.

 

Запись документа XML в таблицу Oracle сохраняет структуру документа. Названия тэгов переходят в названия столбцов в таблице. Текстовые элементы отображаются в скалярные столбцы, а элементы, содержащие подэлементы отображаются в объектные типы. Наборы элементов переходят в коллекции.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: