Estoy transformando XML en HTML usando XSLT.Cómo copiar todos los nodos secundarios de cualquier tipo de un elemento de contexto de plantilla
que tienen la siguiente estructura XML:
<root>
<element>
<subelement>
This is some html text which should be <span class="highlight">displayed highlighted</span>.
</subelement>
</element>
</root>
utilizo la siguiente plantilla para la transformación:
<xsl:template name="subelement">
<xsl:value-of select="." />
</xsl:template>
Por desgracia, yo no pierda las <span>
creada.
¿Hay alguna manera de conservarlos para que el HTML se muestre correctamente (resaltado)?
+1 para la respuesta correcta. Tenga en cuenta que esto no copiará los * atributos * del nodo de contexto ... que requerirían 'select =" node() | @ * "'. Pero no creo que @idefix los necesitara. – LarsH
@LarsH: esto no es cierto en este caso. Va a ser cierto en 'xsl: apply-templates' o' match' pero no en 'xsl: copy'. –
@empo - Estoy corregido. (Supongo que quisiste decir 'xsl: copy-of' en lugar de' xsl: copy'.) Pensé que la expresión 'node()' tenía un eje implícito 'child ::', que excluiría los atributos. Pero las pruebas parecen demostrar que tienes razón. Tendré que revisar esos detalles. – LarsH