XMLチュートリアル

XMLホーム XMLの紹介 XML使用方法 XMLツリー XML構文 XML要素 XML属性 XML名前空間 XML表示 XML HttpRequest XMLパーサー XML DOM XML XPath XML XSLT XML XQuery XML XLink XMLバリデーター XML DTD XMLスキーマ XMLサーバー XMLの例 XMLクイズ XML証明書

XML AJAX

AJAXの紹介 AJAX XMLHttp AJAXリクエスト AJAX応答 AJAXXMLファイル AJAX PHP AJAX ASP AJAXデータベース AJAXアプリケーション AJAXの例

XML DOM

DOMの紹介 DOMノード DOMアクセス DOMノード情報 DOMノードリスト DOMトラバース DOMナビゲーション DOMは値を取得します DOM変更ノード DOM削除ノード DOM置換ノード DOM作成ノード DOM追加ノード DOMクローンノード DOMの例

XPathチュートリアル

XPathの概要 XPathノード XPath構文 XPath軸 XPath演算子 XPathの例

XSLTチュートリアル

XSLTの紹介 XSL言語 XSLT変換 XSLT <テンプレート> XSLT <値> XSLT <for-each> XSLT <ソート> XSLT <if> XSLT <選択> XSLT適用 クライアント上のXSLT サーバー上のXSLT XSLT Edit XML XSLTの例

XQueryチュートリアル

XQueryの紹介 XQueryの例 XQuery FLWOR XQuery HTML XQueryの用語 XQuery構文 XQuery追加 XQuery Select XQuery関数

XML DTD

DTDの紹介 DTDビルディングブロック DTD要素 DTD属性 DTD要素と属性 DTDエンティティ DTDの例

XSDスキーマ

XSDの概要 XSDハウツー XSD <スキーマ> XSD要素 XSD属性 XSDの制限

XSDコンプレックス

XSD要素 XSDが空です XSD要素のみ XSDテキストのみ XSD混合 XSDインジケーター XSD <任意> XSD <anyAttribute> XSD置換 XSDの例

XSDデータ

XSD文字列 XSD日付 XSD数値 XSDその他 XSDリファレンス

Webサービス

XMLサービス XML WSDL XML SOAP XML RDF XML RSS

参考文献

DOMノードタイプ DOMノード DOM NodeList DOM NamedNodeMap DOMドキュメント DOM要素 DOM属性 DOMテキスト DOM CDATA DOMコメント DOM XMLHttpRequest DOMパーサー XSLT要素 XSLT / XPath関数

XQueryの選択フィルタリング


XMLサンプルドキュメント

以下の例では、「books.xml」ドキュメントを使用します(前の章と同じXMLファイル)。

ブラウザで「books.xml」ファイルを表示します


要素の選択とフィルタリング

前の章で見たように、Path式またはFLWOR式のいずれかを使用して要素を選択およびフィルタリングしています。

次のFLWOR式を見てください。

for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
  • for-(オプション)in式によって返される各項目に変数をバインドします
  • let-(オプション)
  • ここで、-(オプション)は基準を指定します
  • order by-(オプション)結果の並べ替え順序を指定します
  • return-結果で何を返すかを指定します

for句

for句は、in式によって返される各項目に変数をバインドします。for句は反復をもたらします。同じFLWOR式に複数のfor句が含まれる場合があります。

for句で特定の回数ループするには、toキーワードを使用できます。

for $x in (1 to 5)
return <test>{$x}</test>

結果:

<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>

atキーワードを使用して、反復をカウントできます

for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>

結果:

<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>

for句の式に複数を使用することもできます。式でそれぞれを区切るには、コンマを使用します。

for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>

結果:

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

let句は変数の割り当てを許可し、同じ式を何度も繰り返すことを回避します。let句は反復を引き起こしません。

let $x := (1 to 5)
return <test>{$x}</test>

結果:

<test>1 2 3 4 5</test>

where句

where句は、結果の1つ以上の基準を指定するために使用されます。

where $x/price>30 and $x/price<100

条項による注文

order by句は、結果の並べ替え順序を指定するために使用されます。ここでは、結果をカテゴリとタイトルで並べ替えます。

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

結果:

<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句は、何が返されるかを指定します。

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

結果:

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