Report Definition Language (SSRS)

Report Definition Language (RDL) è una rappresentazione XML di una definizione di report di SQL Server Reporting Services. Una definizione di report contiene il recupero dati e le informazioni sul layout per un report. RDL è costituito da elementi XML corrispondenti a una grammatica XML creata per Reporting Services. È possibile aggiungere le proprie funzioni personalizzate per controllare i valori, gli stili e la formattazione degli elementi del report accedendo agli assembly di codice all'interno dei file di definizione del report.

RDL promuove l'interoperabilità di prodotti per la creazione di report commerciali mediante la definizione di un schema comune che consente lo scambio di definizioni dei report. Con RDL è possibile utilizzare qualsiasi protocollo o interfaccia programmatica appropriato per XML. RDL consiste in:

  • XML Schema per le definizioni dei report.

  • Un formato di interscambio per aziende e terze parti.

  • Uno schema estensibile e aperto che supporta spazi dei nomi aggiuntivi ed elementi personalizzati.

Specifiche RDL

Per scaricare le specifiche per versioni dello schema specifiche, vedere Specifica del linguaggio RDL.

XML Schema Definition RDL

Un file RDL (Report Definition Language) di SQL Server Reporting Services viene convalidato tramite un file XSD (XML Schema Definition). Lo schema definisce le regole relative alla posizione degli elementi RDL in un file rdl. Un elemento include il tipo di dati e la cardinalità, ovvero il numero di occorrenze consentite. Un elemento può essere semplice o complesso. Un elemento semplice non dispone di attributi o elementi figlio. Un elemento complesso dispone di elementi figlio e, facoltativamente, di attributi.

Ad esempio, lo schema seguente include l'elemento RDL ReportParametersche è il tipo complesso ReportParametersType. Per convenzione, un tipo complesso per un elemento è il nome dell'elemento seguito dalla parola Type. Un elemento ReportParameters può essere contenuto dall'elemento Report (un tipo complesso) e contenere elementi ReportParameter . Un ReportParameterType è un tipo semplice che può essere solo uno dei seguenti valori: Boolean, DateTime, Integer, Floato String. Per altre informazioni sui tipi di dati dell'elemento XML Schema, vedere XML Schema Parte 2: Tipi di dati Seconda edizione.

L'XSD RDL è disponibile nel file ReportDefinition.xsd, contenuto nella cartella Extras nel CD-ROM del prodotto. È anche disponibile nel server di report tramite l'URL seguente: https://servername/reportserver/reportdefinition.xsd.

Creazione di RDL

La natura aperta ed estensibile di RDL consente di compilare una varietà di strumenti e applicazioni per la generazione di codice RDL in base al relativo XML Schema.

Reporting Services fornisce più strumenti per compilare i file RDL. Per altre informazioni, vedere Strumenti di Reporting Services.

Uno dei modi più semplici per generare codice RDL da un'applicazione consiste nell'usare le classi Microsoft .NET Framework dello spazio dei nomi System.Xml e dello spazio dei nomi System.Linq. In particolare, la classe XmlTextWriter può essere usata per scrivere codice RDL. Con XmlTextWriterè possibile generare una definizione di report completa in qualsiasi applicazione .NET Framework. Gli sviluppatori possono inoltre estendere il linguaggio RDL aggiungendo elementi del report personalizzati con proprietà personalizzate. Per altre informazioni sulla classe XmlTextWriter e sullo spazio dei nomi System.Xml, vedere la Guida per gli sviluppatori di Microsoft .NET Framework. Per ulteriori informazioni su LINQ (Language-Integrated Query), cercare "LINQ to XML" in MSDN.

L'estensione di file standard per i file di definizione dei report è rdl. È inoltre possibile sviluppare file di definizione dei report del client la cui estensione è rdlc. Il tipo MIME per entrambe le estensioni è text/xml. Per altre informazioni sui report, vedere Report di Reporting Services (SSRS).

Tipi RDL

Nella tabella seguente vengono elencati i tipi utilizzati negli elementi e negli attributi RDL.

Tipo Descrizione
Binario Proprietà con valore binario codificato in base 64.
Booleano Proprietà con true o false come valore dell'oggetto. Se non diversamente specificato, il valore di un oggetto booleano facoltativo omesso è False.
Data Proprietà con un valore di data o ora specificato per intero nel formato di data ISO8601: AAAA-MM-GG[THH:MM[:SS[.S]]].
Enum Proprietà con un valore di testo stringa che deve essere presente in un elenco di valori designati.
Float Proprietà con un valore float. La virgola (,) viene utilizzata come separatore decimale facoltativo.
Integer Proprietà con un valore intero (int32).
Lingua Proprietà con un valore di testo che contiene un codice di lingua e di paese, ad esempio en-us per Inglese (Stati Uniti). Il valore deve essere una lingua specifica o neutra per la quale è definita una lingua predefinita in Microsoft .NET Framework.
Nome Proprietà con un valore di testo stringa. I nomi devono essere univoci nello spazio dei nomi dell'elemento. Se non viene specificato, lo spazio dei nomi per un elemento è l'oggetto contenitore più interno con un nome.
NormalizedString Proprietà con un valore di testo stringa normalizzato.
Dimensione Un elemento Size deve contenere un numero, con un carattere punto (.) utilizzato come un separatore decimale facoltativo. Il numero deve essere seguito da un identificatore per un'unità di lunghezza CSS, ad esempio cm, mm, in, pt o pc. La presenza di uno spazio tra il numero e l'identificatore è facoltativa. Per altre informazioni sugli identificatori della proprietà Size, vedere CSS Values and Units Reference (Informazioni di riferimento sui valori e le unità CSS).

In RDL, il valore massimo per Size è 406,4 cm. La dimensione minima è 0 cm.
Stringa Proprietà con un valore di testo stringa.
UnsignedInt Proprietà con un valore intero (uint32) senza segno.
Variant Proprietà con qualsiasi tipo XML semplice.

Tipi di dati RDL

L'enumerazione DataType definisce il tipo di dati di un attributo, di un'espressione o di un parametro in RDL. Nella tabella seguente viene illustrato come i tipi di dati Common Language Runtime (CLR) corrispondono ai tipi di dati RDL.

Tipi CLR Tipo di dati corrispondente
Booleano Booleano
DateTime, DateTimeOffset Data/Ora
Int16, Int32, UInt16, Byte, SByte Intero
Single, Double Float
String, Char, GUID, Timespan String

Vedi anche

Individuare la versione dello schema di definizione del report (SSRS)
Uso di assembly personalizzati con i report
Elementi dei report personalizzati