Langage de définition de rapport (SSRS, Report Definition Language)Report Definition Language (SSRS)

Report Definition Language (RDL) est une représentation XML d’une définition de rapport SQL ServerSQL Server Reporting ServicesReporting Services .Report Definition Language (RDL) is an XML representation of a SQL ServerSQL Server Reporting ServicesReporting Services report definition. Une définition de rapport contient les informations d'extraction de données et de mise en page d'un rapport.A report definition contains data retrieval and layout information for a report. La spécification RDL est composée d’éléments XML qui sont conformes à une grammaire XML créée pour Reporting ServicesReporting Services.RDL is composed of XML elements that match an XML grammar created for Reporting ServicesReporting Services. Vous pouvez ajouter vos propres fonctions personnalisées pour contrôler les valeurs, les styles et la mise en forme des éléments de rapport en accédant à des assemblys de code dans les fichiers de définition de rapport.You can add your own custom functions for controlling report item values, styles, and formatting by accessing code assemblies within report definition files.

Le langage RDL favorise l'interopérabilité des produits commerciaux de création de rapports en définissant un schéma commun qui permet l'échange de définitions de rapport.RDL promotes the interoperability of commercial reporting products by defining a common schema that enables the interchange of report definitions. Les protocoles ou les interfaces de programmation qui fonctionnent avec XML peuvent être utilisés avec le langage RDL.Any protocol or programmatic interface that works with XML can be used with RDL. Les caractéristiques du langage RDL sont les suivantes :RDL is:

  • Schéma XML pour les définitions de rapportAn XML schema for report definitions.

  • Format d'échange pour les entreprises et les fournisseurs tiersAn interchange format for businesses and third parties.

  • Schéma extensible et ouvert qui prend en charge des éléments personnalisés et des espaces de noms supplémentaires.An extensible and open schema that supports additional namespaces and custom elements.

Spécifications RDLRDL Specifications

Pour télécharger les spécifications des versions de schéma spécifiques, consultez Report Definition Language Specification[Spécification RDL (Report Definition Language)].To download specifications for specific schema versions, see Report Definition Language Specification.

Définition de schéma XML RDLRDL XML Schema Definition

A SQL ServerSQL Server Reporting ServicesReporting Services est validé à l’aide d’un fichier 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. Le schéma définit les règles indiquant où des éléments RDL peuvent se trouver dans un fichier .rdl.The schema defines the rules for where RDL elements can occur in an .rdl file. Un élément inclut son type de données et sa cardinalité, c’est-à-dire le nombre d’occurrences autorisées.An element includes its data type and cardinality, that is, the number of occurrences that are allowed. Un élément peut être simple ou complexe.An element can be simple or complex. Un élément simple n'a pas d'éléments enfants ni d'attributs.A simple element does not have child elements or attributes. Un élément complexe a des enfants et éventuellement des attributs.A complex element does have children and optionally, attributes.

Par exemple, le schéma inclut l’élément RDL ReportParameters, qui est le type complexe ReportParametersType.For example, the schema includes the RDL element ReportParameters, which is the complex type ReportParametersType. Par convention, le type complexe d’un élément correspond au nom de l’élément suivi du mot Type.By convention, a complex type for an element is the name of the element follow by the word Type. Un élément ReportParameters peut être contenu par l’élément Report (type complexe) et peut contenir des éléments ReportParameter .A ReportParameters element can be contained by the Report element (a complex type), and can contain ReportParameter elements. ReportParameterType est un type simple qui peut uniquement avoir l’une des valeurs suivantes : Boolean, DateTime, Integer, Floatou String.A ReportParameterType is a simple type that can only be one of the following values: Boolean, DateTime, Integer, Float, or String. Pour plus d’informations sur les types de données de schéma XML, consultez XML Schema Part 2: Datatypes Second Edition(Schéma XML - Partie 2 : Types de données - Deuxième édition).For more information about XML Schema datatypes, see XML Schema Part 2: Datatypes Second Edition.

Le XSD RDL est disponible dans le fichier ReportDefinition.xsd, situé dans le dossier Extras sur le CD-ROM du produit.The RDL XSD is available in the ReportDefinition.xsd file, located in the Extras folder on the product CD-ROM. Il est également disponible sur le serveur de rapports via l’URL suivante : http://servername/reportserver/reportdefinition.xsd.It is also available on the report server through the following URL: http://servername/reportserver/reportdefinition.xsd.

Création de RDLCreating RDL

Compte tenu du caractère ouvert et extensible du langage RDL, il est possible de créer divers outils et applications qui génèrent le langage RDL selon son schéma XML.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 fournit plusieurs outils pour créer les fichiers RDL. provides multiple tools to build RDL files. Pour plus d’informations, consultez Outils de Reporting Services.For more information, see Reporting Services Tools.

