Exportando para XML (Construtor de Relatórios 3.0 e SSRS)

A extensão XML de renderização retorna um relatório no formato XML. O esquema para o XML do relatório é específico para este relatório e contém somente dados. As informações de layout não são renderizadas e a paginação não é mantida pela extensão XML de renderizaçã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çãoObservação

É possível criar e modificar definições de relatórios (.rdl) no Report Builder 3.0 e no Designer de Relatórios no Business Intelligence Development Studio. Cada ambiente de criação fornece diferentes maneiras de criar, abrir e salvar relatórios e itens relacionados. Para obter mais informações, consulte Projetando e implementando relatórios usando o Designer de Relatórios (Reporting Services) na Web em microsoft.com.

Neste artigo

Itens de relatório

Tipos de dados

Regras de renderização específicas de XML

Formatos personalizados e XSL Transformations

Nomes duplicados

XSLT Transformations

Configurações de informações de dispositivo

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.

Mapear

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.

Indicador

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

Ícone de seta usado com o link Voltar ao InícioVoltar ao Início

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 or DateTime Offset

xsd:dateTime

Time

xsd:string

Boolean

xsd:boolean

String, Char

xsd:string

Outro

xsd:string

Ícone de seta usado com o link Voltar ao InícioVoltar ao Início

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. As variáveis estão indicadas em negrito:

<Relatório xmlns=”SchemaName” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instância” xsi:schemaLocation=”SchemaNameReportURL&amp;rc%3aSchema=true” Name=”ReportName”>

Estes são os valores das variáveis:

Nome

Valor

Relatório

Report.DataElementName

ReportURL

URLEncoded URL absoluto para o relatório no servidor.

SchemaName

Report.SchemaName. Se nulo, então Report.Name. Se o Report.Name for usado, ele será codificado primeiro 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 DataElementStyle propriedade RDL. O nome do elemento ou do atributo é obtido da propriedade RDL TextBox.DataElementName .

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.

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 DataElementName propriedade RDL. A configuração da propriedade TextBoxesAsElements do relatório anula aquela do sub-relatório. Namespace e atributos 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 é obtido da DataElementName propriedade RDL.

Itens de Relatório Personalizados

CustomReportItems (CRI) não são visíveis à 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.

Ícone de seta usado com o link Voltar ao InícioVoltar ao Início

Tabelas, matrizes e listas

Tabelas, matrizes e listas são renderizadas como um elemento. O nome do elemento é obtido da DataElementName propriedade RDL da 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 DataElementName propriedade RDL 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 do TablixMember.DataElementName Propriedade do RDL.

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

Se a propriedade DataElementName do membro do Tablix não é fornecida, um nome para o item não repetido é gerado dinamicamente neste formulário:

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

ColumnY – Para as colunas não repetentes, onde Y é um índice de coluna baseado em zero dentro do 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 repetitivo não tiver nenhuma Tablix célula correspondente, ele não será renderizado. Isto pode ocorrer no case de uma célula Tablix onde atravessa 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 as regras Tablix.DataElementOutput. O nome do elemento é obtido da DataElementName propriedade.

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 repetente será renderizado com um filho do elemento de detalhes.

Ícone de seta usado com o link Voltar ao InícioVoltar ao Início

Formatos personalizados e transformações de 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.

Ícone de seta usado com o link Voltar ao InícioVoltar ao Início

Nomes duplicados

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

Ícone de seta usado com o link Voltar ao InícioVoltar ao Início

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 ou com o parâmetro XSLT DeviceInfo. Se nenhum desses valores for definido, a transformação ocorre sempre que o processador XML é usado. Ao usar assinatura, o XSLT deve ser definido na propriedade RDL DataTransform.

Se um arquivo XSLT estiver especificado pela propriedade de definição DataTransform e pela definição das informações do dispositivo, o XSLT especificado no DataTransform ocorrerá primeiro, seguido do XSLT configurado pelas definições das informações do dispositivo.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início

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, inclusive o seguinte:

  • 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, consulte Configurações de informações do dispositivo XML.

Ícone de seta usado com o link Voltar ao InícioVoltar ao início