Ultimele tutoriale de dezvoltare web
 

XQuery Adăugarea elementelor și Atribute


Exemplu Documentul XML

Vom folosi "books.xml" documentul în exemplele de mai jos (same XML file as in the previous chapters) și (same XML file as in the previous chapters) .

Vezi "books.xml" fișierul în browser .


Adăugarea elementelor și Atribute la rezultat

Așa cum am văzut într - un capitol anterior, am putea include elemente și atribute din documentul de intrare ("books.xml) , în rezultat:

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

Expresia XQuery de mai sus va include atât elementul titlu și lang atributul în rezultat, astfel:

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

Expresia XQuery mai sus returnează elementele din titlu exact același mod ca și acestea sunt descrise în documentul de intrare.

Acum vrem să adăugați propriile elemente și atribute la rezultatul!

Adăugați Elemente HTML și Text

Acum, vrem să adăugați câteva elemente HTML la rezultat. Vom pune rezultatul într-o listă HTML - împreună cu un text:

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

Expresia XQuery de mai sus va genera următorul rezultat:

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

Adăugați atribute HTML Elemente

În continuare, dorim să utilizați category atributul ca un atribut de clasă în lista 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>

Expresia XQuery de mai sus va genera următorul rezultat:

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