On Friday 31 Oct 2003 12:03 pm, Jeni Tennison wrote:
Hi Jeni, thanks for taking the time to reply.
Hi Dave,
If you're happy using SAX to do it, I think you should do so. This
kind of transformation is really suited to a streaming approach, in
which you go through the elements as they appear and insert start and
end tags as appropriate.
Yes, I think I will stick to SAX for this part.
Its taken me about an hour to figure how your solution works (but it was good
learning material for a newbie!).
<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>
thanks,
Dave.
Cheers,
Jeni
---
Jeni Tennison
http://www.jenitennison.com/
--
Dr. David Holden. (Systems Developer)
Crystallography Journals Online: <http://journals.iucr.org>
Thanks in advance:-
Please avoid sending me Word or PowerPoint attachments.
See: <http://www.fsf.org/philosophy/no-word-attachments.html>
UK Privacy (R.I.P) : http://www.stand.org.uk/commentary.php3
Public GPG key available on request.
-------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list