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

</your_root>

В этом примере аннотированная схема должна находится в файле your_schema.xml. Как видно из синтаксиса, возможно создание параметризированных запросов XPath. Параметр в запросе обозначается начальным символом $.

Рассмотрим пример аннотированной схемы XDR, который будет использоваться для запросов XPath. В результирующем документе будут присутствовать имена, фамилии и адреса всех авторов:

<?xml version="1.0" ?>

<Schema xmlns="urn:schemas-microsoft-com:xml-data"

xmlns:sql="urn:schemas-microsoft-com:xml-sql"

xmlns:dt="urn:schemas-microsoft-com:datatypes">

<ElementType name="address" />

<ElementType name="Authors" sql:relation="Authors">

<AttributeType name="au_fname" dt:type="string" />

<AttributeType name="au_lname" dt:type="string" />

<attribute type="au_fname"/>

<attribute type="au_lname" />

<element type="address" sql:field="address"/>

</ElementType>

</Schema>

Здесь используется аннотация relation для того, чтобы указать, с какой таблицей будет связан элемент Authors. Дочерние элементы наследуют связь с таблицей, указанной для родительского ElementType. Связывание полей таблицы или представления (view) можно выполнять явно, с использованием аннотации field. В данном примере для элементов AttributeType этого делать не нужно, т.к. отображения на соответствующие поля выполняются автоматически. Однако для дочерних элементов ElementType, которые по умолчанию связываются с таблицами, такая аннотация может быть необходима. Наиболее часто используемые аннотации приведены далее.

Теперь можно перейти к самому шаблону. Предположим, аннотированную схему вы сохранили под именем MySchema.xml.

ПРИМЕЧАНИЕ

IIS различает тип XML-документа только на основе каталога, где он находится. Даже если мы не настроили специальным образом IIS на исполнение схем, их лучше хранить в одном месте. Я рекомендую хранить схемы и шаблоны в разных виртуальных каталогах. Например, template для шаблонов, schema – для схем.

Вот так выглядит шаблон, выбирающий имена, фамилии и адреса всех авторов:

<my_root xmlns:sql="urn:schemas-microsoft-com:xml-sql">

<sql:xpath-query mapping-schema="../Schema/MySchema.xml">

/Authors

</sql:xpath-query>

</my_root>

Так как схемы XDR постепенно вытесняются схемами XSD, перепишем пример с использованием XSD.

ПРЕДУПРЕЖДЕНИЕ

Я полтора дня потерял, когда первый раз пытался выполнить запрос XPath на XSD-схеме. ISAPI-расширениеупорновыдавалоошибку «XPath: unable to find /authors in the schema». В конце концов, после непродолжительных консультаций с одним из участников форума сайта www.sql.ru, проблема была решена. Суть ее в следующем: при создании виртуального каталога я использовал оснастку mmc SQL IIS Admin.MSC, которая входит в стандартный комплект MS SQL Server’а и ничего не знает о новых возможностях SQLXML 3.0. Новая оснастка лежит в %Program Files%\SQLXML 3.0 и называется sqlisad3.msc. Ее можно запустить из меню Start->Programs->SQLXML 3.0->Configure IIS Support. Всегдапользуйтесьтолькоею.

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