xsl-list
[Top] [All Lists]

Re: Flattening parts of a document heirarchy

2003-10-31 07:40:58
Hi Dave,

<xsl:template match="node()" mode="copy">
  <xsl:copy-of select="." />
  <xsl:apply-templates select="following-sibling::node()[1]"
                       mode="copy" />
</xsl:template>

Processing of <sec> elements in copy mode is to do nothing:

<xsl:template match="sec" mode="copy" />

Am I write in thinking that the above match="sec" takes priority
over the above match="node()" and therefore ends the "copy-of"
recursion, therefore sending you back to the

  <xsl:apply-templates select="following-sibling::sec[1]"
                       mode="flatten" /> 

of

<xsl:template match="node()" mode="flatten">
  <section level="{count(ancestor::sec)}">
    <xsl:apply-templates select="." mode="copy" />
  </section>
  <xsl:apply-templates select="following-sibling::sec[1]"
                       mode="flatten" />
</xsl:template>

Absolutely.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list