XQuery การเพิ่มองค์ประกอบและคุณสมบัติ
เอกสารตัวอย่าง XML
เราจะใช้เอกสาร "books.xml" ในตัวอย่างด้านล่าง (ไฟล์ XML เดียวกับในบทก่อนหน้า)
ดูไฟล์ "books.xml" ในเบราว์เซอร์ของคุณ
การเพิ่มองค์ประกอบและคุณสมบัติให้กับผลลัพธ์
ดังที่เราได้เห็นในบทที่แล้ว เราอาจรวมองค์ประกอบและแอตทริบิวต์จากเอกสารอินพุต ("books.xml) ไว้ในผลลัพธ์:
for $x in doc("books.xml")/bookstore/book/title
order by $x
return $x
นิพจน์ XQuery ด้านบนจะรวมทั้งองค์ประกอบชื่อและแอตทริบิวต์ 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 ด้านบนส่งคืนองค์ประกอบชื่อในลักษณะเดียวกับที่อธิบายไว้ในเอกสารอินพุต
ตอนนี้เราต้องการเพิ่มองค์ประกอบและคุณลักษณะของเราเองให้กับผลลัพธ์!
เพิ่มองค์ประกอบ HTML และข้อความ
ตอนนี้ เราต้องการเพิ่มองค์ประกอบ HTML ให้กับผลลัพธ์ เราจะใส่ผลลัพธ์ในรายการ HTML - พร้อมกับข้อความบางส่วน:
<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>
เพิ่มคุณสมบัติให้กับองค์ประกอบ HTML
ต่อไป เราต้องการใช้แอตทริบิวต์ category เป็นแอตทริบิวต์ 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 ด้านบนจะสร้างผลลัพธ์ต่อไปนี้:
<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>