[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: SAX drivers bug ... or feature !

  • From: Tyler Baker <tyler@i...>
  • To: Toivo Lainevool <tlainevool@y...>
  • Date: Sat, 21 Nov 1998 16:46:40 -0500

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!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.