xsl-list
[Top] [All Lists]

Re: [xsl] null call of document function

2007-04-09 06:36:49
Ok, thanks anywho.

Could you elaborate on the phrase "optimize away"? I understood it all
up until there.

-Steve

On 4/8/07, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
Sorry, but advising on application design is much harder than advising on
coding or debugging, and I really don't like doing it without knowing a lot
more than this about your requirements and constraints. And it then becomes
a consultancy assignment rather than a simple question+answer on a forum.

It's easy to spot when someone is doing things the wrong way, it's sometimes
much harder to identify the right way.

Michael Kay
http://www.saxonica.com/


> -----Original Message-----
> From: Steve [mailto:subsume(_at_)gmail(_dot_)com]
> Sent: 08 April 2007 01:47
> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> Subject: Re: [xsl] null call of document function
>
> Maybe you could give me some additional guidance? My
> situation is this:
>
> I have a sql table 'alerts' which contains system messages to
> be delivered to the user.
>
> A call to my xsl template "getAlerts" calls a script which
> serves these alerts up as XML and then clears them from the table.
>
> In some cases I want a file my user is viewing to generate an alert.
> My idea was to use the document function to insert the alert,
> and then later in the script it would be available for the
> getAlerts template.
>
> Are you suggesting it would be wiser to insert this Alert in
> my processing script pre-transform? Some other suggestion?
>
> -Steve
>
> On 4/7/07, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
> > > What if I want to make a call to the document() function
> but I don't
> > > expect any value?
> >
> > That presumably means you expect the call to have side-effects.
> >
> > A call on the document function is analagous to an HTTP GET
> request,
> > and it's considered bad form for GET requests to have side effects:
> >
> > http://www.w3.org/2001/tag/doc/whenToUseGet.html
> >
> > At the XSLT level, calling document() and expecting
> side-effects has
> > all the problems associated with extensions functions that
> have side
> > effects, notably that the call is liable to be optimized
> away if the
> > result isn't used. In fact it's worse than extension
> functions, because:
> >
> > (a) with extension functions, the optimizer might if you're
> lucky take
> > into account the possibility that the call has
> side-effects; with the
> > document() function this is unlikely
> >
> > (b) the semantics of the document() function essentially
> say that if
> > you make the same call twice with the same URI, it only
> gets executed once.
> >
> > In short - don't do it.
> >
> > Michael Kay
> > http://www.saxonica.com/
> >
> >
> >
> --~------------------------------------------------------------------
> > XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> > or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
> > --~--
> >
> >
>
> --~------------------------------------------------------------------
> XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
> --~--
>


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--