Neueste Web-Entwicklung Tutorials
 

XQuery Hinzufügen von Elementen und Attributen


Das XML-Dokument Beispiel

Wir werden die Verwendung "books.xml" Dokuments in den folgenden Beispielen (same XML file as in the previous chapters) - (same XML file as in the previous chapters) .

Sehen Sie sich die "books.xml" Datei in Ihrem Browser .


Hinzufügen von Elementen und Attributen zu dem Ergebnis

Wie wir bereits in einem vorherigen Kapitel gesehen haben, können wir Elemente und Attribute aus dem Eingabedokument enthalten ("books.xml) im Ergebnis:

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

Der XQuery - Ausdruck oben wird sowohl das Titelelement und das lang - Attribut im Ergebnis wie folgt aus :

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

Der XQuery-Ausdruck oben gibt die Titelelemente genau die gleiche Art und Weise, wie sie im Eingabedokument beschrieben werden.

Wir wollen nun unsere eigenen Elemente und Attribute zu dem Ergebnis hinzuzufügen!

Hinzufügen von HTML-Elemente und Text

Jetzt wollen wir einige HTML-Elemente auf das Ergebnis hinzuzufügen. Wir werden das Ergebnis in einer HTML-Liste setzen - zusammen mit etwas 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>

Der XQuery-Ausdruck oben generiert das folgende Ergebnis:

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

Attribute hinzufügen, um HTML-Elemente

Als nächstes wollen wir die verwenden category Attribut als Klasse - Attribut in der HTML - Liste:

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

Der XQuery-Ausdruck oben generiert das folgende Ergebnis:

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