Buenos días a todos!
Tengo 3 archivos xml, uno con CDs, otro con Artistas y otro con Canciones. Tengo que extraer todos los CDs que tengan canciones de un Artista.
Cuando hago la consulta XQuery, más o menos, funciona, pero cuando quiero generar una página html para mostrarlo, no me reconoce las variables.
Pongo el código de la consulta que tiene extensión .xqm
Código HTML:
Ver originalmodule namespace page = 'http://basex.org/modules/web-page';
(:Esta funcion genera la pagina:)
declare
%rest:path("/cds")
%output:method("html")
%output:doctype-system("about:legacy-compat")
function page:cds()
as element(html)
{
for $art in doc("artistas.xml")/artistas/artista,
$can in doc("canciones.xml")/canciones/cancion,
$cd in doc("cds.xml")/cds/cd,
where
$art/nombre="Rihanna"
and
$art/idArtista = $can/idArtista
and
$can/idCancion = $cd//idCancion
return
<li>CD{data($cd/idCD)}, {data($cd/Titulo)} Artista: {data($art/nombre)}, {data($art/apellidos)} , idCancion: {data($can/idCancion)}, Canción: {data($can/nombreCancion)}.
</li>
};
En principio quiero hacerlo fácil para aprender.
El mensaje de error es: "Undefined variable $cd"
Muchas gracias a todos!