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 &). 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.
Hinweis: |
---|
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>
</xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Report">
<xsl:for-each select="ProductTable/ProductTable_Group1_Collection/ProductTable_Group1">
<xsl:text>
</xsl:text>
<xsl:value-of select="@Category"/>
<xsl:for-each select="ProductTable_Group2_Collection/ProductTable_Group2">
<xsl:text>
 </xsl:text>
<xsl:value-of select="@SubCategory"/>
<xsl:for-each select="ProductTable_Group3_Collection/ProductTable_Group3">
<xsl:text>
 </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.
Hinweis: |
---|
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 |
|
05. Dezember 2005 |
|