XQuery Menambahkan Elemen dan Atribut
Dokumen Contoh XML
Kami akan menggunakan dokumen "books.xml" dalam contoh di bawah ini (file XML yang sama seperti pada bab sebelumnya).
Lihat file "books.xml" di browser Anda .
Menambahkan Elemen dan Atribut ke Hasil
Seperti yang telah kita lihat di bab sebelumnya, kita dapat memasukkan elemen dan atribut dari dokumen input ("books.xml) dalam hasil:
for $x in doc("books.xml")/bookstore/book/title
order by $x
return $x
Ekspresi XQuery di atas akan menyertakan elemen judul dan atribut lang dalam hasil, seperti ini:
<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>
Ekspresi XQuery di atas mengembalikan elemen judul dengan cara yang sama persis seperti yang dijelaskan dalam dokumen input.
Kami sekarang ingin menambahkan elemen dan atribut kami sendiri ke hasil!
Tambahkan Elemen dan Teks HTML
Sekarang, kami ingin menambahkan beberapa elemen HTML ke hasilnya. Kami akan menempatkan hasilnya dalam daftar HTML - bersama dengan beberapa teks:
<html>
<body>
<h1>Bookstore</h1>
<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li>{data($x/title)}. Category: {data($x/@category)}</li>
}
</ul>
</body>
</html>
Ekspresi XQuery di atas akan menghasilkan hasil berikut:
<html>
<body>
<h1>Bookstore</h1>
<ul>
<li>Everyday Italian. Category: COOKING</li>
<li>Harry Potter. Category: CHILDREN</li>
<li>Learning XML. Category: WEB</li>
<li>XQuery Kick Start. Category: WEB</li>
</ul>
</body>
</html>
Tambahkan Atribut ke Elemen HTML
Selanjutnya, kita ingin menggunakan atribut kategori sebagai atribut kelas dalam daftar HTML:
<html>
<body>
<h1>Bookstore</h1>
<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li class="{data($x/@category)}">{data($x/title)}</li>
}
</ul>
</body>
</html>
Ekspresi XQuery di atas akan menghasilkan hasil berikut:
<html>
<body>
<h1>Bookstore</h1>
<ul>
<li class="COOKING">Everyday Italian</li>
<li class="CHILDREN">Harry Potter</li>
<li class="WEB">Learning XML</li>
<li class="WEB">XQuery Kick Start</li>
</ul>
</body>
</html>