This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Converting logical <em>s to physical <i>s (nesting problem)


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]