Home » XML » XML XQuery : Menambahkan Elemen dan Atribut

XML XQuery : Menambahkan Elemen dan Atribut

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Dokumen Contoh XML

Kita akan menggunakan dokumen “books.xml” pada contoh di bawah ini.

Lihat file “books.xml” di bawah ini.

Contoh :

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="web">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="web" cover="paperback">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

Output :

Menambahkan Elemen dan Atribut ke Hasil

Seperti yang telah kita pelajari sebelumnya, kita menyertakan 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 title dan atribut lang dalam hasilnya, 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 title dengan cara yang sama persis seperti yang dijelaskan dalam dokumen masukan.

Tambahkan Elemen HTML dan Teks

Sekarang, kita akan menambahkan beberapa elemen HTML ke hasilnya. Kita akan meletakkan 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 sebagai 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 akan menggunakan atribut category 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 sebagai 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>

You may also like