Transformacion a XSL

18/09/2003 - 19:24 por Joaquim Ferrer | Informe spam
Gente:
Estoy intentando un pequeño mantenimiento de datos en XML pero no funciona,
a ver quien me puede ayudar. El problema es al añadir un nuevo dato, que
creo se realiza correctamente en el XML-DOM, pero no consigo que la
transformacion XSL me lo muestre.
Adjunto codigo :

<HTML>
<head>

<SCRIPT Language="JavaScript">
function Add( cText, xmldoc, xsldoc ){
var newnode, newtext;
newnode=xmldoc.createElement("NOMBRE");
newtext=xmldoc.createTextNode( cText );
newnode.appendChild(newtext);
xmldoc.documentElement.appendChild(newnode);
xmldoc.transformNodeToObject(xsldoc, xmldoc);
}
</SCRIPT>
</head>

<BODY>

<!-- Datos -->
<XML id='xml'>
<?xml version="1.0" ?>
<DATABASE>
<REGISTRO>
<NOMBRE>Registro numero UNO</NOMBRE>
</REGISTRO>
</DATABASE>
</XML>

<!-- Transformacion -->
<XML id='xsl'>
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="1" bgcolor="#f1f1f1" width="100%">
<tr>
<th>NOMBRE</th>
</tr>
<xsl:for-each select="DATABASE/REGISTRO">
<tr>
<td><xsl:value-of select="NOMBRE"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
</XML>

<H2>Objeto HTML Table vinculado a datos XML (Isla de datos)</H2>
<p>Texto a añadir a la tabla:
<input type="text" name="get" size="50">
<input type="button" value="Aceptar" onclick="Add( get.value,
xml.XMLDocument, xsl.XMLDocument)">
</p>
<TABLE DATASRC='#xml' BORDER="1">
<TR><TD><div DATAFLD="NOMBRE"></div></TD></TR>
</TABLE>

</BODY>
</HTML>

Gracias por la atencion.
Saludos
Joaquim Ferrer
quim_ferrer@yahoo.es
 

Leer las respuestas

#1 Ignacio Nicolás Rodríguez
18/09/2003 - 21:20 | Informe spam
Estás poniendo el nuevo elemento "NOMBRE" dentro de "DATABASE", pero según
tu modelo deberías tener un elemento "REGISTRO" intermedio.

Saludos. Ignacio.--


"Joaquim Ferrer" escribió en el mensaje
news:bkcpm1$n38$
Gente:
Estoy intentando un pequeño mantenimiento de datos en XML pero no


funciona,
a ver quien me puede ayudar. El problema es al añadir un nuevo dato, que
creo se realiza correctamente en el XML-DOM, pero no consigo que la
transformacion XSL me lo muestre.
Adjunto codigo :

<HTML>
<head>

<SCRIPT Language="JavaScript">
function Add( cText, xmldoc, xsldoc ){
var newnode, newtext;
newnode=xmldoc.createElement("NOMBRE");
newtext=xmldoc.createTextNode( cText );
newnode.appendChild(newtext);
xmldoc.documentElement.appendChild(newnode);
xmldoc.transformNodeToObject(xsldoc, xmldoc);
}
</SCRIPT>
</head>

<BODY>

<!-- Datos -->
<XML id='xml'>
<?xml version="1.0" ?>
<DATABASE>
<REGISTRO>
<NOMBRE>Registro numero UNO</NOMBRE>
</REGISTRO>
</DATABASE>
</XML>

<!-- Transformacion -->
<XML id='xsl'>
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="1" bgcolor="#f1f1f1" width="100%">
<tr>
<th>NOMBRE</th>
</tr>
<xsl:for-each select="DATABASE/REGISTRO">
<tr>
<td><xsl:value-of select="NOMBRE"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
</XML>

<H2>Objeto HTML Table vinculado a datos XML (Isla de datos)</H2>
<p>Texto a añadir a la tabla:
<input type="text" name="get" size="50">
<input type="button" value="Aceptar" onclick="Add( get.value,
xml.XMLDocument, xsl.XMLDocument)">
</p>
<TABLE DATASRC='#xml' BORDER="1">
<TR><TD><div DATAFLD="NOMBRE"></div></TD></TR>
</TABLE>

</BODY>
</HTML>

Gracias por la atencion.
Saludos
Joaquim Ferrer



Preguntas similares