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 RDL (Report Definition Language) de SQL Server Reporting Services 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 opcionalmente, atributos.
Por ejemplo, el esquema incluye el elemento RDL ReportParameters que 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 el 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, Float o 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 dirección URL siguiente: http://nombreDeServidor/servidorDeInformes/definiciónDeInforme.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 (SSRS).
Una de las maneras más fáciles de generar RDL a partir de una aplicación consiste en 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 obtener más información sobre la clase XmlTextWriter y el espacio de nombres System.Xml, vea la Microsoft .NET Framework Guía del programador. 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 acerca de los informes, vea 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 |
---|---|
Binary |
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. |
Integer |
Propiedad con un valor de tipo Integer (int32). |
Language |
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. |
Name |
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. |
Size |
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 la Referencia de unidades de longitud 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 |
---|---|
Booleano |
Booleano |
DateTime, DateTimeOffset |
DateTime |
Int16, Int32, UInt16, Byte, SByte |
Integer |
Single, Double |
Float |
String, Char, GUID, Timespan |
String |
Vea también
Tasks
Buscar la versión del esquema de definición de informe (SSRS)
Conceptos
Elementos de informe personalizados