Exportar a XML (Generador de informes 2.0)

La extensión de representación en XML devuelve un informe en formato XML. El esquema XML del informe es específico de éste y sólo contiene datos. La extensión de representación en XML no representa la información de diseño ni mantiene la paginación. El XML que genera esta extensión se puede importar a una base de datos, se puede usar como mensaje de datos XML o se puede enviar a una aplicación personalizada.

En la tabla siguiente se describe cómo se representan los elementos de informe.

Elemento

Comportamiento de la representación

Informe

Se representa como el elemento de nivel superior del documento XML.

Regiones de datos

Se representan como elementos dentro del elemento de su contenedor.

Secciones de grupo y de detalles

Cada instancia se representa como un elemento dentro del elemento de su contenedor.

Cuadro de texto

Se representa como un atributo o elemento dentro de su contenedor.

Rectángulo

Se representa como un elemento dentro de su contenedor.

Grupos de columnas de matriz

Se representan como elementos dentro de grupos de filas.

Los informes que se representan con la extensión de representación en XML también siguen estas reglas:

  • Los elementos y atributos XML se representan en el orden en que aparecen en la definición del informe.

  • No se tiene en cuenta la paginación.

  • No se representan los encabezados y pies de página.

  • No se representan los elementos ocultos que no se pueden mostrar mediante alternancia. Inicialmente, se representan los elementos visibles y los elementos ocultos que se pueden mostrar mediante un control de alternancia.

  • Se omiten Images, lines, and custom report items.

Tipos de datos

Al elemento o atributo del cuadro de texto se le asigna un tipo de datos XSD según los valores que muestra el cuadro de texto.

Si todos los valores del cuadro de texto son

El tipo de datos asignado es

Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte

xsd:integer

Decimal (o Decimal y cualquier tipo de datos integer o byte)

xsd:decimal

Float (o Decimal y cualquier tipo de datos integer o byte)

xsd:float

Double (o Decimal y cualquier tipo de datos integer o byte)

xsd:double

DateTime or DateTime Offset

xsd:dateTime

Time

xsd:string

Boolean

xsd:boolean

String, Char

xsd:string

Otro

xsd:string

Reglas de representación específicas de XML

En las secciones siguientes se describe cómo interpreta los elementos del informe la extensión de representación en XML.

Cuerpo del informe

Un informe se representa como el elemento raíz del documento XML. El nombre del elemento procede del conjunto de propiedades DataElementName del panel Propiedades.

Las definiciones del espacio de nombres y los atributos de referencia del esquema XML también se incluyen en el elemento de informe. Las variables se indican en negrita:

<Report xmlns=”SchemaName” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=”SchemaNameReportURL&amp;rc%3aSchema=true” Name=”ReportName”>

Los valores de las variables son los siguientes:

Nombre

Valor

Report

Report.DataElementName

ReportURL

Dirección URL absoluta con codificación URL al informe en el servidor.

SchemaName

Report.SchemaName. Si es NULL, Report.Name. Si se usa Report.Name, primero se codifica con XmlConvert.EncodeLocalName.

ReportName

Nombre del informe.

Cuadros de texto

Los cuadros de texto se representan como elementos o atributos según la propiedad RDL DataElementStyle. El nombre del elemento o el atributo procede de la propiedad RDL TextBox.DataElementName .

Gráficos

Los gráficos se representan en XML. Los datos de los gráficos son estructurados.

Subinformes

Los subinformes se representan como elementos. El nombre de cada elemento se toma de la propiedad RDL DataElementName. El valor de la propiedad TextBoxesAsElements del informe invalida el valor correspondiente del subinforme. Los atributos de espacio de nombres y XSLT no se agregan al elemento de subinforme.

Rectángulos

Los rectángulos se representan como elementos. El nombre de cada elemento se toma de la propiedad RDL DataElementName.

Elementos de informe personalizados

Los CustomReportItems (CRI) no son visibles para la extensión de representación. Si existe algún elemento de informe personalizado en el informe, la extensión de representación lo representa como un elemento de informe convencional.

Imágenes

Las imágenes no se representan.

Líneas

