افزودن عناصر و ویژگی‌ها به XQuery

مستند نمونه XML

ما در مثال‌های زیر از این مستند "books.xml" استفاده خواهیم کرد (همان مستند XML که در بخش‌های قبلی استفاده شده است).

فایل "books.xml" را در مرورگر خود مشاهده کنید.

عناصر و ویژگی‌ها را به نتایج اضافه کنید

همانطور که در بخش قبلی دیدیم، می‌توانیم در نتایج به عناصر و ویژگی‌های فایل ورودی اشاره کنیم:

برای $x در doc("books.xml")/bookstore/book/title
ترتیب داده شده بر اساس $x
بازگشت $x

عبارت XQuery بالا عناصر title و ویژگی 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 عبارت بالا از عناصر title بازمی‌گرداند با روشی که در مستند ورودی توصیف شده‌اند، مشابه است.

حالا ما می‌خواهیم عناصر و ویژگی‌های خود را به نتایج اضافه کنیم!

افزودن عناصر HTML و متن

حالا، ما می‌خواهیم عناصر HTML را به نتایج اضافه کنیم. ما نتایج را در یک لیست HTML قرار می‌دهیم:

<html>
<body>
<h1>Bookstore</h1>
<ul>
{
برای $x در doc("books.xml")/bookstore/book
ترتیب داده شده بر اساس $x/title
بازگشت <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>
{
برای $x در doc("books.xml")/bookstore/book
ترتیب داده شده بر اساس $x/title
بازگشت <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>