Condividi tramite


Applicazione di trasformazioni all'output XML

Data aggiornamento: 12 dicembre 2006

È possibile utilizzare l'estensione per il rendering XML per generare file XML creati durante operazioni di esportazione di report in fase di esecuzione. Il file XML risultante potrà essere successivamente convertito in quasi tutti i formati tramite trasformazioni XSL (XSLT). È possibile utilizzare l'estensione per il rendering XML e XSLT per ottenere formati non supportati dalle estensioni per il rendering esistenti.

L'utilizzo delle trasformazioni XSL è consigliabile in tre scenari comuni:

  • Trasferimento dei dati   È possibile trasformare l'output XML di Reporting Services in un altro formato XML che potrà essere utilizzato da un'altra applicazione.
  • Rendering di testo   È possibile trasformare un report XML in un file di solo testo. A seconda dei dati del report, è possibile che caratteri speciali, ad esempio la e commerciale, vengano visualizzati in un formato con codifica HTML (&amp;). Per evitare la codifica HTML di caratteri speciali, aggiungere l'attributo di metodo seguente al file XSLT: <xsl:output method="text" encoding="utf-8" media-type="text/plain"/>.
  • Rendering HTML   È possibile creare documenti HTML o di altro tipo da un report XML.

Il codice XML generato dall'estensione per il rendering XML è specifico del report, pertanto la trasformazione XSL deve essere scritta appositamente per il report.

[!NOTA] Per motivi di protezione, le trasformazioni XSL con codice Microsoft Visual Basic incorporato non sono supportate in Reporting Services.

Esempi

Il seguente codice XSL, dopo essere stato salvato in un file e caricato nel server di report, può essere utilizzato per trasformare il report di esempio Product Catalog in un elenco di modelli di prodotti in testo normale.

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

Per trasformare il report di esempio, è possibile utilizzare le impostazioni relative alle informazioni sui dispositivi nell'URL utilizzato per eseguire il report. L'URL seguente consente, ad esempio, di eseguire il report, di applicare la trasformazione e di generare un file con estensione txt. In questo esempio si presuppone che il codice XSL dell'esempio precedente sia archiviato con il nome ProductModels.xsl nella stessa cartella del report Product Catalog nel server di report.

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

Per trasformare i report XML applicando trasformazioni XSL non è obbligatorio utilizzare Reporting Services. È anche possibile recuperare il codice XML dal server di report e applicare la trasformazione XSL utilizzando la propria applicazione.

[!NOTA] Il file XSL utilizzato in questo esempio è specifico del report di esempio Product Catalog. Se si utilizza un report diverso, oppure se il report Product Catalog è stato modificato, la trasformazione del file potrebbe non essere eseguita in modo corretto.

Vedere anche

Concetti

Esportazione di report
Definizione di set di dati del report per i dati XML
Progettazione per l'output XML

Altre risorse

Using a URL to Access Report Server Items
Report di esempio di AdventureWorks

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

12 dicembre 2006

Contenuto modificato:
  • Correzione del percorso di esempio predefinito per il rendering XML.

5 dicembre 2005

Nuovo contenuto:
  • Avviso di rendering di testo.