XQuery Agregar elementosyAtributos
Documento de ejemplo XML
Continuaremos usando este documento "books.xml" en los siguientes ejemplos (el mismo archivo XML utilizado en los capítulos anteriores).
。
Agregar elementos y atributos al resultado
Como vimos en la sección anterior, podemos hacer referencia a elementos y atributos del archivo de entrada en el resultado:
order by $x
return $x
La expresión XQuery anterior hará referencia al elemento title y al atributo lang en el resultado, de la siguiente manera:
La expresión XQuery anterior devuelve los elementos title de la misma manera en que están descritos en el documento de entrada.
¡Ahora vamos a agregar nuestros propios elementos y atributos al resultado!
Agregar elementos y texto HTML
Ahora vamos a agregar elementos HTML al resultado. Pondremos el resultado en una lista 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>
La expresión XQuery anterior generará el siguiente resultado:
<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>
Agregar atributos a los elementos HTML
A continuación, vamos a usar el atributo category como el atributo class en la lista HTML:
<body>
<h1>Bookstore</h1>
<ul>
{
for $x in doc("books.xml")/bookstore/book
order by $x/title
return
}
</ul>
</body>
</html>
La expresión XQuery anterior puede generar el siguiente resultado:
<body>
<h1>Bookstore</h1>
<ul>
</ul>
</body>
</html>