no m queda claro lo del if

carlos
03 de Mayo del 2002
he aqui mi pregunta, q condicion pongo para q dependiento del valor q tenga ESTADO( 0 | 1)
me ejecute un codigo u otro. Abajo pongo el xml.

Gracias por contestar
<ARCHIVO>
<HIJO ESTADO="0">
<TITULO>PRUEBA</TITULO>
</HIJO>
</ARCHIVO>

CAA
03 de Mayo del 2002
Hola, Carlos:
He estado mirando el XML que enviaste antes y creo que el XSL que necesitas es el siguiente:

<xsl:template match="/">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="MENU1">
<xsl:for-each select="OPCION">
<xsl:if test="HIJOS">
<xsl:if test="HIJOS/@ESTADO='0'">
<xsl:for-each select="HIJOS/OPCIONES">
<tr>
<td width="34"></td>
<td class="Ar13000">
<xsl:value-of select="TITULAR"/>
</td>
</tr>
</xsl:for-each>
</xsl:if>
</xsl:if>
</xsl:for-each>
</xsl:template>

Escribimos un template para el tag MENU1.
Recorremos los tag OPCION y si existe HIJOS y su atributo ESTADO=0, recorremos el tag OPCIONES que cuelga de HIJOS. Para cada uno de estos elementos, pintamos el tr y los td's, cogiendo el valor del tag TITULAR.

Un saludo y espero haberte ayudado

Carlos
03 de Mayo del 2002
Muchas gracias CAA, si q me ha servido de mucho, pero aun asi tengo una pregunta:

Puedo de alguna manera modificar el xml??, es decir cambiar el valor de ESTADO de 0 a 1. Gracias

caa
03 de Mayo del 2002
Hola de nuevo, Carlos.
Al aplicar la plantilla XSL al fichero XML lo que estás haciendo es generar una salida HTML, por lo que creo que no puedes alterar el contenido del XML. Para hacer lo que quieres, creo que tendrías que utilizar las clases del API de Java para XML, para realizar modificaciones en los nodos XML, pero yo de momento no llego a tanto y no te puedo ayudar en eso.
Un saludo