OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] limits of the generic

[ Lists Home | Date Index | Thread Index ]

> Hi Jonathan,
> > As for XPath, I think that the *lack* of datatypes made XPath 1.0 do
> > an awful lot of guessing, and in an attempt to keep things simple,
> > it said that ALL numbers are floating point numbers. I don't think
> > that the lack of datatypes in the data XPath 1.0 used made things
> > simpler or more straightforward, it led to baroque rules for
> > guessing types.
> However baroque, it has to be said that the rules made XPath 1.0 very
> easy to use. It may seem baroque to implementers, who have to delve
> into the details, but to users XPath 1.0 appears to "just work". The
> same cannot be said of XPath 2.0.

It's neither baroque nor difficult for implementors either.  The part of XPath 
1.0 data typing that has the most coercion rules is the definition of 
EqualityExpression (i.e. interpretation of "=" and "!=".)  The entire 
implementation of this is less than 100 lines of Python code, and very clear 
Python code, I think.  In addition, about half of of this code is shared with 
the implementation of RelationalExpression.

I would guess that the equivalent implementation in XPath 2.0 would run well 
past 1000 lines of Python code.  This is just part of the reason why I don't 
plan to implement XPath 2.0.  The net gain for such staggering complexity is 
frightfully minimal.  Jonathan's examples, batting as hard as he can for data 
types, underscore this all too well.

Uche Ogbuji                                    Fourthought, Inc.
http://uche.ogbuji.net    http://4Suite.org    http://fourthought.com
Apache 2.0 API - http://www-106.ibm.com/developerworks/linux/library/l-apache/
Python&XML column: Tour of Python/XML - http://www.xml.com/pub/a/2002/09/18/py.
Python/Web Services column: xmlrpclib - http://www-106.ibm.com/developerworks/w


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS