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

Re: Designs for XSLT functions (Was: Re: RE: syntax su

Subject: Re: Designs for XSLT functions (Was: Re: RE: syntax sugar for call-template)
From: Uche Ogbuji <uche.ogbuji@xxxxxxxxxxxxxxx>
Date: Tue, 20 Feb 2001 07:54:57 -0700
Re: Designs for XSLT functions (Was: Re:  RE: syntax su
> > But this sparked something for me - having an exsl:return inside a
> > xsl:for-each:
> >
> >    <xsl:for-each select="$node">
> >       <xsl:if test="*">
> >          <exsl:return select="true()" />
> >       </xsl:if>
> >    </xsl:for-each>
> >
> > (in effect equivalent to <exsl:return select="boolean($node[*])" />)
> >
> > Perhaps xsl:for-each shouldn't be allowed directly within function
> > definitions?  Can anyone come up with a use case where it's helpful to
> > have it?
> 
> Saxon allows xsl:for-each with saxon:function, but doesn't allow
> saxon:return within xsl:for-each.

I'd generalize this restriction to say

"It is an error for more than one exsl:result to be instantiated within the 
body of an exsl:function"

By making it a functional restriction rather than a structural restriction, I 
think we might head off any other gnarly gotchas that might come up.

Speaking of gnarly, I'm assuming xsl:call-template can be used within 
exsl:function.  If so, is it permissible for the exsl:result to be in the 
called template, or so on down the chain?

I'd say "scary thought: no", but how to best restrict this?  Structurally?  
("Every exsl:function must have an exsl:result within the nodes in its 
descendant axis").

Note that in the above I'm just exercising my bias towards "exsl:result" 
rather than "exsl:return".  Substitute your name of choice until we decide.


-- 
Uche Ogbuji                               Principal Consultant
uche.ogbuji@xxxxxxxxxxxxxxx               +1 303 583 9900 x 101
Fourthought, Inc.                         http://Fourthought.com 
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python



 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.