
23/10/2003, 10:47
|
| | Fecha de Ingreso: enero-2002 Ubicación: Cádiz, España
Mensajes: 96
Antigüedad: 23 años, 2 meses Puntos: 0 | |
problemas con namespaces Bueno, tengo un archivo XML utlizando un namespaces llamado "dist". Aqui esta el contenido, cogido un un ejemplo de osmosislatina
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="muestra.xsl"?>
<producto xmlns="http://osmosislatina.com/definiciones/producto.dtd"
xmlns:dist="http://osmosislatina.com/definiciones/distribuidores.dtd">
<nombre modelo="xdfsdf">
<disponibilidad lugar="almacen"> Si </disponibilidad>
<descripcion> 60 Watts Doble Canal </descripcion>
</nombre>
<dist:empresa>
<dist:serie>5845-2543-8614</dist:serie>
<dist:nombre>Sonido Real</dist:nombre>
</dist:empresa>
</producto>
Bueno, a este xml le he creado un XSLT para intentar utilizar sus datos, haciendo algunas pruebas. Es el siguiente:
<?xml version="1.0"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/TR/REC-html40"
xmlns:dist="http://osmosislatina.com/definiciones/distribuidores.dtd">
<xsl:output method="html" encoding="ISO-8859-1"/>
<xsl:template match="/">
<html><head/>
<body>
<xsl:call-template name="plantilla" />
<h1 align="center">Esto es una prueba</h1>
<xsl:apply-templates select="/producto" />
</body>
</html>
</xsl:template>
<xsl:template match="producto">
<h3 align="center">Disponibilidad: <xsl:value-of select="/producto/nombre/disponibilidad"/></h3>
<h3 align="center">Nombre Empresa: <xsl:value-of select="/producto/dist:empresa/dist:nombre"/></h3>
</xsl:template>
<xsl:template name="plantilla">
Prueba
</xsl:template>
</xsl:stylesheet>
Claramente he tenido que meter el xmlns:dist por que sino cascaba. Bueno, la cuestion es que no funciona. Cuando intento aplicar el template de producto, <xsl:apply-templates select="/producto" />, no me hace caso, y no me entre ni en la plantilla.
Le he quitado los namespaces y funciona correctamente, pero con los namespaces me falta algo y no se el que
¿alguien me puede ayudar?
gracias de antemano a todos |