This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Converting logical <em>s to physical <i>s (nesting problem)
- From: "Magnus Henriksson (EMW)" <Magnus dot Henriksson at emw dot ericsson dot se>
- To: "'xsl-list at lists dot mulberrytech dot com'" <xsl-list at lists dot mulberrytech dot com>
- Date: Fri, 18 Jan 2002 10:59:49 +0100
- Subject: RE: [xsl] Converting logical <em>s to physical <i>s (nesting problem)
- Reply-to: xsl-list at lists dot mulberrytech dot com
> How can I convert <em>s to <i>s, such that "nested" <em>s are either
> italic or not italic as appropriate? That is, I want
>
> <em>This is <em>emphasised</em>!</em>
>
> to be converted into
>
> <i>This is </i>emphasised<i>!</i>
This is perhaps not the most beautiful solution, but it might spark a few ideas:
<xsl:template match="em/text()">
<xsl:choose>
<xsl:when test="count(ancestor::em) mod 2 = 1">
<em>
<xsl:copy/>
</em>
</xsl:when>
<xsl:otherwise>
<xsl:copy/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
// Magnus
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list