最新のWeb開発のチュートリアル
 

XQueryの要素と属性を追加します


XML文書の例

私たちは、使用する"books.xml"以下の例では、文書(same XML file as in the previous chapters)

見る"books.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="en">Harry Potter</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>

XQuery式は、上記タイトルエレメントそれらが入力された文書に記載されているとまったく同じ方法を返します。

私たちは、今の結果に私たち自身の要素と属性を追加したいです!

HTML要素とテキストを追加します。

今、私たちはその結果にいくつかのHTML要素を追加したいです。 :いくつかのテキストと一緒に - 私たちは、HTMLリストに結果を配置します

<html>
<body>

<h1>Bookstore</h1>

<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li>{data($x/title)}. Category: {data($x/@category)}</li>
}
</ul>

</body>
</html>

上記XQuery式は、次の結果が生成されます。

<html>
<body>

<h1>Bookstore</h1>

<ul>
<li>Everyday Italian. Category: COOKING</li>
<li>Harry Potter. Category: CHILDREN</li>
<li>Learning XML. Category: WEB</li>
<li>XQuery Kick Start. Category: WEB</li>
</ul>

</body>
</html>

HTML要素に属性を追加

次に、我々は、使用したいcategory HTMLリストにクラス属性として属性を:

<html>
<body>

<h1>Bookstore</h1>

<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return <li class="{data($x/@category)}">{data($x/title)}</li>
}
</ul>

</body>
</html>

上記XQuery式は、次の結果が生成されます。

<html>
<body>
<h1>Bookstore</h1>

<ul>
<li class="COOKING">Everyday Italian</li>
<li class="CHILDREN">Harry Potter</li>
<li class="WEB">Learning XML</li>
<li class="WEB">XQuery Kick Start</li>
</ul>

</body>
</html>