Subject: not resetting counters in a document tree From: Michel Goossens <Michel.Goossens@xxxxxxx> Date: Mon, 26 Apr 1999 17:10:53 +0200 (METDST) |
Using the previous version of the XSL standard I could organize my counters so that some were numbered automatically using the built-in procedures using <xsl:number>, that number nodes in the result tree and others were under my own control using <xsl:counter> and <xsl:counter-increment>. However, counters have disappeared from the new spec, so that I can only (as far as I can see) rely on numbering nodes in the result tree starting at a given parent node. However, consider the following situation (which occurs quite often in books), where I have different parts and chapters, but the chapters are numbered sequentially independently of the parts where they occur, e.g. Part I Chapter 1 Chapter 2 Chapter 3 Part II Chapter 4 Chapter 5 etc. I looked in vain for a way to achieve this using the following XML file <?xml version="1.0" encoding='ISO-8859-1'?> <document> <part> <stitle>Part I</stitle> <chapter id="Ch1"> <stitle>First chapter</stitle> </chapter> <chapter id="Ch2"> <stitle>Second chapter</stitle> </chapter> <chapter id="Ch3"> <stitle>Third chapter</stitle> </chapter> </part> <part> <stitle>Part II</stitle> <chapter id="Ch4"> <stitle>Fourth chapter</stitle> </chapter> <chapter id="Ch5"> <stitle>Fifth chapter</stitle> </chapter> <chapter id="Ch6"> <stitle>Sixth chapter</stitle> </chapter> </part> </document> And XSL stylesheet <?xml version='1.0'?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" xmlns="http://www.w3.org/TR/REC-html40" result-ns=""> <xsl:template match="part|chapter"> <xsl:apply-templates/> </xsl:template> <xsl:template match="chapter/stitle"> <xsl:element name="H1"> <A NAME="{../@id}"> <xsl:number level="multi" count="chapter" format="1. "/> <xsl:apply-templates/> </A> </xsl:element> </xsl:template> </xsl:stylesheet> But, as expected, in the generated output below, the chapter counters are reset when the new part starts. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> Part I <H1><A NAME="Ch1">1. First chapter</A></H1> <H1><A NAME="Ch2">2. Second chapter</A></H1> <H1><A NAME="Ch3">3. Third chapter</A></H1> Part II <H1><A NAME="Ch4">1. Fourth chapter</A></H1> <H1><A NAME="Ch5">2. Fifth chapter</A></H1> <H1><A NAME="Ch6">3. Sixth chapter</A></H1> Is there a way of rewriting the style sheet so that this does not happen? ---------------------------------------------------- Dr. Michel Goossens Phone: (+41 22) 767-5028 IT Division Fax: (+41 22) 767-8630 CERN Email: goossens@xxxxxxx CH-1211 Geneva 23 F-01631 CERN Cedex Switzerland France XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: character references in match p, James Clark | Thread | Re: Not grokking keys..., Alistair MacDonald |
Concerns over semantics after trans, Guy_Murphy | Date | RE: HTML is a formatting/UI languag, Håkon Wium Lie |
Month |