Sintaxe do caminho do elemento para especificar dados de relatório XML (Construtor de Relatórios 2.0)
No Construtor de Relatórios 2.0, você especifica os dados para uso em um relatório a partir de uma fonte de dados XML ao definir um caminho do elemento que faz distinção entre maiúsculas e minúsculas. Um caminho de elemento indica como transpor os nós hierárquicos XML e seus atributos na fonte de dados XML. Para usar o caminho do elemento padrão, deixe a consulta do conjunto de dados ou o ElementPath XML da Query XML vazio. Quando os dados são recuperados da fonte de dados XML, os nós do elemento que possuem valores de texto e os atributos do nó do elemento se tornam colunas no conjunto de resultados. Os valores dos nós e atributos tornam-se os dados da linha quando a consulta é executada. As colunas são exibidas como a coleção de campos do conjunto de dados no painel Dados do Relatório. Este tópico descreve a sintaxe do caminho do elemento.
![]() |
---|
A sintaxe do caminho do elemento é independente do namespace. Para usar namespaces em um caminho de elemento, use a sintaxe de consulta XML que inclui um elemento ElementPath XML descrito em Sintaxe de consulta XML para especificar dados de relatório XML (Construtor de Relatórios 2.0). |
A tabela a seguir descreve as convenções usadas para definir um caminho de elemento.
Convenção |
Usada para |
---|---|
negrito |
Texto que deve ser digitado exatamente como mostrado. |
| (barra vertical) |
Separa itens de sintaxe. É possível escolher apenas um desses itens. |
[ ] (colchetes) |
Itens de sintaxe opcionais. Não digite os colchetes. |
{ } (chaves) |
Delimita parâmetros de itens de sintaxe. |
[,...n] |
Indica que o item precedente pode ser repetido n vezes. As ocorrências são separadas por vírgulas. |
Sintaxe
Element path ::=
ElementNode[/Element path]
ElementNode ::=
XMLName[(Encoding)][{[FieldList]}]
XMLName ::=
[NamespacePrefix:]XMLLocalName
Encoding ::=
HTMLEncoded | Base64Encoded
FieldList ::=
Field[,FieldList]
Field ::=
Attribute | Value | Element | ElementNode
Attribute ::=
@XMLName[(Type)]
Value ::=
@[(Type)]
Element ::=
XMLName[(Type)]
Type ::=
String | Integer | Boolean | Float | Decimal | Date | XML
NamespacePrefix ::=
Identifier that specifies the namespace.
XMLLocalName :: =
Identifier in the XML tag.
Comentários
A tabela a seguir resume os termos do caminho do elemento. Os exemplos na tabela referem-se ao documento XML de exemplo Customers.xml, que está incluído na seção Exemplos deste tópico.
![]() |
---|
As marcas XML diferenciam maiúsculas de minúsculas. Ao especificar um ElementNode no caminho do elemento, você deve corresponder exatamente as marcas XML na fonte de dados. |
Termo |
Definição |
---|---|
Caminho do elemento |
Define a seqüência de nós a serem transpostos dentro do documento XML para recuperar dados do campo para um conjunto de dados com uma fonte de dados XML. |
ElementNode |
O nó XML no documento XML. Os nós são designados por marcas e existem em uma relação hierárquica com outros nós. Por exemplo, <Clientes> é o nó do elemento raiz. <Cliente> é um subelemento de <Clientes>. |
XMLName |
O nome do nó. Por exemplo, o nome do nó Clientes é Clientes. Um XMLName pode ser prefixado com um identificador de namespace para nomear exclusivamente cada nó. |
Encoding |
Indica que o Value deste elemento é XML codificado e precisa ser decodificado e incluído como um subelemento desse elemento. |
FieldList |
Define o conjunto de elementos e atributos a serem usados para recuperar dados. Se não estiverem especificados, todos os atributos e subelementos serão usados como campos. Se a lista de campos vazios estiver especificada ({}), nenhum campo desse nó será usado. Uma FieldList pode não conter um Value e um Element ou ElementNode. |
Field |
Especifica os dados recuperados como um campo do conjunto de dados. |
Attribute |
Um par de nome-valor dentro do ElementNode. Por exemplo, no nó do elemento <ID do Cliente="1">, ID é um atributo e @ID(Integer) retorna "1" com um tipo inteiro no ID do campo de dados correspondente. |
Value |
O valor do elemento. Value pode ser usado apenas no último ElementNode no caminho do elemento. Por exemplo, como <Retorno> é um nó folha, se ele for incluído no final de um caminho do elemento, o valor de Return {@} será Chair. |
Element |
O valor do subelemento nomeado. Por exemplo, Clientes {}/Cliente {}/Sobrenome recupera valores apenas para o elemento Sobrenome. |
Type |
O tipo de dados opcional a ser usado para o campo criado desse elemento. |
NamespacePrefix |
O NamespacePrefix é definido no elemento Consulta XML. Se não existir nenhum elemento Consulta XML, os namespaces no ElementPath XML serão ignorados. Se existir um elemento Consulta XML, o ElementPath XML terá um atributo opcional IgnoreNamespaces. Se IgnoreNamespaces for true, os namespaces no ElementPath XML e o documento XML serão ignorados. Para obter mais informações, consulte Sintaxe de consulta XML para especificar dados de relatório XML (Construtor de Relatórios 2.0). |
Exemplo – Nenhum namespace
Os exemplos a seguir usam o documento XML Customers.xml. Esta tabela mostra exemplos de sintaxe do caminho do elemento e os resultados do uso do caminho do elemento em uma consulta que define um conjunto de dados, baseado no documento XML como uma fonte de dados.
![]() |
---|
Quando o caminho do elemento está vazio, a consulta usa o caminho do elemento padrão: o primeiro caminho para uma coleção de nós folha. No primeiro exemplo, deixar o caminho do elemento vazio é equivalente a especificar o caminho do elemento /Clientes/Cliente/Pedidos/Pedido. Todos os valores e atributos do nó ao longo do caminho são retornados no conjunto de resultados, e os nomes de nós e de atributos são exibidos como campos do conjunto de dados. |
Exemplo |
Campos no conjunto de dados |
---|---|
Vazio |
PedidoQuantidadeIDFirstNameLastNameCustomer.IDxmlns
Cadeira61BobbyMoore11https://www.adventure-works.com
Mesa12BobbyMoore11https://www.adventure-works.com
Sofá28CrystalHu20https://www.adventure-works.com
Mesas de canto215WyattDiaz33https://www.adventure-works.com
|
Customers {}/Customer |
FirstNameLastNameID
BobbyMoore11
CrystalHu20
WyattDiaz33
|
Customers {}/Customer {}/LastName |
LastName
Moore
Hu
Diaz
|
Customers {}/Customer {}/Orders/Order {@,@Qty} |
PedidoQuantidade
Cadeira6
Mesa1
Sofá2
Mesas de canto2
|
Customers {}/Customer/Orders/Order{ @ID(Integer)} |
ID do pedidoFirstNameLastNameID
1BobbyMoore11
2BobbyMoore11
8CrystalHu20
15WyattDiaz33
|
Documento XML: Customers.xml
Para testar os exemplos de caminhos de elementos na seção anterior, você pode copiar esse XML e salvá-lo em uma URL acessível pelo Construtor de Relatórios e, em seguida, usar o documento XML como uma fonte de dados: por exemplo, https://localhost/Customers.xml.
<?xml version="1.0"?>
<Customers xmlns="https://www.adventure-works.com">
<Customer ID="11">
<FirstName>Bobby</FirstName>
<LastName>Moore</LastName>
<Orders>
<Order ID="1" Qty="6">Chair</Order>
<Order ID="2" Qty="1">Table</Order>
</Orders>
<Returns>
<Return ID="1" Qty="2">Chair</Return>
</Returns>
</Customer>
<Customer ID="20">
<FirstName>Crystal</FirstName>
<LastName>Hu</LastName>
<Orders>
<Order ID="8" Qty="2">Sofa</Order>
</Orders>
<Returns/>
</Customer>
<Customer ID="33">
<FirstName>Wyatt</FirstName>
<LastName>Diaz</LastName>
<Orders>
<Order ID="15" Qty="2">EndTables</Order>
</Orders>
<Returns/>
</Customer>
</Customers>
Como alternativa, é possível criar uma fonte de dados XML que não possui nenhuma cadeia de conexão e incorporar Customers.XML na consulta, usando o seguinte procedimento:
Para incorporar Customers.XML em um consulta
Crie uma fonte de dados XML com uma cadeia de conexão em branco.
Crie um novo conjunto de dados para a fonte de dados XML.
Na caixa de diálogo Propriedades do Conjunto de Dados, clique em Designer de Consulta. A caixa de diálogo do Designer de Consulta baseada em texto é aberta.
No painel de consulta, digite as duas linhas a seguir:
<Query>
<XmlData>
Copie Customers.XML e cole o texto no painel de consulta depois de <XmlData>.
No painel de consulta, exclua a primeira linha que você copiou de Customers.XML: <?xml version="1.0"?>
No final da consulta, adicione as duas linhas seguintes:
<XmlData>
<Query>
Clique em Executar Consulta (!).
O conjunto de resultados exibe 4 linhas de dados com as seguintes colunas: xmlns, Customer.ID, FirstName, LastName, ID, Qty, Order.
Clique em OK.
Consulte também