Exportar um relatório paginado para um XML (Construtor de Relatórios)
Aplica-se a: Microsoft Report Builder (SSRS) Power BI Report Builder Report Designer no SQL Server Data Tools
A extensão XML de renderização retorna um relatório paginado no formato XML. O esquema para o XML do relatório é específico para este relatório e contém somente dados. A extensão de renderização XML não renderiza informações de layout e não mantém a paginação. O XML gerado por esta 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, Construtor de Relatórios do Power BI e no Designer de Relatórios no SQL Server Data Tools.
Itens de relatório
A tabela a seguir descreve como os itens de relatório são renderizados.
Item | Comportamento da renderização |
---|---|
Relatório | Renderiza como elemento de nível superior do documento XML. |
Regiões de dados | Renderiza como um elemento dentro do elemento do respectivo contêiner. Regiões de dados incluem tabela, matriz e lista que exibem dados como texto e gráfico, barras de dados, minigráficos, indicadores e indicadores que visualizam dados. |
Seções de grupo e de detalhes | Cada instância renderiza como um elemento dentro do elemento do respectivo contêiner. |
Caixa de texto | Renderiza como um atributo ou elemento do respectivo contêiner. |
Retângulo | Renderiza como um elemento dentro do respectivo contêiner. |
Grupos de colunas de matriz | Renderiza como elementos dentro de grupos de linhas. |
Mapeamento | Renderiza como um elemento dentro do elemento do respectivo contêiner. As camadas do mapa são elementos filho do mapa e cada uma delas contém elementos para seus membros de mapa e atributos de membros de mapa. |
Gráfico | Renderiza como um elemento dentro do elemento do respectivo contêiner. Séries são elementos filho do gráfico e 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 do respectivo contêiner, semelhante a um gráfico. Normalmente, uma barra de dados não inclui hierarquias ou rótulos, apenas valores. |
Minigráficos | Renderiza como um elemento dentro do elemento do respectivo contêiner, semelhante a um gráfico. Normalmente, um minigráfico não inclui hierarquias ou rótulos, apenas valores. |
Medidor | Renderiza como um elemento dentro do elemento do respectivo contêiner. Renderiza como um único elemento com os valores mínimo e máximo da escala, valores de início e fim do intervalo e o valor do ponteiro como atributos. |
Indicador | Renderiza como um elemento dentro do elemento do respectivo 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 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 do relatório.
A paginação é ignorada.
Cabeçalhos e rodapés nas páginas não são renderizados.
Os itens ocultos que não podem se tornar visíveis pela alternância não são renderizados. Inicialmente, os itens visíveis e os ocultos que podem tornar-se visíveis por meio da alternância são renderizados.
Images, lines, and custom report items são ignorados.
Tipos de dados
Ao elemento ou atributo da caixa de texto é atribuído um tipo de dados XSD baseado nos valores que a caixa de texto exibe.
Se todos os valores da caixa de texto forem: | O tipo de dados atribuído será: |
---|---|
Int16, Int32, Int64, UInt16, UInt32, UInt64, Byte, SByte | xsd:integer |
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:float |
Double (ou Decimal e qualquer tipo de dados inteiro ou byte) | xsd:double |
DateTime ou DataTime Offset | xsd:dateTime |
Hora | xsd:string |
Booliano | xsd:boolean |
String, Char | xsd:string |
Outro | xsd:string |
Regras de renderização específicas de XML
As seções a seguir descrevem como as extensões de renderização XML interpretam os itens dentro do relatório.
Corpo do relatório
Um relatório é renderizado como elemento raiz do documento XML. O nome do elemento é obtido do conjunto de propriedades DataElementName
no painel Propriedades.
As definições do namespace XML e os atributos de referência do esquema também estão incluídos no elemento do relatório. Variáveis com notação em <>
:
<<Report> xmlns="<SchemaName>" xmlns:xsi="<http://www.w3.org/2001/XMLSchema-instance>" xsi:<schemaLocation>="<SchemaNameReportURL>&rc%3aSchema=true" Name="ReportName">
Os valores das 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 nulo, Report.Name . Se Report.Name for usado, o valor será primeiro codificado com XmlConvert.EncodeLocalName . |
ReportName | O nome do relatório. |
Caixas de texto
Caixas de texto são renderizadas como elementos ou atributos de acordo com a propriedade RDL DataElementStyle
. O nome do elemento ou atributo é obtido da propriedade RDL TextBox.DataElementName
.
Gráficos, barras de dados e minigráficos
Os gráficos, as barras de dados e os minigráficos são renderizados em XML. Os dados são estruturados.
Medidores e indicadores
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 é obtido da propriedade RDL DataElementName
. A configuração da propriedade TextBoxesAsElements
do relatório substitui aquela do sub-relatório. Os atributos de XSLT e namespace não são adicionados ao elemento de sub-relatório.
Retângulos
Um retângulo é renderizado como um elemento. O nome do elemento é obtido da propriedade RDL DataElementName.
Itens de relatório personalizados
Os CRIs (CustomReportItems
) não são visíveis para a extensão de renderização. Se um item de relatório personalizado existir no relatório, a extensão de renderização o executa 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 é obtido da propriedade RDL DataElementName
do Tablix.
Linhas e colunas
As colunas são renderizadas dentro das linhas.
Canto do 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 é obtido da propriedade RDL DataElementName
da célula.
Subtotais automáticos
Os subtotais automáticos do Tablix não são renderizados.
Itens de linha e de coluna que não se repetem com um grupo
Os itens que não se repetem com um grupo, como os rótulos, subtotais e totais são renderizados como elementos. O nome do elemento é obtido da propriedade RDL TablixMember.DataElementName
.
A propriedade TablixMember.DataElementOutput
RDL controla se um item não repetido é renderizado.
Se a propriedade DataElementName
do membro do Tablix não for fornecida, um nome para o item não repetido será gerado dinamicamente neste formato:
RowX: Para linhas não repetidas, em que X é um índice de linha baseado em zero no pai atual.
ColumnY: Para as colunas não repetidas, em que Y é um índice de coluna baseado em zero no pai atual.
Um cabeçalho não repetente é renderizado como um filho da linha ou coluna que não se repete em um grupo.
Se um membro não repetido não tiver nenhuma célula Tablix correspondente, ele não será renderizado. Esse resultado pode ocorrer se uma célula Tablix abranger mais de uma coluna.
Linhas e colunas que se repetem com um grupo
Linhas e colunas que se repetem em um grupo são renderizadas de acordo com as regras Tablix.DataElementOutput
. O nome do elemento é obtido da propriedade DataElementName
.
Cada valor exclusivo dentro de um grupo é renderizado como um elemento filho do grupo. O nome do elemento é obtido da propriedade Group.DataElementName
.
Se o valor da propriedade DataElementOutput
for igual à Saída, o cabeçalho de um item repetido será renderizado com um filho do elemento de detalhes.
Formatos personalizados e transformações XSL
Os arquivos XML produzidos pela extensão de renderização XML podem ser transformados em qualquer formato que utiliza as Transformações de XSL (XSLT). Esta funcionalidade pode ser usada para produzir dados em formatos que já não têm suporte pelas extensões de renderização existentes. Considere o uso da extensão de renderização XML e o XSLT antes de tentar criar sua própria extensão de renderização.
Nomes duplicados
Se houver nomes de elemento de dados duplicados dentro do mesmo escopo, o processador exibirá uma mensagem de erro.
Transformações XSLT
O processador XML pode aplicar uma transformação XSLT do lado de servidor para os dados de XML originais. Quando um XSLT é aplicado, o processador emite o conteúdo transformado ao invés dos dados XML originais. A transformação ocorre no servidor, não no cliente.
O XSLT a ser aplicado à saída é definido no arquivo de definição do relatório com a propriedade DataTransform
do relatório. Como alternativa, ele pode ser especificado com o parâmetro XSLT DeviceInfo.
Se nenhum desses valores for definido, a transformação ocorre sempre que o processador XML é usado. Ao usar assinaturas, o XSLT deve ser definido na propriedade RDL DataTransform
.
Se um arquivo XSLT for especificado, tanto pela propriedade de definição DataTransform
como pela definição das informações do dispositivo, o XSLT especificado no DataTransform
ocorrerá primeiro, seguido do XSLT definido pelas configurações das informações do dispositivo.
Configurações de informações de dispositivo
Você pode alterar algumas configurações padrão para este processador alterando as configurações de informações de dispositivo, incluindo as seguintes configurações:
Uma transformação (XSLT) para aplicar ao XML.
O tipo MIME do documento XML.
Se for aplicar cadeias de caracteres de formato aos dados.
Se recuar a saída do XML.
Se incluir o nome de esquema XML.
A codificação para o documento XML.
A extensão de arquivo do documento XML.
Para obter mais informações, confira Configurações das informações do dispositivo para XML.
Conteúdo relacionado
- Paginação no Reporting Services (Construtor de Relatórios e SSRS)
- Comportamentos de renderização (Construtor de Relatórios e SSRS)
- Funcionalidade interativa para diferentes extensões de renderização de relatórios (Construtor de Relatórios e SSRS)
- Renderizar itens de relatório (Construtor de Relatórios e SSRS)
- Tabelas, matrizes e listas (Construtor de Relatórios e SSRS)