Report Definition Language (SSRS)Report Definition Language (SSRS)

Report Definition Language (RDL) è una rappresentazione XML di una definizione di un report di SQL ServerSQL Server Reporting ServicesReporting Services .Report Definition Language (RDL) is an XML representation of a SQL ServerSQL Server Reporting ServicesReporting Services report definition. Una definizione del report contiene informazioni sul layout e sul recupero dei dati per un report.A report definition contains data retrieval and layout information for a report. RDL è costituito da elementi XML che corrispondono a una grammatica XML creata per Reporting ServicesReporting Services.RDL is composed of XML elements that match an XML grammar created for Reporting ServicesReporting 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.You can add your own custom functions for controlling report item values, styles, and formatting by accessing code assemblies within report definition files.

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.RDL promotes the interoperability of commercial reporting products by defining a common schema that enables the interchange of report definitions. Con RDL è possibile utilizzare qualsiasi protocollo o interfaccia programmatica appropriato per XML.Any protocol or programmatic interface that works with XML can be used with RDL. RDL consiste in:RDL is:

  • XML Schema per le definizioni dei report.An XML schema for report definitions.

  • Un formato di interscambio per aziende e terze parti.An interchange format for businesses and third parties.

  • Uno schema estensibile e aperto che supporta spazi dei nomi aggiuntivi ed elementi personalizzati.An extensible and open schema that supports additional namespaces and custom elements.

Specifiche RDL RDL Specifications

Per scaricare le specifiche per versioni dello schema specifiche, vedere Specifica del linguaggio RDL.To download specifications for specific schema versions, see Report Definition Language Specification.

XML Schema Definition RDL RDL XML Schema Definition

Un file RDL (Report Definition Language) di SQL ServerSQL Server Reporting ServicesReporting Services viene convalidato tramite un file XSD (XML Schema Definition).A SQL ServerSQL Server Reporting ServicesReporting Services Report Definition Language (RDL) file is validated by using an XML Schema Definition (XSD) file. Lo schema definisce le regole relative alla posizione degli elementi RDL in un file rdl.The schema defines the rules for where RDL elements can occur in an .rdl file. Un elemento include il tipo di dati e la cardinalità, ovvero il numero di occorrenze consentite.An element includes its data type and cardinality, that is, the number of occurrences that are allowed. Un elemento può essere semplice o complesso.An element can be simple or complex. Un elemento semplice non dispone di attributi o elementi figlio.A simple element does not have child elements or attributes. Un elemento complesso dispone di elementi figlio e, facoltativamente, di attributi.A complex element does have children and optionally, attributes.

Ad esempio, lo schema seguente include l'elemento RDL ReportParametersche è il tipo complesso ReportParametersType.For example, the schema includes the RDL element ReportParameters, which is the complex type ReportParametersType. Per convenzione, un tipo complesso per un elemento è il nome dell'elemento seguito dalla parola Type.By convention, a complex type for an element is the name of the element follow by the word Type. Un elemento ReportParameters può essere contenuto dall'elemento Report (un tipo complesso) e contenere elementi ReportParameter .A ReportParameters element can be contained by the Report element (a complex type), and can contain ReportParameter elements. Un ReportParameterType è un tipo semplice che può essere solo uno dei seguenti valori: Boolean, DateTime, Integer, Floato String.A ReportParameterType is a simple type that can only be one of the following values: Boolean, DateTime, Integer, Float, or String. Per altre informazioni sui tipi di dati dell'elemento XML Schema, vedere XML Schema Parte 2: Tipi di dati Seconda edizione.For more information about XML Schema datatypes, see XML Schema Part 2: Datatypes Second Edition.

L'XSD RDL è disponibile nel file ReportDefinition.xsd, contenuto nella cartella Extras nel CD-ROM del prodotto.The RDL XSD is available in the ReportDefinition.xsd file, located in the Extras folder on the product CD-ROM. È inoltre disponibile nel server di report tramite l'URL seguente: http://servername/reportserver/reportdefinition.xsd.It is also available on the report server through the following URL: http://servername/reportserver/reportdefinition.xsd.

Creazione di RDL Creating 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.Because of the open and extensible nature of RDL, a variety of tools and applications can be built that generate RDL based on its XML schema.

Reporting ServicesReporting Services fornisce più strumenti per compilare i file RDL. provides multiple tools to build RDL files. Per altre informazioni, vedere Strumenti di Reporting Services.For more information, see Reporting Services Tools.

Uno dei modi più semplici per generare codice RDL da un'applicazione consiste nell'usare le classi MicrosoftMicrosoft .NET Framework.NET Framework dello spazio dei nomi System.Xml e dello spazio dei nomi System.Linq .One of the easiest ways to generate RDL from an application is to use the MicrosoftMicrosoft .NET Framework.NET Framework classes of the System.Xml namespace and System.Linq namespace. In particolare, la classe XmlTextWriter può essere usata per scrivere codice RDL.One class in particular, the XmlTextWriter class, can be used to write RDL. Con XmlTextWriterè possibile generare una definizione di report completa in qualsiasi applicazione .NET Framework.NET Framework .With XmlTextWriter, you can generate a complete report definition from start to finish in any .NET Framework.NET Framework application. Gli sviluppatori possono inoltre estendere il linguaggio RDL aggiungendo elementi del report personalizzati con proprietà personalizzate.Developers can also extend RDL by adding custom report items with custom properties. Per altre informazioni sulla classe XmlTextWriter e sullo spazio dei nomi System.Xml , vedere la Guida per gli sviluppatori di MicrosoftMicrosoft .NET Framework.NET Framework .For more on the XmlTextWriter class and the System.Xml namespace, see the MicrosoftMicrosoft .NET Framework.NET Framework Developer's Guide. Per ulteriori informazioni su LINQ (Language-Integrated Query), cercare "LINQ to XML" in MSDN.For more information about Language-Integrated Query (LINQ), search for "LINQ to XML" on MSDN.

