إضافة عناصر وخصائص في XQuery

مستند مثال XML

سنستمر في استخدام ملف "books.xml" في الأمثلة التالية (والمستخدم في الفصول السابقة من ملف XML نفسه).

انظر إلى ملف "books.xml" في متصفحك.

إضافة العناصر والخصائص إلى النتائج

كما رأينا في الفصل السابق، يمكننا الاستشهاد بالعناصر والخصائص من ملف الإدخال في النتائج:

for $x in doc("books.xml")/bookstore/book/title
order by $x
return $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>
{
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>