[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX/Java Character Buffers (was Re: SAXand paral
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@f...> 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: [SNIP] > 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|