XQuery FLWOR + HTML

Documento de exemplo XML

Continuaremos a usar o documento "books.xml" na exemplo a seguir (o mesmo arquivo do último capítulo).

Verifique o arquivo "books.xml" no seu navegador.

Submeta os resultados em uma lista HTML

Veja a expressão FLWOR do XQuery a seguir:

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

A expressão acima seleciona todos os elementos title dentro dos elementos book do elemento bookstore e retorna-os em ordem alfabética.

Agora, queremos usar uma lista HTML para listar todos os livros da nossa livraria. Adicionamos as tags <ul> e <li> à expressão FLWOR:

<ul>
{
for $x in doc("books.xml")/bookstore/book/title
order by $x
return <li>{$x}</li>
}
</ul>

Os resultados do código acima:

<ul>
<li><title lang="en">Italiano Di COTIDIANO</title></li>
<li><title lang="en">Harry Potter</title></li>
<li><title lang="en">Learning XML</title></li>
<li><title lang="en"> kick-start do XQuery</title></li>
</ul>

Agora, queremos remover o elemento title, mostrando apenas os dados dentro do elemento title.

<ul>
{
for $x in doc("books.xml")/bookstore/book/title
order by $x
return <li>{data($x)}</li>
}
</ul>

Os resultados serão uma lista HTML:

<ul>
<li>Italiano Di COTIDIANO</li>
<li>Harry Potter</li>
<li>Learning XML</li>
<li> kick-start do XQuery</li>
</ul>