Hi,
If I have an element having text split into two parts with a child
element in between, how do I pick up the second part text after the
child element?
Please see attached files for xml instance, stylesheet and test output.
I expected to pick up the multiple parts of text and the child element's
text in the order they appear, but lost the second part text after the
child element. Any suggestion will be appreciated.
Regards,
Spenser
1) The xml instance file --
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<paras>
<p>First paragraph starts, <i>Italic text here</i>, first paragraph
ends.</p>
<p>Second paragraph starts, <i>Italic text here</i>, second paragraph
ends.</p>
</paras>
2) The stylesheet file -
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/paras">
<xsl:apply-templates select="p"/>
</xsl:template>
<xsl:template match="p">
One para --
<xsl:if test="text()">
p: <xsl:value-of select="text()"/>
</xsl:if>
<xsl:if test="node()">
<xsl:apply-templates select="i"/>
</xsl:if>
</xsl:template>
<xsl:template match="i">
i: <xsl:value-of select="text()"/>
</xsl:template>
</xsl:stylesheet>
3) The test output.
One para --
p: First paragraph starts,
i: Italic text here
One para --
p: Second paragraph starts,
i: Italic text here
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list