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

  • Здесь я использовал новую аннотированную схему и шаблон трансформации.

    Аннотированная схема:

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

    <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="Авторы" sql:relation="authors">

      <AttributeType name="Имя" dt:type="string" />

      <AttributeType name="Фамилия" dt:type="string" />

      <AttributeType name="Адрес" dt:type="string" />

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

      <attribute type="Фамилия" sql:field="au_lname" />

      <attribute type="Адрес" sql:field="address" />

     </ElementType>

    </Schema>

    Шаблон трансформации:

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

    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

     

     <xsl:template match = "*">

      <xsl:apply-templates />

     </xsl:template>

     <xsl:template match = "/">

      <html>

      <body>

       <table border="1" style="table-layout:fixed" width="600">

       <tr bgcolor="teal">

         <th><font color="white">Имя</font></th>

         <th><font color="white">Фамилия</font></th>

         <th><font color="white">Адрес</font></th>

       </tr>

        <xsl:for-each select="my_root/Авторы">

        <tr>

         <td><font color="teal"><xsl:value-of select="@Имя"/></font></td>

         <td><font color="teal"><xsl:value-of select="@Фамилия"/></font></td>

         <td><font color="teal"><xsl:value-of select="@Адрес"/></font></td>

        </tr>

        </xsl:for-each>

       </table>

      </body>

      </html>

     </xsl:template>

    </xsl:stylesheet>

    XML-документ на стороне клиента

    Предположим, ваш SQL Server работает в очень напряженном режиме, и вы не хотите нагружать его еще больше, заставляя формировать XML-документы. Можно сделать так: создать обычный рекордсет и загрузить его в формате XML в объект DOMDocument или какой-либо другой. Решение на первый взгляд здравое, однако, поработав немного с таким документом, вы поймете, что это не то. Во-первых, структура такого XML-документа задается жестко без возможности изменения. Во-вторых, схема сохраняется в формате XDR, а он уже стар и может не удовлетворять вашим потребностям. К тому же возникают проблемы с выполнением шаблонов и XPath-запросами. Для решения этих (и многих других) проблем был создан новый сервисный провайдер – SQLXMLOLEDB. Как и другие сервисные провайдеры (например, MSDataShape) он предназначен только для преобразования результирующего набора строк в нужный формат. Так как SQLXMLOLEDB ничего не знает о форматах протоколов обмена данными с SQL-серверами, он использует для этого соответствующий провайдер. К сожалению, провайдер SQLXMLOLEDB пока умеет работать совместно только с SQLOLEDB-провайдером для SQL Server, однако в будущем (по крайней мере, я очень надеюсь) он сможет работать с другими провайдерами, например, MSDAORA (провайдер для Oracle). Если такая поддержка будет встроена, у нас будет возможность получать XML-документы от источников, которые не поддерживают XML напрямую.


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



    Предыдущая страница реферата | 25  26  27  28  29  30  31  32  33  34  35 |




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

       




    Категории:



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




    •