Рефераты | Рефераты по информатике, программированию | Использование XML совместно с SQL | страница реферата 22 | Большая Энциклопедия Рефератов от А до Я
Большая Энциклопедия Рефератов от А до Я
  • Рефераты, курсовые, шпаргалки, сочинения, изложения
  • Дипломы, диссертации, решебники, рассказы, тезисы
  • Конспекты, отчеты, доклады, контрольные работы

  • В этом примере аннотированная схема должна находится в файле 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 |




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

       




    Категории:



    Разделы сайта




    •