XQuery Voeg elemente en eienskappe by
Die XML-voorbeelddokument
Ons sal die "books.xml"-dokument in die voorbeelde hieronder gebruik (dieselfde XML-lêer as in die vorige hoofstukke).
Kyk na die "books.xml"-lêer in jou blaaier .
Voeg elemente en eienskappe by die resultaat
Soos ons in 'n vorige hoofstuk gesien het, kan ons elemente en eienskappe van die invoerdokument ("books.xml) in die resultaat insluit:
for $x in doc("books.xml")/bookstore/book/title
order by $x
return $x
Die XQuery-uitdrukking hierbo sal beide die titelelement en die lang-kenmerk in die resultaat insluit, soos volg:
<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>
Die XQuery-uitdrukking hierbo gee die titelelemente presies dieselfde terug as wat hulle in die invoerdokument beskryf word.
Ons wil nou ons eie elemente en eienskappe by die resultaat voeg!
Voeg HTML-elemente en teks by
Nou wil ons 'n paar HTML-elemente by die resultaat voeg. Ons sal die resultaat in 'n HTML-lys plaas - saam met 'n bietjie 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>
Die XQuery-uitdrukking hierbo sal die volgende resultaat genereer:
<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>
Voeg eienskappe by HTML-elemente
Vervolgens wil ons die kategorie-kenmerk as 'n klaskenmerk in die HTML-lys gebruik:
<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>
Die XQuery-uitdrukking hierbo sal die volgende resultaat genereer:
<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>