[Home] [By Thread] [By Date] [Recent Entries]
Dan,
At 01:48 PM 10/4/2009, you wrote: I've used this approach myself to help determine when a new element has been added or someone starts using an element I've not seen used. Yes, exactly. If $value is known to be 'x', then /path/to/node[@with=$value]/@with is always either * 'x' (a @with node exists, and it has value 'x' by virtue of the '@with=$value' predicate on its parent in the path), or * Nothing (no such node exists, has no value, coerced to '' when cast as a string) That's effectively what you have with "ancestor::ipb/figure/subfig/graphic[@boardno=$sht_num]/@boardno". (I leave aside the possibility that there may be multiple such nodes.) I think you have two questions: 1. What is unparsed-entity-uri($sht_num)? 2. Is $sht_num referred to elsewhere in the document? ... and the code you are refactoring has conflated these. This might sometimes be useful, if for example you are only interested in (1) if (2) is true. That is, unparsed-entity-uri(ancestor::ipb/figure/subfig/graphic[@boardno=$sht_num]/@boardno) will return a URI if (and only if) $sht_num appears as a @boardno on an ancestor::ipb/figure/subfig/graphic, and is also declared as an unparsed entity (with a URI not ''); otherwise it will be ''. But you still need to keep the two questions clear in your head. BTW, to refer to this as a "match" is somewhat confusing, since it's not a template match. 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 ======================================================================
|

Cart



