Esportare un report impaginato in un file XML (Generatore report)

Si applica a:Generatore di report Microsoft (SSRS) Power BI Report Builder Progettazione report in SQL Server Data Tools

L'estensione per il rendering XML restituisce un report impaginato in formato XML. Lo schema per il report XML è specifico del report e contiene solo dati. L'estensione di rendering XML non rende le informazioni di layout e non mantiene la paginazione. Il codice XML generato da questa estensione può essere importato in un database, usato come messaggio di dati XML o inviato a un'applicazione personalizzata.

Nota

È possibile creare e modificare file di definizione di report impaginati (.rdl) in Generatore report di Microsoft, Power BI Report Builder e in Progettazione report in SQL Server Data Tools.

Elementi del report

La tabella seguente descrive come vengono visualizzati gli elementi del report.

Articolo Comportamento del rendering
Rapporto Viene visualizzato come elemento di primo livello del documento XML.
Aree dati Viene visualizzato come un elemento all'interno dell'elemento del suo contenitore. Nelle aree dati sono inclusi tabelle, matrici ed elenchi in cui i dati vengono visualizzati sotto forma di testo e grafico, nonché barre dei dati, grafici sparkline, misuratori e indicatori in cui vengono visualizzati dati.
Sezioni di gruppo e di dettaglio Ogni istanza viene visualizzata come un elemento all'interno dell'elemento del relativo contenitore.
Casella di testo Viene visualizzato come attributo o elemento all'interno del contenitore.
Rettangolo Viene visualizzato come elemento all'interno del relativo contenitore.
Gruppi di colonne della matrice Viene visualizzato come elementi all'interno di gruppi di righe.
Mappa Viene visualizzato come un elemento all'interno dell'elemento del suo contenitore. I livelli mappa sono elementi figlio della mappa e ogni livello mappa include elementi per i relativi membri della mappa e per gli attributi dei membri della mappa.
Grafico Viene visualizzato come un elemento all'interno dell'elemento del relativo contenitore. Le serie sono elementi figlio del grafico, mentre le categorie sono elementi figlio di una serie. Visualizza tutte le etichette del grafico per ogni valore del grafico. Le etichette e i valori sono inclusi come attributi.
Barra dei dati Viene visualizzato come un elemento all'interno dell'elemento del suo contenitore, in modo analogo a un grafico. In genere, in una barra dei dati non sono incluse gerarchie o etichette, bensì solo valori.
Sparkline Viene visualizzato come un elemento all'interno dell'elemento del suo contenitore, analogamente a un grafico. In genere, in un grafico sparkline non sono incluse gerarchie o etichette, bensì solo valori.
Misuratore Viene visualizzato come un elemento all'interno dell'elemento del relativo contenitore. Viene visualizzato come un singolo elemento con i valori minimo e massimo della scala, i valori iniziale e finale dell'intervallo e il valore del puntatore come attributi.
Indicatore Viene visualizzato come un elemento all'interno dell'elemento del relativo contenitore, in modo simile a un indicatore. Viene visualizzato come un singolo elemento con il nome dello stato attivo, gli stati disponibili e il valore dei dati come attributi.

Per i report generati dall'estensione per il rendering XML sono inoltre previste le regole seguenti:

  • Il rendering degli elementi e degli attributi XML viene eseguito rispettando l'ordine in cui sono visualizzati nella definizione del report.

  • L'impaginazione viene ignorata.

  • Le intestazioni e i piè di pagina non vengono visualizzati.

  • Gli elementi nascosti che non possono essere resi visibili attivando o disattivando la visualizzazione non vengono visualizzati. Vengono visualizzati gli elementi inizialmente visibili e quelli nascosti che possono essere resi visibili tramite un interruttore.

  • Immagini, linee ed elementi personalizzati del report vengono ignorati.

Tipo di dati

All'attributo o all'elemento casella di testo viene assegnato un tipo di dati XSD in base ai valori visualizzati nella casella di testo.

Se tutti i valori della casella di testo sono Il tipo di dati assegnato è
Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte xsd:integer
Decimal (o Decimal e qualsiasi tipo di dati integer o byte) xsd:decimal
Float (o Decimal e qualsiasi tipo di dati integer o byte) xsd:float
Double (o Decimal e qualsiasi tipo di dato intero o byte) xsd:double
DateTime o DateTime Offset xsd:dateTime
Tempo xsd:string
Booleano xsd:boolean
String, Char xsd:string
Altro xsd:string

Regole di rendering specifiche per XML

Nelle sezioni seguenti viene descritta l'interpretazione degli elementi di un report da parte delle estensioni per il rendering XML.

Corpo del report

Un report viene visualizzato come elemento radice del documento XML. Il nome dell'elemento deriva dalla proprietà DataElementName impostata nel riquadro Proprietà.

Nell'elemento report sono inclusi anche le definizioni degli spazi dei nomi XML e gli attributi di riferimento dello schema. Le variabili sono indicate in <>:

<<Report> xmlns="<SchemaName>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:<schemaLocation>="<SchemaNameReportURL>&amp;rc%3aSchema=true" Name="ReportName">

I valori delle variabili sono i seguenti:

Nome Valore
Rapporto Report.DataElementName
ReportURL URL assoluto con codifica URL del report sul server.
SchemaName Report.SchemaName. Se null, allora Report.Name. Se Report.Name viene usato, il valore viene prima codificato con XmlConvert.EncodeLocalName.
ReportName Il nome del rapporto.

Caselle di testo

Le caselle di testo vengono visualizzate come elementi o attributi in base alla proprietà RDL DataElementStyle. Il nome dell'elemento o dell'attributo deriva dalla proprietà RDL TextBox.DataElementName.

