Michael, the two examples that you give seem to be the same; namely, I
don't see how the
second xsl fragment accomplishes goal # 2.
Fox, Michael wrote:
>The logic of this template is two-fold
>1. To suppress the display of box numbers and column headings when the box
>number has appeared previously but
>2. to display the box number and column heading at the beginning of each
>new c01 even if it has previously been displayed with an earlier component
>in the dsc.
>To do one or the other seemed simple but to do both appeared complex when
>this stylesheet was first written about 3 years ago (a lifetime in this
>The problem is the limitation of the preceding axis.
>If one only wanted to achieve goal number one, there are several options.
>or more directly
>But neither of these satisfies goal number 2.
>What is needed is a way to intersect the ancestor::c01 axis and the
>preceding::container axis. This is possible in XSLT 2 or XPath 2, I forget
>which, and may laready have been implemented in Saxon.
>Michael Kay finally broke the iced with this solution that does both and
>which I have incorproated into the the next generation of the EAD Cookbook
>stylesheets, to wit,
>From: Rick Silterra [mailto:[log in to unmask]]
>Sent: Sunday, July 21, 2002 6:04 PM
>To: [log in to unmask]
>Subject: XPath deconstruction
>Deconstructing EAD style sheets,
>Looking at the cookbooks style sheets, I am trying to understand some
>of the XPaths.
>When deciding to display a box number or not, we want to know if it has
>the preceding sibling, so we use logic like this:
><xsl:call-template name="showbox-C02-box" />
><xsl:call-template name="hidebox-C02-box" />
>"If not (the preceeding c02 node has a did child, which has a container
>child whose type is box and value = box number)
>then show the box number,
>otherwise hide the box"
>But the second condition, where we have the "//" (any descendant), I
>don't quite get,
>"If the preceeding C02 has any did child at any level with a matching
>container type box value" --
>Is it possible for this expression to be true for some "did" 's, but
>they don't immediately
>preceed this one, so we should show the box number anyway?
>I "express" my thanks in advance,
>Implementation Technical Consultant
>Endeavor Information Systems, Inc.
>2200 E. Devon Ave. Suite 382
>Des Plaines, IL, USA 60018-4505
>Voice: (847) 296-2200 x2625
>Fax: (847) 296-5636
>Toll Free: (800) 762-6300 x2625
>Email: [log in to unmask]
>Any opinions expressed in this message are those only
>of the sender and not of Endeavor Information Systems, Inc.
Implementation Technical Consultant
Endeavor Information Systems, Inc.
2200 E. Devon Ave. Suite 382
Des Plaines, IL, USA 60018-4505
Voice: (847) 296-2200 x2625
Fax: (847) 296-5636
Toll Free: (800) 762-6300 x2625
Email: [log in to unmask]
Any opinions expressed in this message are those only
of the sender and not of Endeavor Information Systems, Inc.