XQuery Eleman ve Özellik Ekleme

XML Örnek Dosyası

Aşağıdaki örneklerde bu "books.xml" dosyasını (ve önceki bölümlerde kullanılan XML dosyasını) kullanacağız.

Tarayıcınızda "books.xml" dosyasını görüntüleyin.

Sonuçlara element ve özellik eklenmesi

Önceki bölümden gördüğünüz gibi, sonuçlarda girdi dosyasındaki elementleri ve özellikleri alabiliriz:

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

Yukarıdaki XQuery ifadesi, title elementlerini ve lang özelliğini şu şekilde sonuçta alır:

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

Yukarıdaki XQuery ifadesi, title elementlerini ve onların girdi belgesinde nasıl tanımlandığına aynı şekilde döndürür.

Şimdi, sonuçlara kendi elementlerimizi ve özelliklerimizi eklemek istiyoruz!

HTML elementleri ve metin eklenmesi

Şimdi, sonuçlara HTML elementleri eklemek istiyoruz. Sonuçları bir HTML listesine koyacağız:

<html>
<body>
<h1>Kitap Mağazası</h1>
<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li>{data($x/title)}. Kategori: {data($x/@category)}</li>
}
</ul>
</body>
</html>

Yukarıdaki XQuery ifadesi aşağıdaki sonuçları üretir:

<html>
<body>
<h1>Kitap Mağazası</h1>
<ul>
<li>Heryatlı İtalyan. Kategori: Yemek Tarifleri</li>
<li>Harry Potter. Kategori: CHILDREN</li>
<li>Learning XML. Kategori: WEB</li>
<li>XQuery Kick Start. Kategori: WEB</li>
</ul>
</body>
</html>

HTML elementine özellik ekleme

Sonra, category özelliğini HTML listesinin class özelliği olarak kullanacağız:

<html>
<body>
<h1>Kitap Mağazası</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>

Yukarıdaki XQuery ifadesi aşağıdaki sonuçları oluşturabilir:

<html>
<body>
<h1>Kitap Mağazası</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>