Реферат: Использование XML совместно с SQL

[WITH (SchemaDeclaration | TableName)]

Аргументы:

idoc – хендл XML-документа, полученный при помощи хранимой процедуры sp_xml_preparedocument;

rowpattern – локализуемая группа XPath или, проще говоря, XPath-выражение;

flags – набор флагов, указывающих на то, как должны быть сопоставлены данные документа XML и реляционного набора строк;

ShemaDeclaration – определение полей реляционного набора строк в формате:

ColName ColType [ColPattern | MetaProperty]

Где

ColName – имя поля.

ColType – тип поля. Допускаются все типы SQL Server.

ColPattern - локализуемая группа XPath для поля.

MetaProperty – метасвойство. Его мы рассматривать не будем.

XML-документ подготавливается с помощью хранимой процедуры sp_xml_preparedocument. Процедура использует анализатор MSXML для проверки документа на правильность и возвращает хендл документа. После завершения работы с OPENXML хендл нужно закрыть с помощью процедуры sp_xml_removedocument.

ПРИМЕЧАНИЕ

sp_xml_preparedocument подготавливает XML-документ, представляя его в виде объектной модели DOM (Document Object Model). Если вы работаете с большими документами, это может вызвать некоторые проблемы.

Как видно из синтаксиса, вы можете не указывать флаги и определения полей для реляционного набора строк. В этом случае SQL Server создаст внутреннее представление XML-документа в так называемом "edge table"-формате. Он практически не читаем, однако при большом желании его можно использовать. Описание этого формата выходит за рамки данной статьи, но в качестве доказательства того, что с ним можно работать, приведу пример. Пусть у нас имеется такой XML-документ:

<?xml version="1.0" encoding="windows-1251" ?>

<rsdn>

<forums date="09.01.03">

<forum name="WinAPI" totalposts="16688"

description="Системноепрограммирование">

<moderators/>

<top-poster>Alex Fedotov</top-poster>

</forum>

<forum name="COM" totalposts="10116"

description="Компонентныетехнологии">

<moderators/>

<top-poster>Vi2</top-poster>

</forum>

<forum name="Delphi" totalposts="5001"

К-во Просмотров: 536
Бесплатно скачать Реферат: Использование XML совместно с SQL