Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev] Re: XSLT2 - which parts solve real 1.0 problems,which makes coffee? - was Re: [xml-dev] Streaming XML

From: Uche Ogbuji <Uche.Ogbuji@-----------.--->
To: xml-dev@-----.---.---
Date: 1/1/2005 6:46:00 PM
On Fri, 2004-12-31 at 15:27 +1100, Dimitre Novatchev wrote:
> One has to realize that error raising/handling in a functional language is 
> essentially nondeterministic and much more challenging as such. XPath 1.0 
> compatibility would also be very problematic, as there's almost no such 
> thing as raising an error in XPath 1.0.

I don't understand.  There are some errors defined for XPath 1.0, e.g.
using a namespace prefix that is not declared in the context.

Side note: the example in Mike Kay's saxon:try extension seems to
intimate that 1 div 0 is an error, which it isn't: it's just Inf.

The spec does not say how implementations should deal with such errors
(correctly so), but there are errors defined.


> More on implementing exceptions in a functional language can be found in the 
> classic work of Simon-Peyton Jones "Tackling the awkward squad: monadic 
> input/output, concurrency, exceptions, and foreign-language calls in 
> Haskell", at 
> http://research.microsoft.com/Users/simonpj/papers/marktoberdorf/
> 
> While I actually made some successful experiments 1 1/2 years ago, it seems 
> too early to expect these in XSLT. My predictions (which are typically 
> optimistic) are for HOF support in XPath/XSLT 3.0 and try/catch-type error 
> handling in XPath/XSLT 4.0.

I appreciate this caution, but I think that providing error handling
declarations, dynamic evaluate and higher-order-functions in XSLT 2.0
would have been much more useful than any of the things that did make it
in.

I find Mike Kay's recounting of the history of the try/catch idea very
interesting as an illustration of how close integration with XQuery
proved detrimental in the development of XSLT and XPath 2.0.


-- 
Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Use CSS to display XML - http://www.ibm.com/developerworks/edu/x-dw-x-xmlcss-i.html
Full XML Indexes with Gnosis - http://www.xml.com/pub/a/2004/12/08/py-xml.html
Be humble, not imperial (in design) - http://www.adtmag.com/article.asp?id=10286
UBL 1.0 - http://www-106.ibm.com/developerworks/xml/library/x-think28.html
Use Universal Feed Parser to tame RSS - http://www.ibm.com/developerworks/xml/library/x-tipufp.html
Default and error handling in XSLT lookup tables - http://www.ibm.com/developerworks/xml/library/x-tiplook.html
A survey of XML standards - http://www-106.ibm.com/developerworks/xml/library/x-stand4/
The State of Python-XML in 2004 - http://www.xml.com/pub/a/2004/10/13/py-xml.html


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent