Sintaks Jalur Elemen untuk Data Laporan XML (SSRS)
Dalam Perancang Laporan, Anda menentukan data yang akan digunakan untuk laporan dari sumber data XML dengan menentukan jalur elemen peka huruf besar/kecil. Jalur elemen menunjukkan cara melintasi simpul hierarkis XML dan atributnya di sumber data XML. Untuk menggunakan jalur elemen default, biarkan kueri himpunan data atau Xml ElementPath dari Kueri XML kosong. Saat data diambil dari sumber data XML, simpul elemen yang memiliki nilai teks dan atribut node elemen menjadi kolom dalam tataan hasil. Nilai simpul dan atribut menjadi data baris saat Anda menjalankan kueri. Kolom muncul sebagai kumpulan bidang himpunan data di panel Data Laporan. Topik ini menjelaskan sintaks jalur elemen.
Catatan
Sintaks jalur elemen independen namespace. Untuk menggunakan namespace dalam jalur elemen, gunakan sintaks kueri XML yang menyertakan elemen XML ElementPath yang dijelaskan dalam Sintaks Kueri XML untuk Data Laporan XML (SSRS).
Tabel berikut menjelaskan konvensi yang digunakan untuk menentukan jalur elemen.
Konvensi | Digunakan untuk |
---|---|
berani | Teks yang harus ditik persis seperti yang ditunjukkan. |
| (bilah vertikal) | Memisahkan item sintaks. Anda hanya dapat memilih salah satu item. |
[ ] (Tanda kurung) |
Item sintaks opsional. Jangan ketik tanda kurung. |
{ } (kurung kurawal) | Memisahkan parameter item sintaks. |
[,...n] | Menunjukkan item sebelumnya dapat diulang n berapa kali. Kejadian dipisahkan oleh koma. |
Sintaks
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.
Keterangan
Tabel berikut ini meringkas istilah jalur elemen. Contoh dalam tabel merujuk ke contoh dokumen XML Customers.xml, yang disertakan di bagian Contoh topik ini.
Catatan
Tag XML peka huruf besar/kecil. Saat Anda menentukan ElementNode di jalur elemen, Anda harus sama persis dengan tag XML di sumber data.
Term | Definisi |
---|---|
Jalur elemen | Menentukan urutan simpul untuk melintasi dalam dokumen XML untuk mengambil data bidang untuk himpunan data dengan sumber data XML. |
ElementNode | Simpul XML dalam dokumen XML. Simpul ditunjuk oleh tag dan ada dalam hubungan hierarkis dengan simpul lain. Misalnya, <Pelanggan> adalah node elemen root. <Pelanggan> adalah subelemen <Pelanggan>. |
XMLName | Nama node. Misalnya, nama node Pelanggan adalah Pelanggan. XMLName dapat diawali dengan pengidentifikasi namespace untuk memberi nama unik setiap simpul. |
Pengodean | Menunjukkan bahwa Nilai untuk elemen ini adalah XML yang dikodekan dan perlu didekodekan dan disertakan sebagai subelemen elemen ini. |
Daftar Bidang | Menentukan sekumpulan elemen dan atribut yang akan digunakan untuk mengambil data. Jika tidak ditentukan, semua atribut dan subelemen digunakan sebagai bidang. Jika daftar bidang kosong ditentukan ({}), tidak ada bidang dari simpul ini yang digunakan. FieldList mungkin tidak berisi Nilai dan Elemen atau ElementNode. |
Bidang | Menentukan data yang diambil sebagai bidang himpunan data. |
Atribut | Pasangan nama-nilai dalam ElementNode. Misalnya, dalam node <elemen ID Pelanggan="1">, ID adalah atribut dan @ID(Bilangan Bulat) mengembalikan "1" sebagai jenis bilangan bulat dalam ID bidang data yang sesuai. |
Nilai | Nilai elemen . Nilai hanya dapat digunakan pada ElementNode terakhir di jalur elemen. Misalnya, karena <Return> adalah simpul daun, jika Anda menyertakannya di akhir jalur elemen, nilai Return {@} adalah Chair. |
Elemen | Nilai subelemen bernama. Misalnya, Pelanggan {}/Pelanggan {}/LastName hanya mengambil nilai untuk elemen LastName. |
Jenis | Jenis data opsional yang akan digunakan untuk bidang yang dibuat dari elemen ini. |
NamespacePrefix | NamespacePrefix ditentukan dalam elemen Kueri XML. Jika tidak ada elemen Kueri XML, namespace di Xml ElementPath diabaikan. Jika ada elemen Kueri XML, XML ElementPath memiliki atribut opsional IgnoreNamespaces. Jika IgnoreNamespaces benar, namespace di Xml ElementPath dan dokumen XML diabaikan. Untuk informasi selengkapnya, lihat Sintaks Kueri XML untuk Data Laporan XML (SSRS). |
Contoh - Tidak Ada Namespace
Contoh berikut menggunakan dokumen XML Customers.xml. Tabel ini memperlihatkan contoh sintaks jalur elemen dan hasil penggunaan jalur elemen dalam kueri yang menentukan himpunan data, berdasarkan dokumen XML sebagai sumber data.
Catatan
Saat jalur elemen kosong, kueri menggunakan jalur elemen default: jalur pertama ke kumpulan simpul daun. Dalam contoh pertama, membiarkan jalur elemen kosong setara dengan menentukan jalur elemen /Customers/Customer/Orders/Orders. Semua nilai dan atribut simpul di sepanjang jalur dikembalikan dalam kumpulan hasil, dan nama node dan nama atribut muncul sebagai bidang himpunan data.
Contoh #1: Kosong
Pesanan | Jml | ID | FirstName | LastName | Customer.ID | xmlns |
---|---|---|---|---|---|---|
Kursi | 6 | 1 | Bobby | Moore | 11 | https://www.adventure-works.com |
Tabel | 1 | 2 | Bobby | Moore | 11 | https://www.adventure-works.com |
Sofa | 2 | 8 | Kristal | Hu | 20 | https://www.adventure-works.com |
EndTables | 2 | 15 | Wyatt | Diaz | 33 | https://www.adventure-works.com |
Contoh #2: Customers {}/Customer
FirstName | LastName | ID |
---|---|---|
Bobby | Moore | 11 |
Kristal | Hu | 20 |
Wyatt | Diaz | 33 |
Contoh #3: Customers {}/Customer {}/LastName
LastName |
---|
Moore |
Hu |
Diaz |
Contoh #4: Customers {}/Customer {}/Orders/Order {@,@Qty}
Pesanan | Jml |
---|---|
Kursi | 6 |
Tabel | 1 |
Sofa | 2 |
EndTables | 2 |
Contoh #5: Customers {}/Customer/Orders/Order{ @ID(Integer)}
Order.ID | FirstName | LastName | ID |
---|---|---|---|
1 | Bobby | Moore | 11 |
2 | Bobby | Moore | 11 |
8 | Kristal | Hu | 20 |
15 | Wyatt | Diaz | 33 |
Dokumen XML: Customers.xml
Untuk mencoba contoh jalur elemen di bagian sebelumnya, Anda dapat menyalin XML ini dan menyimpannya ke URL yang dapat diakses oleh Perancang Laporan, lalu menggunakan dokumen XML sebagai sumber data XML: misalnya, https://localhost/Customers.xml
.
<?xml version="1.0"?>
<Customers xmlns="http://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>
Atau, Anda dapat membuat sumber data XML yang tidak memiliki string koneksi dan menyematkan Customers.XML dalam kueri, menggunakan prosedur berikut:
Untuk menyematkan Customers.XML dalam kueri
Buat sumber data XML dengan string koneksi kosong.
Buat himpunan data baru untuk sumber data XML.
Dalam kotak dialog Properti Himpunan Data, klik Perancang Kueri. Kotak dialog perancang kueri berbasis teks terbuka.
Di panel kueri, masukkan dua baris berikut ini:
<Query>
<XmlData>
Salin Customers.XML dan tempelkan teks di panel kueri setelah
<XmlData>
.Di panel kueri, hapus baris pertama yang Anda salin dari Customers.XML:
<?xml version="1.0"?>
Di akhir kueri, tambahkan dua baris berikut:
<XmlData>
<Query>
Klik Jalankan Kueri (!).
Kumpulan hasil menampilkan 4 baris data dengan kolom berikut:
xmlns
, ,Customer.ID
,FirstName
LastName
,ID
,Qty
,Order
.Pilih OK.