Condividi tramite


Report Definition Language (SSRS)

Report Definition Language (RDL) è una rappresentazione XML di una definizione di un report di SQL Server Reporting Services. Una definizione del report contiene informazioni sul layout e sul recupero dei dati per un report. RDL è costituito da elementi XML che corrispondono a una grammatica XML creata per Reporting Services. È possibile aggiungere funzioni personalizzate per il controllo dei valori degli elementi del report, degli stili e della formattazione mediante l'accesso agli assembly di codice all'interno dei file di definizione dei 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 ReportParameters che è 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, Float o String. Per ulteriori 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. È inoltre 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.

In Reporting Services sono disponibili più strumenti per compilare i file RDL. Per ulteriori informazioni, vedere Strumenti (SSRS).

Uno dei modi più semplici per generare codice RDL da un'applicazione consiste nell'utilizzare 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 utilizzata 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 ulteriori 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 ulteriori 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

Binary

Proprietà con valore binario codificato in base 64.

Boolean

Proprietà con true o false come valore dell'oggetto. Se non diversamente specificato, il valore di un oggetto booleano facoltativo omesso è False.

Date

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).

Language

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.

Name

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.

Size

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 ulteriori informazioni sugli identificatori della proprietà Size, vedere CSS Length Units Reference.

In RDL, il valore massimo per Size è 406,4 cm. La dimensione minima è 0 cm.

String

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

DateTime

Int16, Int32, UInt16, Byte, SByte

Integer

Single, Double

Float

String, Char, GUID, Timespan

String

Vedere anche

Attivitá

Individuare la versione dello schema di definizione del report (SSRS)

Concetti

Elementi dei report personalizzati

Altre risorse

Utilizzo di assembly personalizzati con i report