Report Definition Language Reference
Report Definition Language (RDL) is an XML representation of a SQL Server Reporting Services report definition. A report definition contains data retrieval and layout information for a report. RDL is composed of XML elements that match an XML grammar created for Reporting Services. You can add your own custom functions for controlling report item values, styles, and formatting by accessing code assemblies within report definition files.
Moreover, RDL can be generated programmatically. You can build third-party tools and applications that generate RDL. Reporting Services provides three such tools: Report Designer Preview, Report Designer, and Report Builder.
RDL promotes the interoperability of commercial reporting products by defining a common schema that enables the interchange of report definitions. Any protocol or programmatic interface that works with XML can be used with RDL. RDL is:
An XML schema for report definitions.
An interchange format for businesses and third parties.
An extensible and open schema that supports additional namespaces and custom elements.
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. One of the easiest ways to generate RDL from an application is to use the Microsoft .NET Framework classes of the System.Xml namespace and System.Linq namespace. One class in particular, the XmlTextWriter class, can be used to write RDL. With XmlTextWriter, you can generate a complete report definition from start to finish in any .NET Framework application. Developers can also extend RDL by adding custom report items with custom properties. For more on the XmlTextWriter class and the System.Xml namespace, see the Microsoft .NET Framework Developer's Guide. For more information about Language-Integrated Query (LINQ), search for "LINQ to XML" on MSDN.
The standard file extension for report definition files is .rdl. You can also develop client report definition files, which have the extensions .rdlc. The MIME type for both extensions is text/xml. For more information about client report definition files, see Reporting Services and ReportViewer Controls in Visual Studio 2010.