Вход/Регистрация
Обработка баз данных на Visual Basic®.NET
вернуться

Прайс Кевин Т.

Шрифт:

SQL Server предоставляет данные в формате XML, а для сохранения запроса используется шаблон в файле noveltytemplate.xml. Единственным назначением этого файла является сбор данных и присвоение страницы стиля.

<?xml version =1.0' encoding='UTF-8 '?>

<root xmlns:sql='urn:schemas-microsoft-com:xml-sql' sql:xsl='noveltyxsl.xsl' >

 <sql:query>

SELECT FirstName, LastName, Address, City, State FROM tblCustomer FOR XML AUTO

 </sql:query>

</root>

В первой строке задается базовый XML-документ и способ связывания со страницей стиля, который аналогичен применению элемента xml:stylesheet в листинге 9.2. Следующий элемент sql:query является контейнером команды SQL или выполняемого запроса. Предложение FOR XML AUTO сообщает SQL Server о возвращении результатов в формате XML. В шаблоне предполагается, что корневой элемент называется root, поэтому его не нужно указывать в шаблоне запроса.

НА ЗАМЕТКУ

Для динамического присвоения страницы стиля с помощью SQLXML нужно добавить в URL-указатель параметр запроса xsl= и указать используемый файл в форматефайла_стиля.xsl.

 В листинге 9.7 показана страница стиля XSL, которая используется для создания итогового XML-документа. Для указания атрибута в ней применяется технология XPATH. С помощью синтаксиса CSS и HTML создается формат представления извлеченной информации в окне Web-броузера.

ЛИСТИНГ 9.7. Файл noveltyxsl.xsl

<?xml version='1.0' encoding='UTF-8'?>

<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 = 'tblCustomer'>

<TR>

<!-- Обратите внимание на использование XPATH для сбора данных из полей.
– ->

<TD><xsl:value-of select='@FirstName' /></TD>

<TD><xsl:value-of select='@LastName' /></TD>

<TD><xsl:value-of select='@Address' /></TD>

<TD><xsl:value-of select='@City' /></TD>

<TD><xsl:value-of select='@State' /></TD>

</TR>

 </xsl:template>

 <xsl:template match = '/'>

<HTML>

<HEAD>

<STYLE>th {background-color: #000080; color: #ffffff;} td {font-family: Arial} </STYLE>

</HEAD>

<BODY>

<TABLE border='1' style='width:600;'>

<TR><TH colspan='9' >Customers</TH></TR>

<TR>

<TH>First name</TH>

<TH>Last name</TH>

<TH>Address</TH>

<TH>City</TH>

<TH>State</TH>

</TR>

<xsl:apply-templates select = 'root' />

</TABLE>

</BODY>

</HTML>

</xsl:template>

</xsl:stylesheet>

Разместите оба файла (noveltytemplate.xml и noveltyxsl.xsl) в подчиненном каталоге templates виртуального Web-каталога Novelty, который описывается в предыдущем разделе. После этого откройте Web-броузер Internet Explorer версии 6.0 или выше и введите в нем следующий URL-указатель:

http://localhost/Novelty/templates/noveltytemplate.xml?contenttype=text/html

 Параметр contenttype используется для указания формата представления конечного результата, т.е. в виде HTML-страницы. После выполнения описанных действий данные в окне Web-броузера будут иметь такой вид, как на рис. 9.14.

  • Читать дальше
  • 1
  • ...
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: