Exportando para XML
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 mensagem de dados XML ou enviado para um aplicativo personalizado.
A tabela a seguir descreve como são renderizados os itens de relatório.
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. |
Seções de grupos e 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. |
Mapa |
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. |
Os relatórios renderizados usando a extensão de renderização XML também seguem essas 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 or DateTime Offset |
xsd:dateTime |
Time |
xsd:string |
Boolean |
xsd:boolean |
String, Char |
xsd:string |
Outro |
xsd:string |
XML - Regras específicas de renderização
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 estão também incluídos no elemento do relatório. As variáveis estão observadas em tipo de face em negrito:
<Relatório xmlns=”SchemaName” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instância” 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, 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 do TextBox.DataElementName Propriedade do RDL.
Gráficos
Os gráficos são renderizados em XML. Os dados dos gráficos 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.
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 repetente é gerado dinamicamente neste formulário:
RowX – Para linhas não repetentes, 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.
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.
Nomes em duplicidade
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 de 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, tanto pela propriedade de definição DataTransform como pela definição das informações do dispositivo, o XSLT especificado no DataTransform ocorre primeiro, seguido pelo XSLT configurado pelas definiçõ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, 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 de Dispositivo para Relatórios.
Consulte também
Conceitos
Entendendo a paginação no Reporting Services
Entendendo os comportamentos de renderização
Comparando a funcionalidade interativa para extensões de renderização de relatório diferentes