Exportar um relatório paginado para XML (Construtor de Relatórios)

Aplica-se a: Construtor de Relatórios da Microsoft (SSRS) Designer de Relatórios do Power BI no SQL Server Data Tools

A extensão de renderização XML devolve um relatório paginado em formato XML. O esquema para o XML do relatório é específico para o relatório e contém apenas dados. A extensão de renderização XML não renderiza a informação de layout nem mantém a paginação. O XML gerado por essa extensão pode ser importado para um banco de dados, usado como uma mensagem de dados XML ou enviado para um aplicativo personalizado.

Observação

Você pode criar e modificar arquivos de definição de relatório paginado (.rdl) no Construtor de Relatórios da Microsoft, no Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.

Itens do Relatório

A tabela a seguir descreve como os itens de relatório são renderizados.

Item Comportamento de renderização
Relatório É apresentado como o elemento de topo do documento XML.
Regiões de dados É apresentado como um elemento dentro do elemento do respetivo contentor. As regiões de dados incluem tabela, matriz e lista que exibem dados como texto e gráfico, barras de dados, minigráficos, medidores e indicadores que visualizam dados.
Secções de grupo e de detalhes Cada instância é apresentada como um elemento dentro do elemento do respetivo contentor.
Caixa de texto É apresentado como um atributo ou elemento no respetivo contentor.
Retângulo É apresentado como um elemento no interior do seu contentor.
Grupos de colunas de matriz Renderiza como elementos dentro de grupos de linhas.
Map É apresentado como um elemento no elemento do respetivo contentor. As camadas do mapa são elementos filho do mapa e cada camada do mapa inclui elementos para os respetivos membros do mapa e atributos dos membros do mapa.
Gráfico É apresentado como um elemento no elemento do respetivo contentor. As séries são elementos subordinados do gráfico, e as categorias são elementos subordinados de uma série. Apresenta todos os rótulos do gráfico para cada valor no gráfico. Rótulos e valores são incluídos como atributos.
Barra de dados É apresentado como um elemento dentro do elemento do respetivo contentor, como um gráfico. Normalmente, uma barra de dados não inclui hierarquias ou rótulos, apenas valores.
Sparkline É apresentado como um elemento dentro do elemento do respetivo contentor, tal como um gráfico. Normalmente, uma sparkline não inclui hierarquias ou rótulos, apenas valores.
Medidor É apresentado como um elemento dentro do elemento do respetivo contentor. É renderizado como um único elemento com os valores mínimo e máximo da escala, o valor inicial e o valor final do intervalo e o valor do ponteiro como atributos.
Indicator É apresentado como um elemento dentro do elemento do respetivo contentor, à semelhança de um indicador. Renderiza como um único elemento com o nome do estado ativo, estados disponíveis e o valor de dados como atributos.

Os relatórios que são renderizados usando a extensão de renderização XML também seguem estas regras:

  • Os elementos e atributos XML são renderizados na ordem em que aparecem na definição de relatório.

  • A paginação é ignorada.

  • Os cabeçalhos e rodapés das páginas não são renderizados.

  • Os itens ocultos que não podem ser tornados visíveis por alternância não são renderizados. Inicialmente, são renderizados os itens visíveis e os itens ocultos que podem ser tornados visíveis através de um botão de alternância.

  • Imagens, linhas e itens de relatório personalizados são ignorados.

Tipos de dados

O elemento ou atributo da caixa de texto recebe um tipo de dados XSD com base nos valores que a caixa de texto exibe.

Se todos os valores do campo de texto forem O tipo de dados atribuído é
Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte xsd:integer
Decimal (ou Decimal e qualquer tipo de dados inteiro ou de byte) xsd:decimal
Float (ou Decimal e qualquer tipo de dados inteiro ou de byte) xsd:float
Double (ou Decimal e qualquer tipo de dados inteiro ou do tipo byte) xsd:double
DateTime ou DateTimeOffset xsd:dateTime
Tempo xsd:string
Booleano xsd:boolean
Cadeia de caracteres, Caractere xsd:string
Other xsd:string

Regras de renderização específicas para XML

As seções a seguir descrevem como as extensões de renderização XML interpretam os itens dentro do relatório.

Órgão do relatório

Um relatório é renderizado como o elemento raiz do documento XML. O nome do elemento provém da propriedade definida no painel de DataElementName.

As definições de namespace XML e os atributos de referência de esquema também são incluídos no elemento de relatório. As variáveis são indicadas em <>:

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

Os valores para as variáveis são os seguintes:

Nome Valor
Relatório Report.DataElementName
ReportURL URLEncoded URL absoluto para o relatório no servidor.
SchemaName Report.SchemaName. Se for nulo, então Report.Name. Se Report.Name for usado, o valor é primeiro codificado com XmlConvert.EncodeLocalName.
Nome do Relatório O nome do relatório.

Caixas de texto

As caixas de texto são renderizadas como elementos ou atributos de acordo com a DataElementStyle propriedade RDL. O nome do elemento ou atributo provém da TextBox.DataElementName propriedade RDL.

