|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: XSLT's Template Dispatch
On Fri, 5 Jan 2001, David Carlisle wrote: > The first case, <when > test="//author[generate-id(.)=$id]">, has a path > expression returning the node-set consisting of any > author element having an identifier equal to the current > node's identifier. Therefore, if the current node > happens to be an author, the node-set returned will be > non-empty, which converts to a true boolean value. > > isnt this just self::author ? Yes. For the *particular* case you mentioned, you could change the test to "self::author"; this is actually a pretty snazzy optimization. However, I was trying to demonstrate a automated general-case: To translate any <template match="..." construct having an XPath expression X, first add a new <when test="..." clause to the dispatch template. The path expression for the when clause is formed formed by appending "[generate-id(.)=$id]" to X, and if X is relative prepending "//". Then move the body of the template into the body of the when clause, replacing each call to apply-templates with a call to the apply template. Very sorry that the description was not clear. The point of the article is to show how one could re-write template usage into a more procedural style. Not that you would ever want do to this for production purposes; however, it is instructive to see the equivalence between the two forms. ;) Clark XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








