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

  • Здесь явно указаны аннотации, позволяющие связать XML-элементы с таблицей authors и соответствующими полями. В данном случае все они не обязательны, т. к. SQLXML может вывести связи из названий узлов. Вот пример, где аннотации действительно необходимы. Для разнообразия адрес и фамилия вынесены в отдельные элементы:

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

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

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

     <xsd:element name="Авторы" sql:relation="authors">

      <xsd:complexType>

       <xsd:sequence>

        <xsd:element name="Фамилия" sql:field="au_lname"/>

        <xsd:element name="Адрес" sql:field="address" />

       </xsd:sequence>

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

      </xsd:complexType>

     </xsd:element>

    </xsd:schema>

    Если схема находится в виртуальном каталоге, тип которого schema, вы можете выполнять XPath-запросы, непосредственно указывая их в URL. Результирующий документ может не иметь корневого элемента, поэтому не забывайте указывать параметр root.

    http://server/server_pubs/schema/xsd_map_schema.xml/Авторы?root=root

    Вот другие аннотации, часто используемые в схемах:

    relationship – элемент, обозначающий связь с соответствующими друг другу первичными и внешними ключами. Используется для построения иерархических XML-документов.

    is-constant – указывает, что соответствующий элемент не связывается с таблицей или колонкой базы данных.

    map-field – булева переменная, принимающая значение 0 или 1. Значение 0 указывает, что соответствующий элемент не будет присутствовать в результирующем документе. С выходом SQLXML 3.0 аннотация была переименована в mapped.

    limit-field и limit-value – предназначены для указания поля и его значения, по которым будет фильтроваться запрос к базе данных. Результат использования этих аннотаций аналогичен ограничению результирующего набора строк с помощью оператора WHERE.

    use-cdata – указывает, что соответствующий XML-узел будет представлен в секции CDATA результирующего документа. Узел должен быть связан с полем таблицы или представления и не может применяться совместно с url-encode или ID, IDREF, IDREFS, NMTOKEN и NMTOKENS.

    hide – булева переменная, принимающая значение 0 или 1. Указывает на то, что соответствующий XML-узел будет скрыт (значение 0) в результирующем XML-документе, однако может быть использован в запросе XPath. Не путайте её с аннотацией mapped. Различие в том, что при помощи mapped XML-узел совсем исключается из документа, так что не может быть использован в запросе XPath.

    Рассмотрим пример, демонстрирующий работу некоторых из перечисленных аннотаций. В разделе FOR XML EXPLICIT был составлен иерархический список издательств и служащих, которые в них работают. Попробуем получить такой же XML-документ с помощью аннотированной схемы:

    <?xml version="1.0" ?>

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

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

     <xsd:annotation>

      <xsd:appinfo>

       <sql:relationship name="PubsEmployees"

        parent="publishers" parent-key="pub_id"

        child="employee" child-key="pub_id" />

      </xsd:appinfo>

     </xsd:annotation>

     <xsd:element name="pubs" sql:relation="publishers">

      <xsd:complexType>

       <xsd:sequence>

        <xsd:element name="employee"

         sql:relation="employee"

         sql:relationship="PubsEmployees" >

         <xsd:complexType>

          <xsd:attribute name="First_Name" sql:field="fname"

                  type="xsd:string" />

          <xsd:attribute name="Last_Name" sql:field="lname"

                  type="xsd:string" />

          <xsd:attribute name="minit" sql:field="minit"

                  type="xsd:string" sql:hide="1" />

         </xsd:complexType>

        </xsd:element>

       </xsd:sequence>


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



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




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

       




    Категории:



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




    •