XQuery Seçme ve Filtreleme
- Önceki Sayfa XQuery Ekle
- Sonraki Sayfa XQuery Fonksiyonları
XML Örnek Belgesi
Aşağıdaki örnekte bu "books.xml" belgesini (yukarıdaki bölümlerde kullanılan XML dosyası ile aynı) kullanmaya devam edeceğiz.
Elementleri seçme ve filtreleme
Önceki bölümlerde gördüğümüz gibi, elementleri seçmek ve filtrelemek için yol ifadeleri veya FLWOR ifadeleri kullanıyoruz.
Aşağıdaki FLWOR ifadesine bakın:
for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title
- for
- (Opsiyonel) Her bir in ifadesi tarafından döndürülen her bir öğeye bir değişken bağlar
- let
- (Opsiyonel)
- where
- (Opsiyonel) Bir şart belirler
- order by
- (Opsiyonel) Sonuçların sıralama düzenini belirler
- return
- Sonuçta döndürülecek içeriği belirler
for ifadesi
for ifadesi, değişkenleri in ifadesi tarafından döndürülen her bir öğeye bağlar. for ifadesi döngü oluşturur. Aynı FLWOR ifadesinde çok sayıda for ifadesi olabilir.
Bir for ifadesinde belirli sayıda döngü yapmayı belirlemek için kullanabilirsinizAnahtar kelime to :
for $x in (1 to 5) return <test>{$x}</test>
Sonuç:
<test>1</test> <test>2</test> <test>3</test> <test>4</test> <test>5</test>
Anahtar kelime at Döngü iterasyonlarını hesaplamak için kullanılır
for $x at $i in doc("books.xml")/bookstore/book/title return <book>{$i}. {data($x)}</book>
Sonuç:
<book>1. Everyday Italian</book> <book>2. Harry Potter</book> <book>3. XQuery Başlangıç</book> <book>4. XML Öğrenme</book>
for ifadesinde de aynı şekildeÇok sayıda in ifadesine izin verilirHer bir in ifadesini virgülle ayırın:
for $x in (10,20), $y in (100,200) return <test>x={$x} ve y={$y}</test>
Sonuç:
<test>x=10 ve y=100</test> <test>x=10 ve y=200</test> <test>x=20 ve y=100</test> <test>x=20 ve y=200</test>
let ifadesi
let ifadesi, değişken ataması yapabilir ve aynı ifadenin birden fazla kez tekrarlanmasını önleyebilir. let ifadesi döngü oluşturmayacaktır.
let $x := (1 to 5) return <test>{$x}</test>
Sonuç:
<test>1 2 3 4 5</test>
where ifadesi
where ifadesi, sonuçlar için bir veya daha fazla koşul (kriter) belirlemek için kullanılır.
where $x/price>30 and $x/price<100
order by ifadesi
order by ifadesi, sonuçların sıralama düzenini belirler. Burada, sonuçları category ve title'ye göre sıralamak istiyoruz:
for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title
Sonuç:
<title lang="en">Harry Potter</title> <title lang="en">Everyday Italian</title> <title lang="en">Learning XML</title> <title lang="en">XQuery Kick Start</title>
return ifadesi:
return ifadesi, döndürülecek içeriği belirler.
for $x in doc("books.xml")/bookstore/book return $x/title
Sonuç:
<title lang="en">Everyday Italian</title> <title lang="en">Harry Potter</title> <title lang="en">XQuery Kick Start</title> <title lang="en">Learning XML</title>
- Önceki Sayfa XQuery Ekle
- Sonraki Sayfa XQuery Fonksiyonları