Grafici, barre dati e sparkline

I grafici, le barre dei dati e gli sparkline sono visualizzati in XML. I dati sono strutturati.

Misuratori e indicatori

Il rendering dei misuratori e degli indicatori viene eseguito in XML. I dati sono strutturati.

Sottoreporti

Un sottoreport viene visualizzato come elemento. Il nome dell'elemento deriva dalla proprietà RDL DataElementName. L'impostazione della proprietà TextBoxesAsElements del report sostituisce quella del sottoreport. Gli attributi namespace e XSLT non vengono aggiunti all'elemento subreport.

Rettangoli

Un rettangolo viene visualizzato come elemento. Il nome dell'elemento deriva dalla proprietà RDL DataElementName.

Elementi dei report personalizzati

I CustomReportItems (CRI) non sono visibili all'estensione per il rendering. Se nel report è presente un elemento personalizzato, l'estensione di rendering lo visualizza come un elemento del report standard.

Immagini

Le immagini non vengono visualizzate.

Righe

Le linee non vengono visualizzate.

Tabelle, matrici ed elenchi

Tabelle, matrici ed elenchi vengono visualizzati come elemento. Il nome dell'elemento deriva dalla proprietà RDL DataElementName della Tablix.

Righe e colonne

Le colonne sono renderizzate all'interno delle righe.

Angolo Tablix

L'angolo non viene renderizzato. Viene visualizzato solo il contenuto dell'angolo.

Celle Tablix

Le celle Tablix vengono visualizzate come elementi. Il nome dell'elemento deriva dalla proprietà RDL DataElementName della cella.

Subtotali automatici

I subtotali automatici di Tablix non vengono visualizzati.

Elementi di riga e di colonna che non si ripetono all'interno di un gruppo

Gli elementi che non si ripetono con un gruppo, ad esempio etichette, subtotali e totali, vengono visualizzati come elementi. Il nome dell'elemento deriva dalla proprietà RDL TablixMember.DataElementName.

La proprietà TablixMember.DataElementOutput RDL determina se un elemento non ripetitivo viene visualizzato.

Se la proprietà DataElementName del membro Tablix non viene specificata, viene dinamicamente generato un nome per l'elemento non ripetuto nel formato seguente:

RowX: Per le righe non ripetute, dove X è un indice di riga a base zero all'interno dell'elemento padre corrente.

ColumnY Per le colonne non ripetute, dove Y è un indice in base zero della colonna all'interno dell'elemento padre corrente.

Un'intestazione non ripetuta viene visualizzata come elemento figlio della riga o della colonna che non si ripete insieme a un gruppo.

Se un membro non ripetuto non dispone di celle Tablix corrispondenti, non viene visualizzato. Questo risultato può verificarsi nel caso di una cella Tablix che si estende in più di una colonna.

Righe e colonne che si ripetono insieme a un gruppo

Il rendering di righe e colonne che si ripetono in un gruppo viene eseguito in base alle regole Tablix.DataElementOutput. Il nome dell'elemento deriva dalla proprietà DataElementName.

Ogni valore univoco all'interno di un gruppo viene visualizzato come elemento figlio del gruppo. Il nome dell'elemento deriva dalla proprietà Group.DataElementName.

Se il valore della proprietà DataElementOutput è uguale a Output, l'intestazione di un elemento ripetuto viene visualizzata come elemento figlio dell'elemento dettaglio.

Formati personalizzati e trasformazioni XSL

I file XML generati dall'estensione per il rendering XML possono essere trasformati in quasi tutti i formati utilizzando trasformazioni XSL (XSLT). Questa funzionalità consente di produrre dati in formati non supportati dalle estensioni per il rendering esistenti. È consigliabile provare a utilizzare l'estensione per il rendering XML e le trasformazioni XSL prima di creare estensioni per il rendering personalizzate.

Nomi duplicati

Se sono presenti nomi di elementi dati duplicati all'interno dello stesso ambito, verrà visualizzato un messaggio di errore del renderer.

Trasformazioni XSLT

Il renderer XML può applicare una trasformazione XSLT lato server ai dati XML originali. Quando viene applicata una trasformazione XSLT, il renderer restituisce il contenuto trasformato anziché i dati XML originali. La trasformazione si verifica nel server, non nel client.

La trasformazione XSLT da applicare all'output viene specificata o nel file di definizione del report oppure tramite la proprietà DataTransform del report. In alternativa, può essere specificato con il parametro DeviceInfo XSLT.

Se viene impostato uno di questi valori, la trasformazione si verifica ogni volta che viene utilizzato il renderer XML. Quando si usano gli abbonamenti, XSLT deve essere definito nella proprietà RDL DataTransform.

Se si specifica un file XSLT, tramite la proprietà di definizione DataTransform e l'impostazione delle informazioni sul dispositivo, la trasformazione XSLT specificata in DataTransform si verifica per prima, seguita dalla trasformazione XSLT specificata tramite le impostazioni delle informazioni sul dispositivo.

Impostazioni relative alle informazioni sul dispositivo

È possibile modificare alcune impostazioni predefinite per questo renderer modificando le impostazioni relative alle informazioni sul dispositivo, incluse le seguenti impostazioni:

  • Trasformazione (XSLT) da applicare al codice XML

  • Tipo MIME del documento XML

  • Applicazione o meno di stringhe di formato ai dati

  • Rientro o meno dell'output XML

  • Se includere o meno il nome dello schema XML

  • La codifica del documento XML.

  • Estensione del file del documento XML.

Per altre informazioni, vedere Impostazioni relative alle informazioni sul dispositivo XML.