Gráficos, barras de dados e minigráficos

Gráficos, barras de dados e minigráficos são renderizados em XML. Os dados são estruturados.

Manómetros e indicadores

Medidores e indicadores são renderizados em XML. Os dados são estruturados.

Sub-relatórios

Um sub-relatório é apresentado como um elemento. O nome do elemento é retirado da DataElementName propriedade RDL. A TextBoxesAsElements definição de propriedade do relatório sobrepõe-se à do subrelatório. Os atributos Namespace e XSLT não são adicionados ao elemento de sub-relatório.

Retângulos

Um retângulo é renderizado como um elemento. O nome do elemento é retirado da propriedade RDL DataElementName.

Itens de relatório personalizados

CustomReportItems (CRI) não são visíveis para a extensão de renderização. Se existir um item de relatório personalizado no relatório, a extensão de renderização o renderizará como um item de relatório convencional.

Imagens

As imagens não são renderizadas.

Linhas

As linhas não são renderizadas.

Tabelas, matrizes e listas

Tabelas, matrizes e listas são renderizadas como um elemento. O nome do elemento provém da propriedade Tablix DataElementName RDL.

Linhas e colunas

As colunas são renderizadas dentro de linhas.

Cantinho Tablix

O canto não é renderizado. Apenas o conteúdo do canto é renderizado.

Células Tablix

As células Tablix são renderizadas como elementos. O nome do elemento é retirado da propriedade RDL da DataElementName célula.

Subtotais automáticos

Os subtotais automáticos do Tablix não são renderizados.

Itens de linha e coluna que não se repetem num grupo

Itens que não se repetem com um grupo, como rótulos, subtotais e totais, são renderizados como elementos. O nome do elemento provém da TablixMember.DataElementName propriedade RDL.

A TablixMember.DataElementOutput propriedade RDL controla se um item não repetitivo é renderizado.

Se a DataElementName propriedade do membro Tablix não for fornecida, um nome para o item não repetitivo é gerado dinamicamente nesta forma:

RowX: Para linhas não repetidas, onde X é um índice de linha baseado em zero dentro do elemento pai atual.

Coluna Y: Para colunas não repetidas, onde Y é um índice baseado em zero dentro do elemento pai atual.

Um cabeçalho não repetitivo é renderizado como filho da linha ou coluna que não se repete com um grupo.

Se um membro não repetitivo não tiver células Tablix correspondentes, não é renderizado. Este resultado pode ocorrer se uma célula de Tablix se estende por mais de uma coluna.

Linhas e colunas que se repetem com um grupo

Linhas e colunas que se repetem dentro de um grupo são renderizadas de acordo com Tablix.DataElementOutput regras. O nome do elemento é retirado da DataElementName propriedade.

Cada valor exclusivo dentro de um grupo é renderizado como um elemento filho do grupo. O nome do elemento é retirado da Group.DataElementName propriedade.

Se o valor da DataElementOutput propriedade for igual a Output, o cabeçalho de um item repetido é renderizado como filho do elemento de detalhe.

Formatos personalizados e transformações XSL

Os arquivos XML produzidos pela extensão de renderização XML podem ser transformados em praticamente qualquer formato usando transformações XSL (XSLT). Essa funcionalidade pode ser usada para produzir dados em formatos ainda não suportados por extensões de renderização existentes. Considere usar a extensão de renderização XML e XSLT antes de tentar criar sua própria extensão de renderização.

Nomes duplicados

Se houver nomes de elementos de dados duplicados dentro do mesmo escopo, o renderizador exibirá uma mensagem de erro.

Transformações XSLT

O renderizador XML pode aplicar uma transformação XSLT do lado do servidor aos dados XML originais. Quando um XSLT é aplicado, o renderizador produz o conteúdo transformado em vez dos dados XML originais. A transformação ocorre no servidor, não no cliente.

O XSLT a aplicar à saída é definido ou no ficheiro de definição do relatório com a DataTransform propriedade do relatório. Em alternativa, pode ser especificado com o parâmetro XSLT DeviceInfo .

Se um desses valores for definido, a transformação ocorrerá sempre que o renderizador XML for usado. Quando usa subscrições, o XSLT deve ser definido na propriedade RDL DataTransform.

Se um ficheiro XSLT for especificado, tanto pela DataTransform propriedade de definição como pela configuração de informação do dispositivo, o XSLT especificado em DataTransform ocorre primeiro, seguido pelo XSLT definido pelas configurações de informação do dispositivo.

Definições de Informações do Dispositivo

Pode alterar algumas definições predefinidas deste renderizador alterando as definições de informação do dispositivo, incluindo as seguintes:

  • Uma transformação (XSLT) para aplicar ao XML.

  • O tipo MIME do documento XML.

  • Se as cadeias de caracteres de formato devem ser aplicadas aos dados.

  • Indica se a saída em XML deve ser indentada.

  • Se o nome do esquema XML deve ser incluído.

  • A codificação para o documento XML.

  • A extensão de arquivo do documento XML.

Para obter mais informações, consulte Configurações de informações do dispositivo XML.