Berichtsdefinitionssprache (Report Definition Language, RDL) (SSRS)Report Definition Language (SSRS)

Bei der Berichtsdefinitionssprache (RDL) handelt es sich um eine XML-Darstellung einer SQL ServerSQL Server Reporting ServicesReporting Services -Berichtsdefinition.Report Definition Language (RDL) is an XML representation of a SQL ServerSQL Server Reporting ServicesReporting Services report definition. In einer Berichtsdefinition sind Informationen zum Datenabruf und Datenlayout für einen Bericht enthalten.A report definition contains data retrieval and layout information for a report. RDL besteht aus XML-Elementen, die der für Reporting ServicesReporting Servicesentwickelten XML-Grammatik entsprechen.RDL is composed of XML elements that match an XML grammar created for Reporting ServicesReporting Services. Sie können eigene benutzerdefinierte Funktionen zur Steuerung von Werten, Formaten und Formatierungen von Berichtselementen hinzufügen, indem Sie in Berichtsdefinitionsdateien auf Code-Assemblys zugreifen.You can add your own custom functions for controlling report item values, styles, and formatting by accessing code assemblies within report definition files.

RDL fördert die Interoperabilität von kommerziellen Produkten zur Berichterstellung durch die Definition eines allgemeinen Schemas, das den Austausch von Berichtsdefinitionen ermöglicht.RDL promotes the interoperability of commercial reporting products by defining a common schema that enables the interchange of report definitions. Alle Protokolle und alle programmgesteuerten Schnittstellen, die mit XML funktionieren, können mit RDL verwendet werden.Any protocol or programmatic interface that works with XML can be used with RDL. RDL ist:RDL is:

  • ein XML-Schema für BerichtsdefinitionenAn XML schema for report definitions.

  • ein Austauschformat für Unternehmen und DrittanbieterAn interchange format for businesses and third parties.

  • ein erweiterbares und offenes Schema, das zusätzliche Namespaces und benutzerdefinierte Elemente unterstütztAn extensible and open schema that supports additional namespaces and custom elements.

RDL-SpezifikationenRDL Specifications

Informationen zum Herunterladen von Spezifikation für bestimmte Schemaversionen finden Sie im Thema zum Angeben der Berichtsdefinitionssprache.To download specifications for specific schema versions, see Report Definition Language Specification.

RDL-XML-SchemadefinitionRDL XML Schema Definition

A SQL ServerSQL Server Reporting ServicesReporting Services -RDL-Datei (Report Definition Language, Berichtsdefinitionssprache) wird mithilfe einer XSD-Datei (XML Schema Definition) überprüft.A SQL ServerSQL Server Reporting ServicesReporting Services Report Definition Language (RDL) file is validated by using an XML Schema Definition (XSD) file. Das Schema definiert die Regeln dafür, wo RDL-Elemente in einer RDL-Datei auftreten können.The schema defines the rules for where RDL elements can occur in an .rdl file. Ein Element schließt seinen Datentyp und seine Kardinalität ein, also die Anzahl der erlaubten Vorkommen.An element includes its data type and cardinality, that is, the number of occurrences that are allowed. Ein Element kann einfach oder komplex sein.An element can be simple or complex. Ein einfaches Element besitzt keine untergeordneten Elemente oder Attribute.A simple element does not have child elements or attributes. Ein komplexes Element verfügt über untergeordnete Elemente und (optional) Attribute.A complex element does have children and optionally, attributes.

Das Schema enthält beispielsweise das RDL-Element ReportParameters, das den komplexen Typ ReportParametersTypeaufweist.For example, the schema includes the RDL element ReportParameters, which is the complex type ReportParametersType. Gemäß der Konvention ist ein komplexer Typ für ein Element der Name des Elements gefolgt von dem Wort Type.By convention, a complex type for an element is the name of the element follow by the word Type. Ein ReportParameters -Element kann im Report -Element (einem komplexen Typ) enthalten sein und selbst ReportParameter -Elemente enthalten.A ReportParameters element can be contained by the Report element (a complex type), and can contain ReportParameter elements. Ein ReportParameterType ist ein einfacher Typ, bei dem es sich nur um einen der folgenden Werte handeln kann: Boolean, DateTime, Integer, Floatoder String.A ReportParameterType is a simple type that can only be one of the following values: Boolean, DateTime, Integer, Float, or String. Weitere Informationen zu XML-Schema-Datentypen finden Sie unter XML Schema Part 2: Datatypes Second Edition.For more information about XML Schema datatypes, see XML Schema Part 2: Datatypes Second Edition.