Pour générer le langage RDL à partir d’une application, l’une des méthodes les plus simples consiste à utiliser les classes MicrosoftMicrosoft .NET Framework.NET Framework de l’espace de noms System.Xml et de l’espace de noms 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. Une classe en particulier, la classe XmlTextWriter , peut être utilisée pour l’écriture du langage RDL.One class in particular, the XmlTextWriter class, can be used to write RDL. Cette classe XmlTextWritervous permet de générer intégralement une définition de rapport complète dans une application .NET Framework.NET Framework .With XmlTextWriter, you can generate a complete report definition from start to finish in any .NET Framework.NET Framework application. Les développeurs peuvent également étendre le langage RDL en ajoutant des éléments de rapport personnalisés avec des propriétés personnalisées.Developers can also extend RDL by adding custom report items with custom properties. Pour plus d’informations sur la classe XmlTextWriter et l’espace de noms System.Xml , consultez le Guide du développeur 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. Pour plus d'informations sur LINQ (Language-Integrated Query), recherchez les termes « LINQ to XML » sur MSDN.For more information about Language-Integrated Query (LINQ), search for "LINQ to XML" on MSDN.

L'extension de fichier standard pour les fichiers de définition de rapport est .rdl.The standard file extension for report definition files is .rdl. Vous pouvez également développer des fichiers de définition de rapport client, lesquels portent l'extension .rdlc.You can also develop client report definition files, which have the extensions .rdlc. Le type MIME pour les deux extensions est text/xml.The MIME type for both extensions is text/xml. Pour plus d’informations sur les rapports, consultez Rapports Reporting Services (SSRS).For more information about reports, see Reporting Services Reports (SSRS).

Types RDLRDL Types

La table suivante répertorie les types utilisés dans des éléments et des attributs RDL.The following table lists types used in RDL elements and attributes.

TypeType DescriptionDescription
BinaireBinary Propriété dotée d'une valeur binaire encodée en base 64.A property with a base-64 encoded binary value.
BooleanBoolean Propriété de l’objet ayant pour valeur true ou false .A property with true or false as the value of the object. Sauf indication contraire, la valeur d’un objet Boolean facultatif omis est False.Unless specified otherwise, the value of an omitted optional Boolean object is False.
DateDate Propriété dotée d'une valeur date ou date/heure entièrement spécifiée au format de date ISO8601 : AAAA-MM-JJ[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 Propriété dont la valeur est le texte d'une chaîne, qui doit appartenir à une liste de valeurs désignées.A property with a string text value that must be one of a list of designated values.
FloatFloat Propriété dotée d'une valeur flottante (Float).A property with a float value. Une virgule (,) est utilisée comme séparateur décimal facultatif.A period (.) is used as the optional decimal separator.
IntegerInteger Propriété dotée d'une valeur entière (int32).A property with an integer (int32) value.
LangageLanguage Propriété dont la valeur est le texte d'une chaîne, qui contient un code de langue et de culture, tel que « en-us » pour l'anglais (États-Unis).A property with a text value that contains a language and culture code, such as "en-us" for US English. La valeur doit être une langue spécifique ou une langue neutre pour laquelle une langue par défaut est définie dans 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.
NomName Propriété dont la valeur est le texte d'une chaîne.A property with a string text value. Les noms doivent être uniques dans l'espace de noms de l'élément.Names must be unique within the namespace of the item. S'il n'est pas spécifié, l'espace de noms d'un élément est l'objet conteneur le plus profond doté d'un nom.If not specified, the namespace for an item is the innermost containing object that has a name.
NormalizedStringNormalizedString Propriété dont la valeur est le texte d'une chaîne, qui a été normalisée.A property with a string text value that has been normalized.
TailleSize Un élément de taille doit contenir un nombre (avec une virgule comme séparateur décimal facultatif).A size element must contain a number (with a period character used as an optional decimal separator). Le nombre doit être suivi d'un indicateur pour une unité de longueur CSS ; par exemple, cm, mm, in, pt ou pc.The number must be followed by a designator for a CSS length unit such as cm, mm, in, pt, or pc. Un espace entre le nombre et l'indicateur est facultatif.A space between the number and the designator is optional. Pour plus d’informations sur les indicateurs de taille, consultez CSS Length Units Reference(Guide de référence des unités de longueur CSS).For more information about size designators, see CSS Length Units Reference.

Dans le langage RDL, la valeur maximale pour Size est 160 po.In RDL, the maximum value for Size is 160 in. La taille minimale est 0 po.The minimum size is 0 in.
StringString Propriété dont la valeur est le texte d'une chaîne.A property with a string text value.
UnsignedIntUnsignedInt Propriété dotée d'une valeur entière non signée (uint32).A property with an unsigned integer (uint32) value.
VariantVariant Une propriété dotée d'un type XML simple.A property with any simple XML type.

Types de données RDLRDL Data Types

L'énumération DataType définit le type de données d'un attribut, d'une expression ou d'un paramètre dans RDL.The DataType Enumeration defines the data type of an attribute, expression, or parameter in RDL. Le tableau suivant illustre les types de données CLR (common langage runtime (CLR)) correspondent aux types de données RDL.The following table shows how common language runtime (CLR) data types correspond to RDL data types.

Type CLRCLR Type(s) Type de données correspondantCorresponding 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

Voir aussiSee Also

Rechercher la version du schéma de définition de rapport (SSRS) Find the Report Definition Schema Version (SSRS)
Utilisation d'assemblys personnalisés avec des rapports Using Custom Assemblies with Reports
Éléments de rapports personnalisésCustom Report Items