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>
--~--