Die RDL-XSD steht in der Datei "ReportDefinition.xsd" zur Verfügung, die sich im Ordner "Extras" auf der Produkt-CD-ROM befindet.The RDL XSD is available in the ReportDefinition.xsd file, located in the Extras folder on the product CD-ROM. Sie ist auch auf dem Berichtsserver über die folgende URL verfügbar: https://servername/reportserver/reportdefinition.xsd.It is also available on the report server through the following URL: https://servername/reportserver/reportdefinition.xsd.

Erstellen einer RDLCreating RDL

Da RDL offen und erweiterbar ist, können viele verschiedene Tools und Anwendungen erstellt werden, die RDL auf Basis des entsprechenden XML-Schemas generieren.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 bietet mehrere Tools, mit denen Sie RDL-Dateien erstellen können.provides multiple tools to build RDL files. Weitere Informationen finden Sie unter Reporting Services-Tools.For more information, see Reporting Services Tools.

Eine der einfachsten Möglichkeiten, RDL in einer Anwendung zu generieren, stellt die Verwendung der MicrosoftMicrosoft .NET Framework.NET Framework -Klassen des System.Xml -Namespaces und System.Linq -Namespaces dar.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. Insbesondere die XmlTextWriter -Klasse eignet sich zum Schreiben von RDL.One class in particular, the XmlTextWriter class, can be used to write RDL. Mit XmlTextWriterkönnen Sie eine vollständige Berichtsdefinition in jeder .NET Framework.NET Framework -Anwendung von Grund auf erstellen.With XmlTextWriter, you can generate a complete report definition from start to finish in any .NET Framework.NET Framework application. Entwickler können RDL auch erweitern, indem sie benutzerdefinierte Berichtselemente mit benutzerdefinierten Eigenschaften hinzufügen.Developers can also extend RDL by adding custom report items with custom properties. Weitere Informationen zur XmlTextWriter -Klasse und dem System.Xml -Namespace finden Sie im MicrosoftMicrosoft .NET Framework.NET Framework -Entwicklerhandbuch.For more on the XmlTextWriter class and the System.Xml namespace, see the MicrosoftMicrosoft .NET Framework.NET Framework Developer's Guide. Wenn Sie weitere Informationen zu Language Integrated Query (LINQ) benötigen, suchen Sie auf MSDN nach "LINQ to XML".For more information about Language-Integrated Query (LINQ), search for "LINQ to XML" on MSDN.

Die Standarddateierweiterung für Berichtsdefinitionsdateien ist RDL.The standard file extension for report definition files is .rdl. Sie können auch Clientberichtsdefinitions-Dateien mit der Erweiterung RDLC entwickeln.You can also develop client report definition files, which have the extensions .rdlc. Der MIME-Typ für beide Erweiterungen ist text/XML.The MIME type for both extensions is text/xml. Weitere Informationen zu Berichte finden Sie unter Reporting Services-Berichte (SSRS).For more information about reports, see Reporting Services Reports (SSRS).

RDL-TypenRDL Types

Die folgenden Tabelle führt die in RDL-Elementen und Attributen verwendete Typen auf.The following table lists types used in RDL elements and attributes.

