Subject: Re: [xsl] how to call extension function for side-effect, portably? From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Wed, 19 Jan 2005 22:03:03 +1100 |
On Wed, 19 Jan 2005 00:21:12 -0000, Michael Kay <mike@xxxxxxxxxxxx> wrote: > saxon:discard-document is deliberately designed to return the document being > discarded, so you can wrap it round a call of document(), or any other > reference to the document is actually being used. (It's effect isn't > immediate, it merely marks the document as being available for garbage > collection when no longer referenced). > > In general, if you're not using the result of a function but still want it > called, then you should try to hoodwink the optimizer into thinking that you > are using it. If it's a Java method that returns void, call it as > > <xsl:sequence select="my:call(xyz)"/> > > or call it as > > <xsl:if test="my:call(xyz) = -1"><a/></xsl:if> > > when you know the result will never be -1. Of course, this still doesn't guarantee any specific order of evaluation or even if the extension function will be called only once, or am I wrong? Cheers, Dimitre Novatchev
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] how to call extension fun, Michael Kay | Thread | RE: [xsl] how to call extension fun, Michael Kay |
[xsl] Line feeds to breaks, Aaron Johnson | Date | RE: [xsl] Line feeds to breaks, Jarno.Elovirta |
Month |