Freigeben über


Anwenden von Transformationen auf die XML-Ausgabe

Aktualisiert: 12. Dezember 2006

Mit der XML-Renderingerweiterung können XML-Dateien generiert werden, die zur Laufzeit während eines Berichtexportvorgangs erstellt werden. Die dabei entstehende XML-Datei kann anschließend mithilfe von XSL-Transformationen (XSLT) in nahezu jedes beliebige Format transformiert werden. Mit der XML-Renderingerweiterung und XSLT können Sie Formate erstellen, die von den vorhandenen Renderingerweiterungen nicht unterstützt werden.

XSLT wird häufig in den folgenden drei Szenarien verwendet:

  • Datenübertragung   Sie können die XML-Ausgabe von Reporting Services in ein anderes XML-Format transformieren, das von einer anderen Anwendung gelesen werden kann.
  • Textrendering   Ein XML-Bericht kann in eine einfache Textdatei transformiert werden. Abhängig von den Berichtsdaten werden Sonderzeichen (z. B. das kaufmännische Und-Zeichen) u. U. in einem HTML-codierten Format gerendert (z. B. als &amp;). Um eine HTML-Codierung von Sonderzeichen zu verhindern, können Sie der XSLT-Datei das folgende Methodenattribut hinzufügen: <xsl:output method="text" encoding="utf-8" media-type="text/plain"/>.
  • HTML-Rendering   Anhand eines XML-Berichts können Sie HTML-Dokumente oder sonstige Dokumente erstellen.

Der von der XML-Renderingerweiterung generierte XML-Code ist berichtsspezifisch. Deshalb muss die XSL-Transformation speziell für den jeweiligen Bericht geschrieben werden.

ms159716.note(de-de,SQL.90).gifHinweis:
Aus Sicherheitsgründen werden XSL-Transformationen mit eingebettetem Microsoft Visual Basic-Code von Reporting Services nicht unterstützt.

Beispiele

Wenn Sie den folgenden XSL-Code in einer Datei speichern und auf den Berichtsserver uploaden, kann damit der Beispielbericht Product Catalog in eine einfache Textliste mit Produktmodellen transformiert werden.

<?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>

Zum Transformieren des Beispielberichts können Sie Geräteinformationseinstellungen in dem URL verwenden, mit dem der Bericht ausgeführt wird. Beispielsweise führt der folgende URL den Bericht aus, wendet die Transformation an und gibt die Datei mit der Erweiterung TXT aus. Bei diesem Beispiel wird davon ausgegangen, dass der XSL-Code aus dem vorherigen Beispiel unter dem Dateinamen ProductModels.xsl im selben Ordner wie der Bericht Product Catalog auf dem Berichtsserver gespeichert wird.

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

Das Transformieren des XML-Berichts mithilfe von XSLT ist nicht nur mit Reporting Services möglich. Sie können den XML-Bericht auch vom Berichtsserver abrufen und XSLT mithilfe Ihrer eigenen Anwendung anwenden.

ms159716.note(de-de,SQL.90).gifHinweis:
Die in diesem Beispiel verwendete XSL-Datei gilt speziell für den Beispielbericht Product Catalog. Falls Sie einen anderen Bericht verwenden oder den Bericht Product Catalog ändern, kann die Datei möglicherweise nicht ordnungsgemäß transformiert werden.

Siehe auch

Konzepte

Exportieren von Berichten
Definieren von Berichtsdatasets für XML-Daten
Entwerfen für die XML-Ausgabe

Andere Ressourcen

Using a URL to Access Report Server Items
AdventureWorks-Beispielberichte

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Geänderter Inhalt:
  • Der Standardbeispielpfad im XML-Renderingbefehl wurde korrigiert.

05. Dezember 2005

Neuer Inhalt:
  • Text zur Renderingwarnung.