Tengo una pregunta bastante estúpida. ¿Cómo puedo asegurarme de que mi nodo de contenido mixto XML no se mezcle? Tengo, por ejemplo, una estructura XML que se parece a esto.Nodo de contenido mixto XSLT
<root>
<book>
<title>Stuff</title>
<description> This book is <i>great</i> if you need to know about stuff.
I suggest <link ref="Things">this one</link> if you need to know
about things. </description>
</book>
[other books]
</root>
necesito el contenido final de este aspecto
<h1>List of books</h1>
<h2><a name="Stuff"/>Stuff</h2>
<p> This book is <i>great</i> if you need to know about stuff.
I suggest <a href="#Things">this one</a> if you need to know
about things. </p>
pero no puedo extraer las porciones del nodo de texto, siempre agarro todo el asunto. Estoy usando el eje descendente. ¿Alguna pista de lo que estoy haciendo mal?
Aquí es mi XSLT:
<xsl:template match="description/*">
<xsl:for-each select="following-sibling::*">
<xsl:choose>
<xsl:when test="name(.)='link'">
<a href="{@ref}"><xsl:value-of select="."/></a>
</xsl:when>
<xsl:when test="name(.)='em'">
<em><xsl:value-of select="."/></em>
</xsl:when>
<xsl:otherwise><p><xsl:value-of select="."/></p></xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:template>
Tenga en cuenta que el XML adjunto y HTML resultantes son meramente ejemplos, tengo que lidiar con una estructura más grande que yo no estoy encerrando en, por motivos de claridad.
mente para compartir su XSLT? –
XSLT ha sido compartido. –