Ajout d'éléments et d'attributs XQuery
- Page précédente Syntaxe XQuery
- Page suivante Sélections XQuery
Document d'exemple XML
Nous allons continuer à utiliser ce document "books.xml" dans les exemples suivants (le même fichier XML que les sections précédentes).
Ajouter des éléments et des attributs au résultat
Comme vu dans la section précédente, nous pouvons faire référence aux éléments et attributs du fichier d'entrée dans les résultats :
for $x in doc("books.xml")/bookstore/book/title order by $x return $x
L'expression XQuery cite les éléments title et l'attribut lang dans les résultats, comme suit :
<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 les éléments title de la même manière que ceux décrits dans le document d'entrée.
Maintenant, nous allons ajouter nos propres éléments et attributs aux résultats !
Ajouter des éléments HTML et du texte
Maintenant, nous allons ajouter des éléments et des attributs HTML aux résultats. Nous mettrons les résultats dans une liste HTML :
<html> <body> <h1>Bookstore</h1> <ul> { for $x in doc("books.xml")/bookstore/book order by $x/title return <li>{data($x/title)}. Catégorie : {data($x/@category)}</li> } </ul> </body> </html>
L'expression XQuery suivante génère les résultats suivants :
<html> <body> <h1>Bookstore</h1> <ul> <li>Everyday Italian. Catégorie : CUISINE</li> <li>Harry Potter. Catégorie : ENFANTS</li> <li>Learning XML. Catégorie : WEB</li> <li>XQuery Kick Start. Catégorie : WEB</li> </ul> </body> </html>
Ajouter des attributs aux éléments HTML
Ensuite, nous allons utiliser l'attribut category comme attribut class 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 suivante génère les résultats suivants :
<html> <body> <h1>Bookstore</h1> <ul> <li class="COOKING">Everyday Italian</li> <li class="CHILDREN">Harry Potter</li> <li class="WEB">Apprendre XML</li> <li class="WEB">XQuery Kick Start</li> </ul> </body> </html>
- Page précédente Syntaxe XQuery
- Page suivante Sélections XQuery