Поделиться через


Применение преобразований к выводу XML

Изменения: 12 декабря 2006 г.

Модуль подготовки XML-отчета можно использовать для создания XML-файлов, сформированных в процессе экспортирования отчета во время работы. Полученные в результате XML-файлы можно впоследствии преобразовать почти в любой формат при помощи преобразований XSL Transformations (XSLT). Модуль подготовки отчетов в формате XML вместе с XSL-преобразованиями позволяет получать форматы, не поддерживаемые существующими модулями подготовки отчетов.

Существует три типичных сценария, в которых можно использовать XSL-преобразования.

  • Передача данных   Можно преобразовать XML-вывод служб Reporting Services в другой формат XML, доступный для чтения другим приложением.
  • Подготовка в виде текста   Можно преобразовать отчет в XML-формате в обычный текстовый файл. В зависимости от данных отчета, можно обнаружить, что специальные символы (например символ амперсанда) преобразуются в HTML-формате (например &amp;). Чтобы избежать кодирования специальных символов в формат HTML, добавьте в XSLT-файл следующий атрибут метода: <xsl:output method="text" encoding="utf-8" media-type="text/plain"/>.
  • Подготовка в виде HTML   Из отчета в XML-формате можно создавать HTML-документы или документы других типов.

Структура XML-документа, создаваемого модулем подготовки в формате XML, зависит от конкретного отчета. Поэтому пользовательское XSL-преобразование также должно соответствовать конкретному отчету.

ms159716.note(ru-ru,SQL.90).gifПримечание.
По соображениям безопасности службы Reporting Services не поддерживают XSL-преобразования с внедренным кодом на языке Microsoft Visual Basic.

Примеры

Следующий XSL-код (при сохранении его в файле и передаче на сервер отчетов) можно использовать для преобразования образца отчета «Каталог продуктов» в неформатированный список моделей продуктов.

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:output method="text" encoding="utf-8" media-type="text/plain"/>
<xsl:strip-space elements="*"/> 

<xsl:template match="/">
  <xsl:text>Product Models</xsl:text>
  <xsl:text>&#xD;&#xA;</xsl:text>
  <xsl:apply-templates/>
</xsl:template>

<xsl:template match="Report">
  <xsl:for-each select="ProductTable/ProductTable_Group1_Collection/ProductTable_Group1">
    <xsl:text>&#xD;&#xA;</xsl:text>
    <xsl:value-of select="@Category"/>
    <xsl:for-each select="ProductTable_Group2_Collection/ProductTable_Group2">
      <xsl:text>&#xD;&#xA;    </xsl:text>
      <xsl:value-of select="@SubCategory"/>
      <xsl:for-each select="ProductTable_Group3_Collection/ProductTable_Group3">
        <xsl:text>&#xD;&#xA;        </xsl:text>
        <xsl:value-of select="@Model"/>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:for-each>
  <xsl:apply-templates/>
</xsl:template>

</xsl:stylesheet>

Чтобы преобразовать образец отчета, можно использовать настройки сведений об устройстве в URL-адресе, применяемом для выполнения отчета. Например, следующий URL-адрес выполняет отчет, применяет преобразование и выводит файл с расширением TXT. В этом примере предполагается, что XSL-код из предыдущего примера сохранен с именем ProductModels.xsl в той же папке на сервере отчетов, что и отчет «Каталог продуктов».

https://localhost/reportserver?/AdventureWorks%20Sample%20Reports/Product+Catalog&rs:Command=Render&rs:Format=XML&rc:OmitSchema=True&rc:FileExtension=txt&rc:XSLT=ProductModels.xsl

Преобразовывать XML-отчеты с помощью XSL-преобразований можно не только с помощью служб Reporting Services. Имеется возможность получить XML-документ с сервера отчетов и выполнить над ним XSL-преобразование в пользовательском приложении.

ms159716.note(ru-ru,SQL.90).gifПримечание.
XSL-файл, использованный в этом примере, относится к образцу отчета «Каталог продуктов». Если использовать другой отчет или изменить отчет «Каталог продуктов», то файл может быть преобразован неправильно.

См. также

Основные понятия

Экспорт отчетов
Определение наборов данных отчета для XML-данных
Конструирование для выходных данных в XML-формате

Другие ресурсы

Using a URL to Access Report Server Items
Образцы отчетов AdventureWorks

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Измененное содержимое
  • Исправлен образец пути в команде подготовки отчета XML.

5 декабря 2005 г.

Новое содержимое
  • Предупреждение о подготовке текста.