xsl-list
[Top] [All Lists]

RE: [xsl] document() function and error-handling

2008-01-04 11:31:27
On a different level, being not sure I read every single letter on
this 
thread yet, was it already proposed to use a proxy? Because with a
proxy 
(which has hardly anything to do with XSLT of course), you can just do

whatever you want.
 
I.e., suppose you create a proxy HTTP server that resides on the same 
server as your Coldfusion stuff, suppose that 
http://localhost:123456/proxy? runs a proxy script and that you call
it 
as http://localhost:123456/proxy?url=http://test.com/doesnotexist. Now

your proxy script must do two things:
 
  1. test if the url exists and if not, reply with an XML compatible
error
  2. test if the result is a valid XML document and if not reply with
an 
XML compatible error, if yes, reply with the XML result itself.
 
By doing something like that, you've taken the burden of your XSLT and

you do not need to result to complex platform specific solutions. In 
fact, the solution will be very portable (and is close to what you 
would've done if you implement the XmlResolver solution, which however

is in practice much harder with MSXML alone).

*blink*

Now I'm a little angry - that's the best solution that I've heard so
far, but it's so simple! Why didn't I think of that. It'll actually fit
in quite well with the flow of several other scripts in our system, and
will undoubtedly be useful in other places. A thousand thanks for the
suggestion, but damn I feel stupid after reading it. :)


I'd like to implement it somewhat like the MSSQL "FOR XML AUTO" error
messages, like so:
<?xml-result xml-status="0" http-status="404" description="File not
found" ?>
<?xml-result xml-status="0" http-status="200" description="Invalid XML
content" ?>
<?xml-result xml-status="1" ?><!-- retrieved document here -->

Would there be any reason *not* to include an <?xml-result?> PI in the
result document? As I understand it, this sort of thing is what PIs were
designed for. (And is it an XML faux pas to start the PI with "xml-"?)
The result effect I'd want is for the caller to be able to
apply-templates to document(...) or document(...)/* with little to no
variation in the transformation's behavior, but the script's result
would still be available, error or not. And the PI content could be
similarly passed down to the result document if desired:
  <template match="processing-instruction('xml-result')">
    <xsl:copy-of select="."/>
  </template>

Just wondering if extraneous PIs in transformation source/result
documents are considered good coding convention or not. It'd be nice to
actually make use of them from time to time.

~ Scott

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

<Prev in Thread] Current Thread [Next in Thread>