เพิ่มองค์ประกอบและคุณสมบัติของ XQuery

เอกสารตัวอย่าง XML

เราจะใช้ไฟล์ "books.xml" ในตัวอย่างข้างต้น (ที่เหมือนกับไฟล์ XML ที่ใช้ในบทที่แล้ว)

ดูไฟล์ "books.xml" ในเว็บเบราเซอร์ของคุณ

เพิ่มองค์ประกอบและคุณสมบัติเข้าที่ผลลัพธ์

เห็นได้จากบทที่แล้วว่า เราสามารถอ้างอิงองค์ประกอบและคุณสมบัติจากไฟล์ที่ใส่ไว้ในผลลัพธ์

for $x in doc("books.xml")/bookstore/book/title
order by $x
return $x

XQuery อ่านค่าของ element title และ attribute lang ในผลลัพธ์เหมือนนี้

<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>

XQuery คำสั่งดังกล่าวสร้าง element title ในแบบที่เหมือนกับที่มีอยู่ในเอกสารที่เข้ารหัส

ตอนนี้เราจะเพิ่ม element และ attribute ของเราเข้าไปในผลลัพธ์!

เพิ่ม element และ text ให้กับ HTML

ตอนนี้เราจะเพิ่ม element และ attribute ของเราเข้าไปในผลลัพธ์

<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>

XQuery คำสั่งดังกล่าวจะสร้างผลลัพธ์ดังนี้

<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>

เพิ่ม attribute ให้กับ HTML element

ต่อไปนี้เราจะใช้ค่าของ attribute category ที่เราได้เรียกใช้เป็น attribute class ของรายการ 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>

XQuery อ่านค่าที่ออกมานี้ด้วย XQuery แล้วสามารถได้รับผลลัพธ์ดังนี้

<html>
<body>
<h1>Bookstore</h1>
<ul>
<li class="COOKING">Everyday Italian</li>
<li class="CHILDREN">哈利·波特</li>
<li class="WEB">學習 XML</li>
<li class="WEB">XQuery Kick Start</li>
</ul>
</body>
</html>