Deconstructing EAD style sheets, Looking at the cookbooks style sheets, I am trying to understand some of the XPaths. For example: When deciding to display a box number or not, we want to know if it has changed from the preceding sibling, so we use logic like this: <xsl:choose> <xsl:when test="not(../preceding-sibling::C02/DID[CONTAINER[@type='box']=$box-number] or ../preceding-sibling::C02//DID[CONTAINER[@type='box']=$box-number])"> <xsl:call-template name="showbox-C02-box" /> </xsl:when> <xsl:otherwise> <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, Rick --- Rick Silterra 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.