Application de transformations à une sortie XML
Mis à jour : 12 décembre 2006
Vous pouvez utiliser l'extension de rendu XML pour produire des fichiers XML qui sont créés lors des opérations d'exportation de rapports au moment de l'exécution. Le fichier XML résultant peut ensuite être transformé en n'importe quel format à l'aide de transformations XSL (XSLT). Vous pouvez utiliser l'extension de rendu XML et XSLT pour générer des formats qui ne sont pas pris en charge par les extensions de rendu existantes.
Il existe trois cas de figure courants pour lesquels vous pouvez utiliser XSLT :
- Transfert de données Vous transformez la sortie XML à partir de Reporting Services pour qu'elle s'affiche dans un autre format XML lisible par une autre application.
- Rendu de texte Vous transformez un rapport XML en simple fichier texte. Selon les données du rapport, les caractères spéciaux (par exemple le caractère « & ») peuvent être rendus dans un format codé HTML (par exemple, &). Pour éviter le codage HTML des caractères spéciaux, ajoutez l'attribut de méthode suivant à votre fichier XSLT :
<xsl:output method="text" encoding="utf-8" media-type="text/plain"/>
. - Rendu HTML Vous créez des documents en format HTML ou dans d'autres format à partir d'un rapport XML.
La sortie XML générée par l'extension de rendu XML est spécifique au rapport. Pour cette raison, la transformation XSL que vous écrivez doit être spécifique au rapport.
Remarque : |
---|
Pour des raisons de sécurité, Reporting Services ne prend pas en charge les transformations XSL avec le code Microsoft Visual Basic incorporé. |
Exemples
La sortie XSL suivante, lorsqu'elle est enregistrée dans un fichier puis téléchargée sur le serveur de rapports, peut être utilisée pour transformer l'exemple de rapport Product Catalog (Catalogue de produits) en liste de modèles de produits au format texte.
<?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>
Pour transformer l'exemple de rapport, vous pouvez utiliser les paramètres d'informations de périphérique dans l'URL utilisée pour exécuter le rapport. Par exemple, l'URL suivante exécute le rapport, applique la transformation, puis génère le fichier avec une extension .txt. Cet exemple s'appuie sur l'hypothèse que la sortie XSL de l'exemple précédent est stockée sous le nom ProductModels.xsl, dans le même dossier que le rapport Product Catalog sur le serveur de rapports.
https://localhost/reportserver?/AdventureWorks%20Sample%20Reports/Product+Catalog&rs:Command=Render&rs:Format=XML&rc:OmitSchema=True&rc:FileExtension=txt&rc:XSLT=ProductModels.xsl
L'utilisation de Reporting Services pour transformer un rapport XML à l'aide de XSLT ne fait l'objet d'aucune limitation. Vous pouvez également extraire le code XML à partir d'un serveur de rapports et appliquer XSLT à l'aide de votre propre application.
Remarque : |
---|
Le fichier XSL utilisé dans cet exemple est spécifique à l'exemple de rapport Product Catalog. Si un autre rapport est utilisé ou si le rapport Product Catalog est modifié, il est possible que la transformation du fichier ne s'effectue pas correctement. |
Voir aussi
Concepts
Exportation des rapports
Définition de datasets de rapport pour des données XML
Conception pour une sortie XML
Autres ressources
Using a URL to Access Report Server Items
Exemples de rapports AdventureWorks
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
12 décembre 2006 |
|
5 décembre 2005 |
|