Partilhar via


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 Renderiza como o elemento de nível superior do documento XML.
Regiões de dados Renderiza como um elemento dentro do elemento para seu contêiner. 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.
Seções de grupo e detalhes Cada instância é renderizada como um elemento dentro do elemento para seu contêiner.
Caixa de texto Renderiza como um atributo ou elemento dentro de seu contêiner.
Retângulo Renderiza como um elemento dentro de seu contêiner.
Grupos de colunas de matriz Renderiza como elementos dentro de grupos de linhas.
Map Renderiza como um elemento dentro do elemento para seu contêiner. As camadas de mapa são elementos filho do mapa e cada camada de mapa inclui elementos para seus membros do mapa e atributos de membro do mapa.
Gráfico Renderiza como um elemento dentro do elemento para seu contêiner. As séries são elementos filho do gráfico e as categorias são elementos filho de uma série. Renderiza todos os rótulos de gráfico para cada valor de gráfico. Rótulos e valores são incluídos como atributos.
Barra de dados Renderiza como um elemento dentro do elemento para seu contêiner, semelhante a um gráfico. Normalmente, uma barra de dados não inclui hierarquias ou rótulos, apenas valores.
Gráfico Sparkline Renderiza como um elemento dentro do elemento para seu contêiner, semelhante a um gráfico. Normalmente, uma sparkline não inclui hierarquias ou rótulos, apenas valores.
Medidor Renderiza como um elemento dentro do elemento para seu contêiner. Renderiza como um único elemento com os valores mínimo e máximo da escala, valores iniciais e finais do intervalo e o valor do ponteiro como atributos.
Indicator Renderiza como um elemento dentro do elemento para seu contêiner, semelhante a um medidor. 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, os itens visíveis e os itens ocultos que podem ser tornados visíveis por meio de uma alternância são renderizados.

  • 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 da caixa de texto forem O tipo de dados atribuído é
Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte xsd:inteiro
Decimal (ou Decimal e qualquer tipo de dados inteiro ou byte) xsd:decimal
Float (ou Decimal e qualquer tipo de dados inteiro ou byte) xsd:flutuar
Duplo (ou decimal e qualquer tipo de dados inteiro ou byte) xsd: duplo
Deslocamento DateTime ou DateTime xsd:dateTime
Tempo xsd:string
Booleano xsd:booleano
Corda, Char 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 Propriedades.

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 é renderizado 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 com um 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.

  • Se a saída XML deve ser recuada.

  • 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.