XSL - seleccion de nodos ...

 
Vista:

seleccion de nodos ...

Publicado por lnx (2 intervenciones) el 13/10/2007 05:02:19
Buenas, haber si me podeis ayudar ?? ...

Hay alguna manera de en una sentencia <xsl:copy-of select="..." />, de que copie todos los nodos excepto uno en concreto.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Copiar todos los nodos excepto uno específico

Publicado por Alejandro (227 intervenciones) el 06/07/2023 17:20:23
Sí, es posible copiar todos los nodos excepto uno específico utilizando XSLT. Puedes lograrlo utilizando una combinación de plantillas y la función `except` en XPath. Aquí tienes una solución para tu consulta:

1
2
3
4
5
<xsl:template match="node()">
  <xsl:copy>
    <xsl:apply-templates select="node()[not(self::node-to-exclude)]"/>
  </xsl:copy>
</xsl:template>

En este ejemplo, estamos creando una plantilla que coincide con todos los nodos (`<xsl:template match="node()">`). Dentro de la plantilla, copiamos el nodo utilizando `<xsl:copy>`, y luego aplicamos las plantillas a todos los nodos hijos utilizando `<xsl:apply-templates select="node()[not(self::node-to-exclude)]"/>`.

Asegúrate de reemplazar `node-to-exclude` con el nombre del nodo que deseas excluir. Puedes repetir este patrón en tus transformaciones XSLT para copiar todos los nodos excepto aquellos que desees omitir.

Esta solución te permitirá copiar todos los nodos, excepto uno específico, en tu transformación XSLT.

Recuerda que esta solución asume que estás trabajando con una estructura XML específica. Asegúrate de ajustarla según tu caso particular.

Espero que esto resuelva tu problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar