Используя XSL, я пытаюсь включить этот XML:
<book><title>This is a <b>great</b> book</title></book>
в этот XML:
<book>This is a <bold>great</bold> book</book>
используя этот 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>
но мой вывод выглядит так:
<book><bold>great</bold></bold>
Может кто-нибудь объяснить, почему корневой текст <title>
теряется? Я полагаю, что моё утверждение для каждого выбора может потребоваться изменить, но я не могу понять, что должно быть.
Имейте в виду, что я не могу использовать <xsl:template match>
из-за сложности моей таблицы стилей.
Спасибо!