Subject: RE: Converting logical <em>s to physical <i>s (nesting problem)
From: "Magnus Henriksson (EMW)" <Magnus.Henriksson@xxxxxxxxxxxxxxx>
Date: Fri, 18 Jan 2002 10:59:49 +0100
|
> 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
|