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] SAX/Java Character Buffers (was Re: [xml-dev] SAXand paral

[ Lists Home | Date Index | Thread Index ]

On Sat, 2005-01-01 at 15:51 -0500, David Megginson wrote:
> On Sat, 01 Jan 2005 13:29:18 -0700, Uche Ogbuji
> <Uche.Ogbuji@fourthought.com> wrote:
> [about SAX/Java character events providing an offset into an array
> rather than a test/string object]
> > I know the original SAX idea was optimization, but I do think this is
> > exactly one of those areas where perhaps (IMO) premature optimization
> > ends up limiting design evolution, and I also think that it interferes
> > with the "Simple" part.
> That was a tough choice at the time.  I think it was James Clark who
> suggested it -- he is justly famous for fast code, but as anyone who
> ever tried to work with SP (his C++ SGML parsing library) can attest,
> he's not famous for readable code.  Here are the pros and cons with
> the benefit of six or so years of hindsight:


> I'm not sure what I would do, even if I were starting fresh.  A good
> API should stay out of people's way, and SAX was always meant to be
> low-level.  I had assumed that most developers would use fancy
> toolkits on top, like the original SAXON, which provided friendlier
> events, element stacks, etc.; instead, almost everyone went straight
> to the basic API.  XML developers always seem to like to stay close to
> the metal.

Yeah.  I can certainly sympathize with the trade-off.  I guess I'm
mostly reacting to my own shock.  I really hadn't thought clearly in
years about how fundamentally different beasts the original SAX is from
how it was re-specified for Python.  In my recollection of the marathon
discussions that led to Python/SAX, there was little or no controversy
about imposing a clean object hand-off between driver and handler.  It
was just the Pythonic way of doing things.

I think this probably explains the confusion you alluded to, and
probably the fact that Miles Sabin and I were talking to each other
exactly like people from opposite sides of The Looking Glass.

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


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

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