Sintassi dei percorsi di elementi per la definizione di dati di report XML
Data aggiornamento: 17 luglio 2006
In Progettazione report è possibile specificare i dati da utilizzare per un report da un'origine dei dati XML definendo un percorso di elemento con distinzione tra maiuscole e minuscole. Un percorso di elemento indica come attraversare i nodi gerarchici XML e i relativi attributi nell'origine dei dati XML. Per utilizzare il percorso di elemento predefinito, lasciare vuota la query del set di dati o il nodo ElementPath XML dell'elemento Query XML. Quando vengono recuperati i dati dall'origine dei dati XML, i nodi elemento con valori di testo e gli attributi dei nodi elemento diventano colonne del set di risultati. Quando si esegue la query, i valori dei nodi e degli attributi diventano i dati delle righe. Viene eseguito il mapping tra le colonne e i campi del set di dati e le colonne vengono visualizzate nella finestra Set di dati quando si fa clic sul pulsante Aggiorna campi sulla barra degli strumenti. In questo argomento viene descritta la sintassi del percorso di elemento.
[!NOTA] La sintassi del percorso di elemento è indipendente dallo spazio dei nomi. Per utilizzare gli spazi dei nomi in un percorso di elemento, utilizzare la sintassi di query XML che includa un elemento ElementPath, come descritto in Sintassi di query XML per la definizione di dati di report XML.
Nella tabella seguente vengono descritte le convenzioni utilizzate per definire un percorso di elemento.
Convenzione | Utilizzo |
---|---|
grassetto |
Il testo deve essere digitato esattamente come illustrato. |
| (barra verticale) |
Separa gli elementi della sintassi. Indica che è possibile scegliere un solo elemento. |
[ ] (parentesi quadre) |
Elementi della sintassi facoltativi. Le parentesi quadre non devono essere digitate. |
{ } (parentesi graffe) |
Delimitano i parametri degli elementi della sintassi. |
[,...n] |
Indica che l'elemento precedente può essere ripetuto n volte. Le varie occorrenze dell'elemento sono separate da virgole. |
Sintassi
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.
Osservazioni
Nella tabella seguente sono riepilogati i termini del percorso di elemento. Gli esempi della tabella si riferiscono al documento XML di esempio Customers.xml, incluso nella sezione relativa agli esempi di questo argomento.
[!NOTA] Nei tag XML viene fatta distinzione tra maiuscole e minuscole. Se nel percorso di elemento si specifica un nodo ElementNode, è necessario che corrisponda esattamente ai tag XML dell'origine dei dati.
Termine | Definizione |
---|---|
Element path |
Definisce la sequenza di nodi da attraversare nel documento XML per recuperare i dati del campo di un set di dati con un'origine dei dati XML. |
ElementNode |
Nodo XML nel documento XML. I nodi sono designati da tag e sono correlati agli altri nodi in base a una relazione gerarchica. <Customers>, ad esempio, è il nodo elemento principale. <Customer> è un sottoelemento di <Customers>. |
XMLName |
Nome del nodo. Il nome del nodo Customers, ad esempio, è Customers. XMLName può essere preceduto da un identificatore dello spazio dei nomi, per assegnare a ogni nodo un nome univoco. |
Encoding |
Indica che il valore Value dell'elemento è un valore XML con codifica e deve essere decodificato e incluso come sottoelemento dell'elemento. |
FieldList |
Definisce il set di elementi e attributi da utilizzare per recuperare i dati. Se non specificato, vengono utilizzati come campi tutti gli attributi e i sottoelementi. Se è specificato un elenco di campi vuoto, ovvero {}, non vengono utilizzati campi di questo nodo. Un elemento FieldList potrebbe non contenere sia Value che Element o ElementNode. |
Field |
Specifica i dati recuperati come campo del set di dati. |
Attribute |
Coppia nome-valore contenuta in ElementNode. Nel nodo elemento <Customer ID="1">, ad esempio, ID è un attributo e @ID(Integer) restituisce "1" come tipo integer nel campo dati ID corrispondente. |
Value |
Valore dell'elemento. Value può essere utilizzato solo nell'ultimo nodo ElementNode del percorso di elemento. Poiché, ad esempio, <Return> è un nodo foglia, se lo si include alla fine di un percorso di elemento, il valore di Return {@} è Chair. |
Element |
Valore del sottoelemento denominato. Customers {}/Customer {}/LastName recupera, ad esempio, i valori solo per l'elemento LastName. |
Type |
Tipo di dati facoltativo da utilizzare per il campo creato da questo elemento. |
NamespacePrefix |
NamespacePrefix è definito nell'elemento Query XML. Se non è presente alcun elemento Query XML, gli spazi dei nomi del nodo ElementPath XML vengono ignorati. Se è presente un elemento Query XML, il nodo ElementPath XML include un attributo IgnoreNamespaces facoltativo. Se IgnoreNamespaces è true, gli spazi dei nomi del nodo ElementPath XML e del documento XML vengono ignorati. Per ulteriori informazioni, vedere Sintassi di query XML per la definizione di dati di report XML. |
Esempio - Nessuno spazio dei nomi
Negli esempi seguenti viene utilizzato il documento XML Customers.xml. In questa tabella sono illustrati esempi di sintassi del percorso di elemento e i risultati dell'utilizzo del percorso di elemento in una query per la definizione di un set di dati, basata sul documento XML come origine dei dati.
[!NOTA] Quando il percorso di elemento è vuoto, per la query viene utilizzato il percorso di elemento predefinito, ovvero il primo percorso di un insieme di nodi foglia. Nel primo esempio l'utilizzo di un percorso di elemento vuoto corrisponde alla definizione del percorso di elemento /Customers/Customer/Orders/Order. Tutti gli attributi e i valori del nodo nel percorso vengono restituiti nel set di risultati, mentre i nomi degli attributi e del nodo vengono visualizzati come campi del set di dati.
Esempio
Campi del set di dati
Vuoto
Order
Qty
ID
FirstName
LastName
Customer.ID
xmlns
Chair61BobbyMoore11https://www.adventure-works.com
Table12BobbyMoore11https://www.adventure-works.com
Sofa28CrystalHu20https://www.adventure-works.com
EndTables215WyattDiaz33https://www.adventure-works.com
Customers {}/Customer
FirstName
LastName
ID
BobbyMoore11
CrystalHu20
WyattDiaz33
Customers {}/Customer {}/LastName
LastName
Moore
Hu
Diaz
Customers {}/Customer {}/Orders/Order {@,@Qty}
Order
Qty
Chair6
Table1
Sofa2
EndTables2
Customers {}/Customer/Orders/Order{ @ID(Integer)}
Order.ID
FirstName
LastName
ID
1BobbyMoore11
2BobbyMoore11
8CrystalHu20
15WyattDiaz33
Documento XML: Customers.xml
Per provare a utilizzare gli esempi relativi al percorso di elemento della sezione precedente, è possibile copiare il codice XML seguente e salvarlo in un URL a cui sia possibile accedere tramite Progettazione report e quindi utilizzare il documento XML come origine dei dati XML, ad esempio, https://localhost/Customers.xml. In alternativa, è possibile creare un'origine dei dati XML che non disponga di stringa di connessione e incorporare il documento Customers.xml in un tag <XmlData> nell'elemento Query 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>
Vedere anche
Attività
Procedura: Aggiornamento di campi nella finestra Set di dati (Progettazione report)
Altre risorse
Esercitazione: Utilizzo di dati XML in un report