6.4 Replace Nested Baseline Script Marks

<..replace nested baseline script marks..>
 <xsl:template match="span[
      (@class = ’end-script’)
    and
      ancestor::*[ preceding-sibling::* [
        ((@class = ’begin-script’) or (@class = ’mid-script’)) ]]
 ]" >
   <xsl:copy>
      <xsl:apply-templates select="@*" />
      <xsl:apply-templates select="
             ancestor::*[ preceding-sibling::* [
                            ((@class = ’begin-script’) or
                             (@class = ’mid-script’))     ]][1]
             / preceding-sibling::* [
                            ((@class = ’begin-script’) or
                             (@class = ’mid-script’))  ][1]
       "  mode="script-copy" />
   </xsl:copy>
 </xsl:template>
-_-_-

<..replace nested baseline script marks..>+
 <xsl:template match="*|@*|text()|comment()"
                mode="script-copy" >
   <xsl:copy>
      <xsl:apply-templates select="*|@*|text()|comment()" />
   </xsl:copy>
 </xsl:template>
 <xsl:template match="span[
      (@class = ’begin-script’) or
      (@class = ’mid-script’)       ]"  mode="script-copy" >
    <xsl:apply-templates select="*|text()|comment()" />
 </xsl:template>
-_-_-