Lists Home |
Date Index |
At 10:27 AM -0800 2/22/04, Dennis Sosnoski wrote:
>Can you mention what the main flaws are for Piccolo? I've seen a
>number of companies using it, and from what I remember it's also the
>basis of the parser used by BEA's NetBeans (now part of Apache, so
>that may be changing). Many people would consider BEA's main XML
>infrastructure project to be serious work. :-)
Come here me talk at XML Europe in a couple of months and I'll give
you the complete rundown on a whole bunch of SAX parsers and exactly
where each one screws up. But several problems with Piccolo include:
1. Inability to recognize ignorable white space.
2. Use of non-standard ENUMERATION attribute type instead of NMTOKEN
3. Failure to handle document type declarations that only contain a
root element name
4. Frequent throwing of ArrayIndexOutOfBoundsExceptions when
encountering various kinds of well-formedness errors
5. It treats <name/> and <name></name> differently. For <name></name>
it calls characters() between startElement and endElement and sets
length to 0.
Arguably 1 and 5 are acceptable. I'd love to hear peoples' opinions
about 5. Is this legitimate?
Those are just the problems I happen to know of off the top of my
head. As I said, I'll have a more complete list in Amsterdam.
>Piccolo was considerably faster than the Xerces version in use at
>the time it first came out, but the Xerces team seems to have put
>more of a focus on performance since then. Recent versions of Xerces
>look to be about on a par with Piccolo performance.
Xerces has problems of its own, rather large ones in fact. Details in
Elliotte Rusty Harold
Effective XML (Addison-Wesley, 2003)