XML Örneği Belgesi
Biz kullanacağız "books.xml" Aşağıdaki örneklerde belgeyi (same XML file as in the previous chapters) .
Görüntüle "books.xml" dosyayı tarayıcınıza .
Seçme ve Filtreleme Elemanları
Daha önceki bölümlerde gördüğümüz gibi, biz seçip ya bir yol ifadesi ile veya bir FLWOR ifadeyle elemanları filtreliyor.
Aşağıdaki FLWOR ifadeye bak:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
- için - (optional) ifade tarafından döndürülen her madde için bir değişken olarak bağlanan
- ver - (optional)
- burada - (optional) , bir kriterleri belirler
- tarafından sipariş - (optional) sonucunun sort-sırasını belirtir
- Dönüş - Sonuç ne dönmek belirtir
Madde için
Madde için ifadede tarafından döndürülen her öğe için bir değişken bağlar. tekrarında fıkra sonuçları için. Aynı FLWOR ifadede maddeleri için birden olabilir.
Döngü bir maddesini kez belirli sayıda için, kullanabilir to anahtar kelime:
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>
at anahtar kelime iterasyon saymak için kullanılabilir:
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 Kick Start</book>
<book>4. Learning XML</book>
Aynı zamanda ilgili hüküm de ifadesinde birden fazla izin verilir. ifadesinin her ayırmak için virgül kullanın:
for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>
Sonuç:
<test>x=10 and y=100</test>
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test>
let Clause
let fıkra değişken atamalarının izin verir ve aynı ifade defalarca tekrarlayarak önler. let fıkra yineleme yol açmaz.
let $x := (1 to 5)
return <test>{$x}</test>
Sonuç:
<test>1 2 3 4 5</test>
nerede Clause
burada fıkra sonucu için bir veya daha fazla kriterlerini belirtmek için kullanılır:
where $x/price>30 and $x/price<100
Madde tarafından sipariş
maddesi ile sipariş sonucu sıralama düzenini belirtmek için kullanılır. Burada kategori ve başlığa göre sonuç sipariş etmek istiyorum:
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>
dönüş Madde
Dönüş fıkra döndürülecek ne belirtir.
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>