<xsl:comment><xsl:apply-templates select="image" /></xsl:comment>
Como resultado:
<!---->
que es el código en el elemento XSL : Comentario ignorado
The XSLT 1.0 Spec dice:
Es un error si la creación de instancias del contenido de xsl: comment crea nodos que no sean nodos de texto. Un procesador XSLT puede señalar el error; si no indica el error, se debe recuperar ignorando los nodos ofensivos junto con su contenido.
¿Cómo se muestra un artículo en los comentarios ?
que depende de lo que se entiende por "pantalla": en un navegador:
<-- <xsl:apply-templates select="image" /> -->
puede ser útil, siempre y cuando el resultado de <xsl:apply-templates/>
aboveis acaba de texto sencillo (no marcas).
Si la "pantalla" se refiere a proporcionar el resultado como texto, a continuación, DOE, si lo permite el procesador XSLT, puede darnos el resultado deseado:
< - Parte del texto - >
Finalmente, si se requiere que lo que debería estar dentro del "comentario" deba marcarse y se debe mostrar como marcado, entonces esto es bastante desafiante. En este caso hay que utilizar:
<xsl:output method="text"/>
y deben presentar cada elemento léxico XML con su serialización deseada (es decir escapado).
Así es como XPath Visualizer construye su salida.
Aquí está una pequeña transformación que demuestra los dos primeros enfoques:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<-- Hello, World -->
<xsl:text disable-output-escaping="yes"><--</xsl:text>
Hello,world! --<xsl:text disable-output-escaping="yes">></xsl:text>
</xsl:template>
</xsl:stylesheet>
esta transformación, cuando se aplica sobre cualquier documento XML (no se utiliza), produce:
<-- Hello, World -->
<--
Hello,world! -->
Ambos "comentarios" pueden verse como comentarios en un navegador, mientras que solo el segundo se presenta como comentario en texto libre.
El tercer enfoque (muy probablemente lo que quiere) se ilustra a continuación:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<-- <xsl:apply-templates select="image"/> -->
</xsl:template>
<xsl:template match="image">
<img src="<xsl:value-of select="@src"/>"
width="<xsl:value-of select="@width"/>px"
height="<xsl:value-of select="@height"/>px"/>
</xsl:template>
</xsl:stylesheet>
cuando se aplica esta transformación en el siguiente documento XML:
<image src="http://example.com/yyy.jpg" width="200" height="300"/>
la quería resultado es producido:
<--
<img src="http://example.com/yyy.jpg"
width="200px"
height="300px"/>
-->
visualiza en un navegador como:
< - < img src = "http://example.com/yyy.jpg" width = "200 px" height = "300px"/> - >
Buena pregunta, +1. Vea mi respuesta para una explicación detallada y tres enfoques posibles, dependiendo de la tarea específica. –
Acabo de editar mi respuesta y creo que ahora tiene la solución que desea. ¿Es esto así? –