Subject: RE: [xsl] null call of document function From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Sun, 8 Apr 2007 22:55:35 +0100 |
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@xxxxxxxxx] > Sent: 08 April 2007 01:47 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > 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@xxxxxxxxxxxx> 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/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] null call of document fun, Steve | Thread | Re: [xsl] null call of document fun, Steve |
Re: [xsl] Removing namespaces witho, Mukul Gandhi | Date | Re: [xsl] null call of document fun, Steve |
Month |