Compartir a través de


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