Las líneas no se representan.

Tablas, matrices y listas

Las tablas, matrices y listas se representan como un elemento. El nombre del elemento procede de la propiedad RDL DataElementName del Tablix.

Filas y columnas

Las columnas se representan dentro de las filas.

Esquinas de Tablix

La esquina no se representa. Sólo se representa el contenido de la esquina.

Celdas de Tablix

Las celdas de Tablix se representan como elementos. El nombre del elemento se toma de la propiedad RDL DataElementName de la celda.

Subtotales automáticos

Los subtotales automáticos de Tablix no se representan.

Elementos de fila y de columna que no se repiten con un grupo

Los elementos que no repiten con un grupo, como las etiquetas, los subtotales y los totales, se representan como elementos. El nombre del elemento procede de la propiedad RDL TablixMember.DataElementName .

La propiedad RDL TablixMember.DataElementOutput controla si se representa un elemento no repetitivo.

Si no se proporciona la propiedad DataElementName del miembro del Tablix, se genera dinámicamente un nombre para el elemento no repetitivo en este formulario:

RowX: para las filas no repetitivas, donde X es un índice de fila de base cero dentro del elemento primario actual.

ColumnY: para las columnas no repetitivas, donde Y es un índice de columna de base cero dentro del elemento primario actual.

Un encabezado no repetitivo se representa como un elemento secundario de la fila o la columna que no se repite dentro de un grupo.

Si un miembro no repetitivo no tiene ninguna celda de Tablix correspondiente, no se representa. Esto puede ocurrir en el caso de una celda de Tablix que abarca más de una columna.

Filas y columnas que se repiten dentro de un grupo

Las filas y columnas que se repiten dentro de un grupo se representan según las reglas Tablix.DataElementOutput. El nombre de cada elemento se toma de la propiedad DataElementName.

Cada valor único dentro de un grupo se representa como un elemento secundario del grupo. El nombre de cada elemento se toma de la propiedad Group.DataElementName.

Si el valor de la propiedad DataElementOutput es igual al de la salida, el encabezado de un elemento repetitivo se representa como un elemento secundario del elemento de detalle.

Formatos personalizados y transformaciones XSL

Los archivos XML generados por la extensión de representación en XML se pueden transformar prácticamente en cualquier formato mediante las transformaciones XSL (XSLT). Esta funcionalidad se puede usar para generar datos en formatos todavía no admitidos por las extensiones de representación existentes. Se recomienda utilizar la extensión de representación en XML y XSLT antes de intentar crear una extensión de representación propia.

Nombres duplicados

Si hay nombres de elementos de datos duplicados dentro del mismo ámbito, el representador muestra un mensaje de error.

Transformaciones XSLT

El representador de XML puede aplicar una transformación XSLT en el servidor a los datos XML originales. Cuando se aplica una XSLT, el representador genera el contenido transformado en lugar de los datos XML originales. La transformación se produce en el servidor, no en el cliente.

La transformación XSLT que se debe aplicar a la salida se define en el archivo de definición de informe con la propiedad DataTransform del informe o con el parámetro DeviceInfo de XSLT. Si se establece cualquiera de estos valores, la transformación se produce cada vez que se usa el procesador de XML. Cuando se utilizan suscripciones, la transformación XSLT se debe definir en la propiedad RDL DataTransform.

Si se especifica un archivo XSLT, tanto con la propiedad de definición DataTransform como con la configuración de la información del dispositivo, primero se produce la transformación XSLT especificada en DataTransform y después la establecida mediante la configuración de la información del dispositivo.

Configuración de la información del dispositivo

Puede cambiar parte de la configuración predeterminada de este representador cambiando valores de configuración de la información del dispositivo como los siguientes:

  • La transformación (XSLT) que se aplicará al XML.

  • El tipo MIME del documento XML.

  • Si se van a aplicar cadenas de formato a los datos.

  • Si se va a aplicar sangría a los resultados XML.

  • Si se va a incluir el nombre del esquema XML.

  • La codificación del documento XML.

  • La extensión de archivo del documento XML.

Para obtener más información, vea Reporting Services Device Information Settings.