TypType und BeschreibungDescription
Binär (Binary)Binary Eine Eigenschaft mit einem Base-64-codierten Binärwert.A property with a base-64 encoded binary value.
BooleanBoolean Eine Eigenschaft, die den Wert true oder false für ein Objekt annehmen kann.A property with true or false as the value of the object. Sofern nichts anderes angegeben ist, hat ein nicht angegebenes, optionales Boolean-Objekt den Wert False.Unless specified otherwise, the value of an omitted optional Boolean object is False.
DatumDate Eine Eigenschaft mit einem vollständigen date- oder datetime-Wert, der im ISO8601-Datumsformat angegeben ist: JJJJ-MM-TT[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 Eine Eigenschaft mit einem Zeichenfolgen-Textwert, der einem Wert aus einer Liste mit angegebenen Werten entsprechen mussA property with a string text value that must be one of a list of designated values.
FloatFloat Eine Eigenschaft mit einem Gleitkommawert.A property with a float value. Als optionales Dezimaltrennzeichen wird ein Punkt (.) verwendet.A period (.) is used as the optional decimal separator.
IntegerInteger Eine Eigenschaft mit einem ganzzahligen (int32) WertA property with an integer (int32) value.
SpracheLanguage Eine Eigenschaft mit einem Textwert, der einen Sprach- und Kulturcode enthält, z. B. "en-us" für Englisch (USA).A property with a text value that contains a language and culture code, such as "en-us" for US English. Der Wert muss entweder eine bestimmte Sprache oder eine neutrale Sprache angeben, für die eine Standardsprache in MicrosoftMicrosoft .NET Framework.NET Frameworkdefiniert ist.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.
NameName Eine Eigenschaft mit einem Zeichenfolgen-TextwertA property with a string text value. Namen müssen innerhalb des Namespaces des Elements eindeutig sein.Names must be unique within the namespace of the item. Ist der Namespace nicht angegeben, entspricht er dem innersten enthaltenden Objekt, das über einen Namen verfügt.If not specified, the namespace for an item is the innermost containing object that has a name.
NormalizedStringNormalizedString Eine Eigenschaft mit einem Zeichenfolgen-Textwert, der normalisiert wurdeA property with a string text value that has been normalized.
GrößeSize Ein Größenelement muss eine Zahl (mit einem Punkt als optionalem Dezimaltrennzeichen) enthalten.A size element must contain a number (with a period character used as an optional decimal separator). Auf die Zahl muss ein Kennzeichner für eine CSS-Längeneinheit folgen, beispielsweise cm, mm, in, pt oder pc.The number must be followed by a designator for a CSS length unit such as cm, mm, in, pt, or pc. Ein Leerzeichen zwischen der Zahl und dem Kennzeichner ist optional.A space between the number and the designator is optional. Weitere Informationen über Größenkennzeichner finden Sie in CSS Values and Units Reference (Referenz zu CSS-Werten und -Einheiten).For more information about size designators, see CSS Values and Units Reference.

In RDL beträgt der maximale Wert für Size 160 Zoll.In RDL, the maximum value for Size is 160 in. Die minimale Größe beträgt 0 Zoll.The minimum size is 0 in.
StringString Eine Eigenschaft mit einem Zeichenfolgen-TextwertA property with a string text value.
UnsignedIntUnsignedInt Eine Eigenschaft mit einem ganzzahligen Wert (uint32) ohne VorzeichenA property with an unsigned integer (uint32) value.
VariantVariant Eine Eigenschaft mit einem beliebigen einfachen XML-Typ.A property with any simple XML type.

RDL-DatentypenRDL Data Types

Die DataType-Enumeration definiert den Datentyp eines Attributs, Ausdrucks oder Parameters in RDL.The DataType Enumeration defines the data type of an attribute, expression, or parameter in RDL. Die folgende Tabelle zeigt die Zuordnung von CLR-Datentypen (Common Language Runtime) zu RDL-Datentypen.The following table shows how common language runtime (CLR) data types correspond to RDL data types.

CLR-Typ(en)CLR Type(s) Entsprechender DatentypCorresponding 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 ZeichenfolgeString

Weitere InformationenSee Also

Suchen der Berichtsdefinitions-Schemaversion (SSRS) Find the Report Definition Schema Version (SSRS)
Verwenden benutzerdefinierter Assemblys mit Berichten Using Custom Assemblies with Reports
Benutzerdefinierte BerichtselementeCustom Report Items