libexpat/expat/lib
Fred L. Drake, Jr. a04f107e61 Karl's fix for SF bug #673791:
Error with xmlns:prefix= with namespace processing enabled.

It seems that storeAtts() has the following properties:
- when called with tagNamePtr = NULL and bindingsPtr = NULL,
  it does not process attributes incl. namespace declarations
- when called with all arguments non-NULL it processes
  attributes (incl. default attributes) and namespace declarations

We also have these requirements:

A) for start of element event:

  1) if we have a startElementHandler:
     we need to process at least default attributes,
     so we must call storeAtts with all arguments non-NULL
  2) if we have no startElementHandler, but we have attributes:
     we need to process namespace declarations,
     so we must call storeAtts with all arguments non-NULL
  3) if we have no startElementHandler and no attributes:
     we need to store the name (for the end element event, where
     the names are compared) and call only the default handler

  Note: Storing the name is a pre-requisiste for calling
        storeAtts with all arguments non-NULL.

So there really is no place for calling storeAtts with
tagNamePtr = NULL and bindingsPtr = NULL.

B) for empty element event:

  1) if we have a startElementHandler:
     we need to process at least default attributes,
     so we must call storeAtts with all arguments non-NULL
  2) if we have no startElementHandler, but we have attributes:
     we need to process namespace declarations,
     so we must call storeAtts with all arguments non-NULL
  3) if we have no startElementHandler and no attributes,
     but we have an endElementHandler:
     we need to store the name for calling the handler,
     but we need not process any attributes (default or not)
  4) if we have no start- or endElementHandler, and no attributes:
     we need to call only the default handler

Given that storeAtts will now always be called with all arguments
non-NULL we could remove a few internal checks in storeAtts,
if that improves efficiency. Not sure if that is worth it.

This patch should therefore fix the problem of namespace declarations
not being processed when no startElementHandler is set, that is,
it will fix Jeremy's NS processing patch.
2003-01-25 06:53:05 +00:00
..
.gitignore Applied patch #598944: Static library builds for VC++ 2002-08-23 15:04:52 +00:00
ascii.h Remove trailing whitespace. 2002-11-12 21:49:36 +00:00
asciitab.h Minor consistency nit. 2002-07-01 20:44:54 +00:00
expat_static.dsp * Applied patch #620822 - Windows Dll build with DEF file 2002-10-21 21:19:41 +00:00
expat.dsp * Applied patch #620822 - Windows Dll build with DEF file 2002-10-21 21:19:41 +00:00
expat.h Patch for bug/feature request #651754. 2003-01-16 22:03:42 +00:00
expatw_static.dsp * Applied patch #620822 - Windows Dll build with DEF file 2002-10-21 21:19:41 +00:00
expatw.dsp * Applied patch #620822 - Windows Dll build with DEF file 2002-10-21 21:19:41 +00:00
iasciitab.h Minor consistency nit. 2002-07-01 20:44:54 +00:00
internal.h Changed calling convention macros to differentiate between 2002-09-20 03:42:43 +00:00
latin1tab.h Minor consistency nit. 2002-07-01 20:44:54 +00:00
libexpat.def Correct the version some APIs were added in. 2003-01-16 23:22:56 +00:00
libexpatw.def Correct the version some APIs were added in. 2003-01-16 23:22:56 +00:00
macconfig.h Mac OS (classic) support, based on patches from Thomas Wegner and 2002-07-08 17:06:55 +00:00
Makefile.MPW Mac OS (classic) support, based on patches from Thomas Wegner and 2002-07-08 17:06:55 +00:00
nametab.h These are the first check-ins for the libexpat task: create configuration 2000-09-18 16:26:23 +00:00
utf8tab.h Minor consistency nit. 2002-07-01 20:44:54 +00:00
winconfig.h Karl noticed that Expat didn't build on Windows any more. winconfig.h 2002-05-20 11:01:29 +00:00
xmlparse.c Karl's fix for SF bug #673791: 2003-01-25 06:53:05 +00:00
xmlrole.c Changed calling convention macros to differentiate between 2002-09-20 03:42:43 +00:00
xmlrole.h Remove trailing whitespace. 2002-11-12 21:49:36 +00:00
xmltok_impl.c Changed calling convention macros to differentiate between 2002-09-20 03:42:43 +00:00
xmltok_impl.h Merged in modifications from perl-expat. Also fiddled around with more 2000-09-21 21:20:18 +00:00
xmltok_ns.c Changed calling convention macros to differentiate between 2002-09-20 03:42:43 +00:00
xmltok.c Applied patch for bug #653449. 2002-12-14 03:12:18 +00:00
xmltok.h Applied patch for bug #653449. 2002-12-14 03:12:18 +00:00