problem using the xsl method for-each
Posted
by joe
on Stack Overflow
See other posts from Stack Overflow
or by joe
Published on 2009-11-30T17:11:15Z
Indexed on
2010/05/11
4:04 UTC
Read the original article
Hit count: 201
Using XSL I am trying to turn this XML:
<book><title>This is a <b>great</b> book</title></book>
into this XML:
<book>This is a <bold>great</bold> book</book>
using this xsl:
<xsl:for-each select="book/title/*">
<xsl:choose>
<xsl:when test="name() = 'b'">
<bold>
<xsl:value-of select="text()"/>
</bold>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="text()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
but my output is looking like this:
<book><bold>great</bold></bold>
Can anyone explain why the root text of <title>
is getting lost? I believe my for-each select statement may need to be modified but I can't figure out what is should be.
Keep in mind that I cannot use an <xsl:template match>
because of the complexity of my style sheet.
Thanks!
© Stack Overflow or respective owner