xml-commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 4130] - SAX NamespaceSupport helper corrupts state
Date Thu, 18 Oct 2001 21:08:16 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4130>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4130

SAX NamespaceSupport helper corrupts state





------- Additional Comments From dbrownell@users.sourceforge.net  2001-10-18 14:08 -------
Please file SAX problems at the SAX site, so they get
appropriate attention.

    http://sax.sourceforge.net

=========================================================
What I see here is one non-bug and a harmless typo.

Non-bug:  the 'tablesDirty' thing.  There's no corruption.
Corruption would require an ILLEGAL call sequence such as:

     pushContext()            ... tables not dirty, but shared
     processName()            ... updates name cache
     declarePrefix ()         ... [ILLEGAL] causes corruption

The requirement is that all prefixes be declared in a given
context before they are used.  Likewise, that declarations in a
context may never follow a popContext() call.

processName() can actually ignore the "tablesDirty" flag; it's
a misleading name.  The flag remembers whether declarations
have been seen, so that contexts can share state (including
the name cache used by processName) unless they're prevented
(because at least one declaration was seen, creating a new
lexical scope).  By the time processName() is called, the
value of that flag is irrelevant.  (But another flag might
be relevant:  one saying if further declarations are OK.)

Harmless typo:  the element and attribute tables are switched
(consistently).  The sax2r2 release will have that fixed, thanks!

- David Brownell (dbrownell@users.sourceforge.net)

Mime
View raw message