SAX drivers bug ... or feature !

Toivo Lainevool tlainevool at yahoo.com
Sat Nov 21 17:52:36 GMT 1998


---Ronald Bourret <rbourret at ito.tu-darmstadt.de> 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.

Toivo Lainevool


 

_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list