Report Definition Language (SSRS)
El lenguaje RDL (Report Definition Language) es una representación XML de una definición del informe de SQL Server Reporting Services (SSRS). 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 personalizar funciones para controlar los valores de los elementos del informe, los estilos y el formato mediante el acceso a conjuntos de código dentro de los archivos de definición del 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. 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 más espacios de nombres y elementos personalizados.
Requisitos previos
Cualquier protocolo o interfaz de programación que funciona con XML se puede utilizar con RDL.
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 RDL de SSRS se valida mediante 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 puede tener 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
.
Creación de RDL
Cree herramientas y aplicaciones que generen RDL en función de su esquema XML debido a la naturaleza abierta y extensible de RDL.
Reporting Services proporciona varias herramientas para crear archivos RDL. Para obtener más información, vea Herramientas de Reporting Services.
- Cree RDL a partir de una aplicación mediante las clases de Microsoft .NET Framework del espacio de nombres System.Xml y System.Linq.
- Use XmlTextWriter para escribir RDL. Con XmlTextWriter, puede generar una definición de informe completa en cualquier aplicación .NET Framework . 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.
Los programadores pueden ampliar RDL agregando elementos de informe personalizados con propiedades personalizadas. Para obtener más información sobre Language Integrated Query (LINQ), busque "LINQ to XML" en Microsoft Developer Network.
La extensión de archivo estándar para el archivos de definición del informe es .rdl. Puede desarrollar archivos de definición del informe de cliente, que tienen extensiones .rdlc. El tipo MIME para ambas extensiones es text/xml. Para obtener más información, 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 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, in, pt o pc. Dejar un espacio entre el número y el designador es opcional. Para más información, consulte: Valores de CSS y unidades de referencia. 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 | Cadena |