Derniers tutoriels de développement web
 

XQuery Ajout d'éléments et attributs


Le XML Exemple de document

Nous allons utiliser le "books.xml" le document dans les exemples ci - dessous (same XML file as in the previous chapters) .

Voir le "books.xml" fichier dans votre navigateur .


Ajout d'éléments et attributs du résultat

Comme nous l' avons vu dans un chapitre précédent, nous pouvons inclure des éléments et attributs du document d'entrée ("books.xml) dans le résultat:

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

L'expression XQuery ci - dessus comprendra à la fois l'élément de titre et le lang attribut dans le résultat, comme ceci:

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

L'expression XQuery retourne au-dessus des éléments du titre de la même façon exacte qu'ils sont décrits dans le document d'entrée.

Nous voulons maintenant ajouter nos propres éléments et attributs du résultat!

Ajouter des éléments HTML et texte

Maintenant, nous voulons ajouter des éléments HTML au résultat. Nous allons mettre le résultat dans une liste HTML - avec un texte:

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

L'expression XQuery ci-dessus générer le résultat suivant:

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

Ajouter des attributs à des éléments HTML

Ensuite, nous voulons utiliser la category attribut comme un attribut de classe dans la liste 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>

L'expression XQuery ci-dessus générer le résultat suivant:

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