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

Re: XSLT's Template Dispatch

Subject: Re: XSLT's Template Dispatch
From: "Clark C. Evans" <cce@xxxxxxxxxxxxxx>
Date: Fri, 5 Jan 2001 13:36:41 -0500 (EST)
xsl test and clause
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


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.