[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX drivers bug ... or feature !
Toivo Lainevool wrote: > ---Ronald Bourret <rbourret@i...> wrote: > > > > Patrice Bonhomme wrote: > > > > > I think there is a little problem with AttributeList implementation > > within > > > some of the SAX drivers (i have tested the following code with my > SXP SAX > > > driver, the XML4J SAX driver and the AELFRED SAX driver. We are all > > giving the > > > same results (gosh...). > > > > > > This code should write the size of each AttributeList that has > been read > > by > > > the parser when it reached the end of the Document. But it always > prints > > the > > > size of the last AtributeList found. > > > > > > [code snipped] > > > > It is a good bet that all the parsers are doing what I have done in > my > > parsers: used a single instance of an AttributeList object, then > cleared it > > and reused it for each call to startElement. Thus, all the > references in > > your Vector point to the same object. > > > > This is specifically allowed by the SAX spec. The documentation for > > AttributeList states, "The instance provided will return valid > results only > > during the scope of the startElement invocation (to save it for > future use, > > the application must make a copy: the AttributeListImpl helper class > > provides a convenient constructor for doing so)." > > Instead of clearing and reusing the the AttributeList object, wouldn't > it be better to create a new attribute list object? If the old > Attribute list isn't being referenced, it will be garbage collectible. > If the old Attribute list is being reference, it won't be changed out > from under the client. This way of doing it seems to offer the best > of both worlds. Well performance is an issue and calling new() for each attribute list creation would incur significant overhead regardless of whether you are using Java or C++ or calling malloc in C. You can consider the attribute list in SAX to be fail fast, just like the java.util.Iterator implementations in the new Collections framework. Tyler xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
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
|