Реферат: Использование XML совместно с SQL
</html>
</xsl:template>
</xsl:stylesheet>
Более подробную информацию о XSL можно найти в [4].
В ответ на следующий URL-запрос вы получите преобразованный XML-документ.
http://server/server_pubs/?sql=select au_fname,au_lname,address from authors where au_fname like 'M%25' for xml raw&root = my_root&xsl = xsl_for_query.xsl |
На самом деле работа с URL-запросами интересна только первые несколько минут. Действительно, очень неудобно возиться со строкой адреса и бесконечными символами процента в ней, к тому же URL-запросы не очень хороши в смысле безопасности. Альтернативой им являются шаблоны.
Шаблоны
Шаблоны в контексте этой статьи являются обычными XML-документами, составленными по определенным правилам. Основным их содержанием является SQL-запрос или вызов хранимой процедуры. Шаблоны также используются для запросов XPath, однако их я коснусь чуть позже. Параметры шаблона задаются в URL-строке. Если они там не указаны, берутся значения по умолчанию из соответствующих тегов <param>.
Шаблоны хранятся на сервере, поэтому в смысле безопасности их использование намного предпочтительнее, чем URL-запросов. Чтобы ISAPI-расширение, которое их обрабатывает, поняло, что вы вызываете шаблон, его нужно поместить в свой виртуальный каталог. Обычно он называется template. Настроить его можно в упоминавшемся ранее мастере "Configure SQL XML Support in IIS" на закладке Virtual Names.
Структура шаблона выглядит так:
<?xml version="1.0" ?> <your_root xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="xsl file name"> <xql:header> <xql:param name="your_param_name"> param_value </sql:param> <xql:param name="your_param_name"> param_value </sql:param>...n </xql:header> <sql:query> любое SQL-выражение </sql:query> </your_root> |
Для форматирования результатов исполнения шаблона может быть использована XSL-трансформация. Для этого необходимо задать атрибут xsl, значение которого есть относительный или полный путь до файла, содержащего шаблон трансформации. Атрибут xsl необязателен, как и раздел header.
Вот как будет выглядеть шаблон, основанный на изрядно уже поднадоевшем вам запросе.
<?xml version="1.0" ?> <my_root xmlns:sql="urn:schemas-microsoft-com:xml-sql" sql:xsl="xsl_for_query.xsl"> <sql:query> select au_fname,au_lname,address from authors where au_fname like 'M%' for xml raw К-во Просмотров: 543
Бесплатно скачать Реферат: Использование XML совместно с SQL
|