tengo un xml con la siguiente estructura

cutre verdad?

pego aki un xsl que he creado
--------------------XSL------------------------
Código:
<?xml version='1.0' encoding="ISO-8859-1"?> <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <HTML> <HEAD><TITLE>P5</TITLE></HEAD> <BODY> <xsl:for-each select="/biblioteca/usuarios/usuario"> <P><B>Usuario: </B><xsl:value-of select="nombre"/> <B>Dni: </B><xsl:value-of select="@dni"/></P> <xsl:for-each select="prestamos/prestamo"> <xsl:value-of select="@isbn"/>* <xsl:for-each select="/biblioteca/libros/materia"> <xsl:for-each select="libro"> <xsl:if test="@isbn = ../../usuarios/usuario/@isbn"> <xsl:value-of select="@isbn"/>*L* </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:for-each> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet>
La idea es que para cada usuario cojer el codigo del libro que ha sacado de la biblioteca luego ir a los libros de la biblioteca y si el libro existe que lo imprima. por alguna razon no funciona el if y nose porque.
si le quito el if me imprime por cada codigo de libro del usuario todos los libros de la biblioteca, sin embargo yo solo kiero q imprima los q coinciden con el que el susodicho usuario a sakado.
ah! se me olvidaba que los codigos del libro son atributos de libro y de prestamo con el nombre isbn
nose si me e explicado con claridad pero es jodida la cosa. aver si alguien me puede ayudar y muchas gracias