Образовательный портал Claw.ru
Всё для учебы, работы и отдыха
» Шпаргалки, рефераты, курсовые
» Сочинения и изложения
» Конспекты и лекции
» Энциклопедии

В этом примере аннотированная схема должна находится в файле 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. Всегда пользуйтесь только ею.

Вот список основных отличий XDR от XSD[9], к которому я очень часто обращаюсь:

XDR

XSD

Schema

schema

ElementType

element

AttributeType

attribute

attribute

none

С учетом этого схема будет выглядеть так:

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

      xmlns:sql="urn:schemas-microsoft-com:mapping-schema">

 <xsd:element name="authors" sql:relation="authors">

  <xsd:complexType>

   <xsd:attribute name="au_fname" sql:field="au_fname" />

   <xsd:attribute name="au_lname" sql:field="au_lname" />

   <xsd:attribute name="address" sql:field="address" />

  </xsd:complexType>

 </xsd:element>

</xsd:schema>


Рекомендуем скачать другие рефераты по теме: права человека реферат, реферат влияние.


Категории:




Предыдущая страница реферата | 17  18  19  20  21  22  23  24  25  26  27 |


Поделитесь этой записью или добавьте в закладки

   



Рефераты от А до Я


Полезные заметки

  •