XQuery チュートリアルlogin
XQuery チュートリアル
著者:php.cn  更新時間:2022-04-21 16:43:44

要素と属性を追加する XQuery



XML サンプルドキュメント

以下の例でもこの「books.xml」ドキュメントを引き続き使用します (上記の章で使用したのと同じ XML ファイル)。

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


結果に要素と属性を追加する

前のセクションで見たように、結果内の入力ファイルから要素と属性を参照できます:

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

上記の XQuery 式は、次のように結果の title 要素と lang 属性を参照します。

<title lang="en"> ;Everyday Italian< ;/title>
<title lang="ja">ハリー ポッター</title>
<title lang="ja">XML の学習</title>
<title lang="ja" >XQuery Kick Start</title>

上記の XQuery 式は、入力ドキュメントで記述されているのと同じ方法で title 要素を返します。

次に、独自の要素と属性を結果に追加したいと思います。

HTML 要素とテキストを追加する

次に、結果に HTML 要素を追加します。結果を HTML リストに入れます:

<html>
<body>

<h1>Bookstore</h1>

<ul>
{
for $x in doc(" Books.xml")/bookstore/book
$x/title で注文
return <li>{data($x/title)}。カテゴリ: {data($x/@category)}</li>
}
</ul>

</body>
</html>

上記の XQuery 式は次の結果を生成します:

<html>
<body>

<h1> ;本屋</h1>

<ul>
<li>毎日のイタリア語。カテゴリ:料理</li>
<li>ハリー・ポッター。カテゴリ:子供</li>
<li>XMLの学習。カテゴリ: WEB</li>
<li>XQuery キック スタート。

HTML 要素に属性を追加します

次に、HTML リストで category 属性を class 属性として使用する必要があります:

<html>
<body>

<h1>Bookstore</h1>

<ul>
{
$x で doc("books.xml")/bookstore/book
$x/title で注文
return <li class="{data($x/@category)}" >{data($x/title)}</li>
}
</ul>

</body>
</html>

上記の XQuery 式は次の結果を生成します:

<html>
<body>
<h1>本屋</h1>

<ul>
<li class="COOKING">毎日のイタリアン</li>
<li class = "CHILDREN">ハリー ポッター</li>
<li class="WEB">XML の学習</li>
<li class="WEB">XQuery キック スタート</li>
< ul>

</body>
</html>