[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Re Numbering

Subject: Re: Re Numbering
From: "Mark Williams" <mark@xxxxxxxxxxx>
Date: Tue, 30 Mar 2004 19:22:10 +0100
xslt numbered headings
Hi Wendell

and thanks for the reply.

I don't have specific code for this problem other than a stylesheet I
generated which was 0.5MB in size!  I don't really wish to inflict this on
the newsgroup.  Anyway this is not a problem specific to one stylesheet.  It
is a general problem that I may have to deal with in a large number of
varying circumstances.  What I was wondering (I suppose) in essence is: is
there some sort of variable storage container for a Stylesheet?  One that
you can write to and read from at various parts of the template.  Pointers
in the right direction would be appreciated.

You mentioned xsl:number.  Do you know where would be the best place to get
info on that?  I failed to find it on www.w3.org.

Thanks for any info

Mark





----- Original Message -----
From: "Wendell Piez" <wapiez@xxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Tuesday, March 30, 2004 5:52 PM
Subject: Re:  Re Numbering


> Hi Mark,
>
> At 08:14 AM 3/30/2004, you wrote:
> >I have a requirement in an xslt stylesheet to set numbered headings for
> >various parts of the stylesheet.  Certain parts are included within
> >conditional statements and are omitted if the conditions are not met.
This
> >has knock on consequences for the remainder of the numbered headings so,
fo
> >example, if there are 12 parts and part 10 is omitted, parts 11 and 12
> >become parts 10 & 11.
>
> Okay.
>
> >To achieve this I am wrapping every numbered heading in conditional
> >statements.  These statements apply the same conditionality that results
or
> >may result in the omission of an earlier part and sets the number of the
> >heading accordingly.  This works, but is very cumbersome.
>
> There may be more succinct ways to do this. xsl:apply-templates and
> xsl:for-each instructions can easily include conditional logic, so when
> they are in play (and when are they not? ;-), explicit conditionals
> (xsl:choose / xsl:if) can often be avoided. (Show us your code.)
>
> >Does xsl support some sort of marker that can be incremented as you go
> >along, so that after the first header is rendered the marker can be
> >incremented by 1 or if there is a conditional statement the marker can be
> >incremented/decremented as required.
>
> No, but
>
> (a) using techniques similar to those just mentioned, you can often avoid
> using a counter -- there are other, XSLT-simpler ways to achieve the same
> thing. For example, the xsl:number instruction takes a match pattern in
its
> 'count' attribute. Since match patterns can include predicates,
conditional
> logic can easily be included to filter the things you are counting.
>
> (b) when or if those techniques really fail, there are workarounds
possible:
>    * processing the data in two passes can make the problem go away
>    * in really tight situations, "counters" or what passes for counters
can be
>      implemented by hand, though this is almost never really necessary
>
> But what is actually possible depends on the particular conditions for
> which you need to test.
>
> One complication of this problem is that XSLT is declarative, and is
> designed so the programmer does not (generally) need to be concerned with
> the specifics of flow control. As long as the output comes out as
> specified, you never know: your processor could be going in reverse from
> what you think.
>
> >I have had a quick look at the fo:marker and I'm not sure whether it is
the
> >sort of tool for what I need, but anyway it must be the descendant of a
> >fo:flow and this causes me a problem as my marker needs to be carried
over
> >from one flow to another.
>
> I am not sure the problem belongs on the formatting layer: it sounds like
> an XSLT problem to me. (Without seeing the specifics I can't be really
> certain.)
>
> >I hope the above is not too confusing.  I should probably also add that I
am
> >using FOP.
>
> It never hurts!
>
> Show us a bit of code: I'm sure someone can help.
>
> Cheers,
> Wendell
>
>
> ======================================================================
> Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
> Mulberry Technologies, Inc.                http://www.mulberrytech.com
> 17 West Jefferson Street                    Direct Phone: 301/315-9635
> Suite 207                                          Phone: 301/315-9631
> Rockville, MD  20850                                 Fax: 301/315-8285
> ----------------------------------------------------------------------
>    Mulberry Technologies: A Consultancy Specializing in SGML and XML
> ======================================================================

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.