Report Definition Language (SSRS)

El lenguaje RDL (Report Definition Language) es una representación XML de una definición de informe de SQL Server Reporting Services. Una definición de informe contiene información acerca de la recuperación y el diseño de los datos de un informe. RDL está formado por elementos XML que cumplen la sintaxis XML creada para Reporting Services. Puede agregar sus propias funciones personalizadas para controlar los valores de elemento de informe, los estilos y el formato si obtiene acceso a los ensamblados de código en los archivos de definición de informe.

RDL promueve la interoperabilidad de productos de generación de informes comerciales al definir un esquema común que habilita el intercambio de definiciones de informe. Cualquier protocolo o interfaz de programación que funciona con XML se puede utilizar con RDL. RDL es:

  • Un esquema XML para las definiciones de informe.

  • Un formato de intercambio para las empresas y otros fabricantes.

  • Un esquema extensible y abierto que admite espacios de nombres adicionales y elementos personalizados.

Especificaciones de RDL

Para descargar las especificaciones de versiones específicas de esquema, vea Especificación del lenguaje RDL.

Definición de esquema XML de RDL

Un archivo de lenguaje RDL (Report Definition Language) de SQL Server Reporting Services se valida con un archivo de definición de esquema XML (XSD). El esquema define las reglas para dónde se pueden producir elementos RDL en un archivo .rdl. Un elemento incluye su tipo de datos y cardinalidad, es decir, el número de repeticiones que se permiten. Los elementos pueden ser simples o complejos. Un elemento simple no tiene elementos o atributos secundarios. Un elemento complejo tiene elementos secundarios y opcionalmente, atributos.

Por ejemplo, el esquema incluye el elemento RDL ReportParametersque es del tipo complejo ReportParametersType. Por convención, un tipo complejo para un elemento es el nombre del elemento seguido de la palabra Type. Un elemento ReportParameters puede estar contenido en un elemento Report (un tipo complejo) y puede contener elementos ReportParameter . Un ReportParameterType es un tipo simple que solo puede tener uno de los siguientes valores: Boolean, DateTime, Integer, Floato String. Para obtener más información sobre los tipos de datos de esquema XML, vea Parte 2 del esquema XML: tipos de datos Segunda edición.

El XSD de RDL está disponible en el archivo ReportDefinition.xsd, que se encuentra en la carpeta Extras del CD-ROM del producto. También está disponible en el servidor de informes a través de la siguiente dirección URL: https://servername/reportserver/reportdefinition.xsd.

Crear RDL

Debido a la naturaleza abierta y extensible de RDL, se pueden compilar diversas herramientas y aplicaciones que generan RDL basándose en su esquema XML.

Reporting Services proporciona varias herramientas para crear archivos RDL. Para obtener más información, vea Herramientas de Reporting Services.

Una de las maneras más fáciles de generar RDL desde una aplicación es usar las clases Microsoft .NET Framework del espacio de nombres System.Xml y del espacio de nombres System.Linq. Una clase en particular, la clase XmlTextWriter , se puede utilizar para escribir RDL. Con XmlTextWriter, puede generar una definición de informe completa en cualquier aplicación .NET Framework . Los programadores también pueden ampliar RDL agregando elementos de informe personalizados con propiedades personalizadas. Para más información sobre la clase XmlTextWriter y el espacio de nombres System.Xml, vea la Guía del programador de Microsoft .NET Framework. Para obtener más información sobre Language-Integrated Query (LINQ), busque "LINQ to XML" en MSDN.

La extensión de archivo estándar para los archivos de definición de informe es .rdl. También puede desarrollar archivos de definición de informe de cliente, que tienen extensiones .rdlc. El tipo MIME para ambas extensiones es text/xml. Para obtener más información sobre los informes, consulte Informes de Reporting Services (SSRS).

Tipos de RDL

En la tabla siguiente se enumeran los tipos usados en los atributos y elementos del lenguaje RDL.

Tipo Descripción
Binario Una propiedad con un valor binario codificado de base 64.
Boolean Propiedad con true o false como valor del objeto. A menos que se especifique lo contrario, el valor de un objeto booleano opcional omitido es False.
Date Propiedad con un valor completo de fecha o fecha y hora especificado con el formato de fecha ISO8601: AAAA-MM-DD[THH:MM[:SS[.S]]].
Enum Propiedad con un valor de texto de cadena que debe estar en una lista de valores designados.
Float Propiedad con un valor de tipo Float. Se utiliza un punto (.) como separador decimal opcional.
Entero Propiedad con un valor de tipo Integer (int32).
Lenguaje Propiedad con un valor de texto que contiene un código de idioma y referencia cultural, como "es-es" para español de España. El valor debe ser un idioma específico o un idioma neutro para el que se defina un idioma predeterminado en Microsoft .NET Framework.
Nombre Propiedad con un valor de texto de cadena. Los nombres deben ser únicos en el espacio de nombres del elemento. Si no se especifica, el espacio de nombres de un elemento es el objeto contenedor más interno que tiene un nombre.
NormalizedString Una propiedad con un valor de texto de cadena que se ha normalizado.
Tamaño Un elemento de tamaño debe contener un número (con un punto como un separador decimal opcional). Un designador debe seguir al número para una unidad de longitud de CSS como cm, mm, pulgadas, pt o pc. Dejar un espacio entre el número y el designador es opcional. Para obtener más información sobre los designadores de tamaño, vea CSS Values and Units Reference (Referencia de unidades y valores de CSS).

En RDL, el valor máximo para Size es de 160 pulgadas. El tamaño mínimo es de 0 pulgadas.
String Propiedad con un valor de texto de cadena.
UnsignedInt Una propiedad con un valor de tipo Integer (uint32) sin signo.
Variant Una propiedad con cualquier tipo XML sencillo.

Tipos de datos de RDL

La enumeración DataType define el tipo de datos de un atributo, una expresión o un parámetro en el lenguaje RDL. En la tabla siguiente se muestra cómo se corresponden los tipos de datos CLR (Common Language Runtime) con los tipos de datos RDL.

Tipos CLR Tipo de datos correspondiente
Boolean Boolean
DateTime, DateTimeOffset DateTime
Int16, Int32, UInt16, Byte, SByte Entero
Single, Double Float
String, Char, GUID, Timespan String

Consulte también

Buscar la versión del esquema de definición de informe (SSRS)
Uso de ensamblados personalizados con informes
Elementos de informe personalizados