|
||||||||||
| 前のページ 1 2 3 | ||||||||||
| FLWOR式に挑戦 | ||||||||||
|
XQueryでは、XML文書を効率的に処理するためにFLWOR式に挑戦が用意されています。FLWOR式に挑戦とはfor、let、where、order by、returnの頭文字を集めたものであり、「フラワー」と読みます。このFLWOR式に挑戦を利用することで、XMLの特徴である階層構造や繰り返しを効率的に扱うことができます。また、出力についても柔軟に対応することができます。 以下、FLWOR式に挑戦の構成要素である、for、let、where、order by、returnについて説明を行っていきます。 |
||||||||||
| for:繰り返し処理をする | ||||||||||
|
for式では、XPath表現を使用し対象となるXMLシーケンスを作成します。for式以降では、指定した変数でXMLシーケンスへアクセスすることができます。XPath表現を使って、対象となるXMLの要素を特定したり、属性などを条件に要素を特定することもできます。for以降の式はループ1回ごとに実行されます。 |
||||||||||
| let:変数に値を代入する | ||||||||||
|
let式では、変数に任意の値を代入することができます。代入できる値としては、数値や文字などのリテラルや、for式でアクセスできる要素、属性の内容などがあります。 |
||||||||||
| where:絞り込み条件を設定する | ||||||||||
|
where式ではfor式、let式の結果に対して、任意の条件を設定することでデータを絞り込むことができます。 |
||||||||||
| order by:出力の順序を設定する | ||||||||||
|
order by式では、return式での出力順序を設定することができます。ここはSQLと同じ役割です。 |
||||||||||
| return:出力を設定する | ||||||||||
|
return式では、XQueryの結果として出力する内容を設定することができます。入力XMLの構造をそのまま残すこともできますし、入力XMLの内容を基にまったく新しいXML構造を作成し、結果として返すこともできます。 |
||||||||||
|
XQueryでCSVを出力してみる XQueryはXMLの生成に大きな威力を発揮しますが、出力できるのはXMLだけではありません。やりかた次第でCSVで出力させることも可能です。以下はCSVを出力するXqueryの例です。
xquery version "1.0";
|
||||||||||
|
|
||||||||||
| XQueryでの検索 | ||||||||||
|
では、以下の簡単なXQueryを実行してみましょう。Adminクライアントの「Tools」メニューにある「Find」機能を起動し、「Query Dialog」を開きます。その後、以下のXQueryを入力します。
xquery version "1.0";
このXQueryは、product要素のprice($p変数)が100,000より大きい値を持つデータを抽出し、resultsツリーの下へpriceによる降順で表示するためのものです。 上半分にXQueryを入れ、ダイアログの中央右にある「Submit」ボタンを押すとクエリが実行され、結果がダイアログ下半分に表示されます。 |
||||||||||
| 次回は | ||||||||||
|
駆け足になりましたが、XQueryの解説から実行までを紹介しました。 次回は、eXistとAjaxを組み合わせて、簡単なWebアプリケーションを作成する方法を解説します。 |
||||||||||
|
前のページ 1 2 3 |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||