L'estensione di file standard per i file di definizione dei report è rdl.The standard file extension for report definition files is .rdl. È inoltre possibile sviluppare file di definizione dei report del client la cui estensione è rdlc.You can also develop client report definition files, which have the extensions .rdlc. Il tipo MIME per entrambe le estensioni è text/xml.The MIME type for both extensions is text/xml. Per altre informazioni sui report, vedere Report di Reporting Services (SSRS).For more information about reports, see Reporting Services Reports (SSRS).

Tipi RDL RDL Types

Nella tabella seguente vengono elencati i tipi utilizzati negli elementi e negli attributi RDL.The following table lists types used in RDL elements and attributes.

TypeType DescriptionDescription
BinarioBinary Proprietà con valore binario codificato in base 64.A property with a base-64 encoded binary value.
BooleanBoolean Proprietà con true o false come valore dell'oggetto.A property with true or false as the value of the object. Se non diversamente specificato, il valore di un oggetto booleano facoltativo omesso è False.Unless specified otherwise, the value of an omitted optional Boolean object is False.
DataDate Proprietà con un valore di data o ora specificato per intero nel formato di data ISO8601: AAAA-MM-GG[THH:MM[:SS[.S]]].A property with a fully specified date or datetime value specified in ISO8601 date format: YYYY-MM-DD[THH:MM[:SS[.S]]].
EnumEnum Proprietà con un valore di testo stringa che deve essere presente in un elenco di valori designati.A property with a string text value that must be one of a list of designated values.
FloatFloat Proprietà con un valore float.A property with a float value. La virgola (,) viene utilizzata come separatore decimale facoltativo.A period (.) is used as the optional decimal separator.
IntegerInteger Proprietà con un valore intero (int32).A property with an integer (int32) value.
LinguaLanguage Proprietà con un valore di testo che contiene un codice di lingua e di paese, ad esempio en-us per Inglese (Stati Uniti).A property with a text value that contains a language and culture code, such as "en-us" for US English. Il valore deve essere una lingua specifica o neutra per la quale è definita una lingua predefinita in MicrosoftMicrosoft .NET Framework.NET Framework.The value must either be a specific language or a neutral language for which a default language is defined in the MicrosoftMicrosoft .NET Framework.NET Framework.
NomeName Proprietà con un valore di testo stringa.A property with a string text value. I nomi devono essere univoci nello spazio dei nomi dell'elemento.Names must be unique within the namespace of the item. Se non viene specificato, lo spazio dei nomi per un elemento è l'oggetto contenitore più interno con un nome.If not specified, the namespace for an item is the innermost containing object that has a name.
NormalizedStringNormalizedString Proprietà con un valore di testo stringa normalizzato.A property with a string text value that has been normalized.
DimensioneSize Un elemento Size deve contenere un numero, con un carattere punto (.) utilizzato come un separatore decimale facoltativo.A size element must contain a number (with a period character used as an optional decimal separator). Il numero deve essere seguito da un identificatore per un'unità di lunghezza CSS, ad esempio cm, mm, in, pt o pc.The number must be followed by a designator for a CSS length unit such as cm, mm, in, pt, or pc. La presenza di uno spazio tra il numero e l'identificatore è facoltativa.A space between the number and the designator is optional. Per altre informazioni sugli identificatori della proprietà Size, vedere CSS Length Units Reference.For more information about size designators, see CSS Length Units Reference.

In RDL, il valore massimo per Size è 406,4 cm.In RDL, the maximum value for Size is 160 in. La dimensione minima è 0 cm.The minimum size is 0 in.
StringString Proprietà con un valore di testo stringa.A property with a string text value.
UnsignedIntUnsignedInt Proprietà con un valore intero (uint32) senza segno.A property with an unsigned integer (uint32) value.
VariantVariant Proprietà con qualsiasi tipo XML semplice.A property with any simple XML type.

Tipi di dati RDL RDL Data Types

L'enumerazione DataType definisce il tipo di dati di un attributo, di un'espressione o di un parametro in RDL.The DataType Enumeration defines the data type of an attribute, expression, or parameter in RDL. Nella tabella seguente viene illustrato come i tipi di dati Common Language Runtime (CLR) corrispondono ai tipi di dati RDL.The following table shows how common language runtime (CLR) data types correspond to RDL data types.

Tipi CLRCLR Type(s) Tipo di dati corrispondenteCorresponding Data Type
BooleanBoolean BooleanBoolean
DateTime, DateTimeOffsetDateTime, DateTimeOffset DateTimeDateTime
Int16, Int32, UInt16, Byte, SByteInt16, Int32, UInt16, Byte, SByte IntegerInteger
Single, DoubleSingle, Double FloatFloat
String, Char, GUID, TimespanString, Char, GUID, Timespan StringString

Vedere ancheSee Also

Individuare la versione dello schema di definizione del report (SSRS) Find the Report Definition Schema Version (SSRS)
Utilizzo di assembly personalizzati con i report Using Custom Assemblies with Reports
Elementi dei report personalizzatiCustom Report Items