140 Commits

Author SHA1 Message Date
Daniel Veillard
a97a19b687 - parser.c: fixed propagation context info when parsing an
external entity.
- doc/html/*.html: regenerated a couple of docs
Daniel
2001-05-20 13:19:52 +00:00
Daniel Veillard
76d66f416d - xpath.c tree.c parser.c: speed optimizations at the parser level
document tree freeing and xpath evaluation
Daniel
2001-05-16 21:05:17 +00:00
Daniel Veillard
fd7ddca8b2 - parser.c parser.h parserInternals.h: fixed a couple of
interfaces for handling memory buffer input to const char *
  upon suggestion of JamesH.
Daniel
2001-05-16 10:57:35 +00:00
Daniel Veillard
a737459bc4 - Makefile.am xmlversion.h.in configure.in include/Makefile.am:
integrating catalogs
- catalog.[ch] testCatalog.c: adding a small catalo API
  (only SGML catalog support).
- parser.c: restaured xmlKeepBlanksDefault(0) API
Daniel
2001-05-10 14:17:55 +00:00
Daniel Veillard
257d910769 - parser.c: added xmlParseExternalEntityPrivate() to allow
propagation of ctxt->_private when parsing external entities
Daniel
2001-05-08 10:41:44 +00:00
Daniel Veillard
02141eabb2 - tree.c parser.c encoding.c: spent a bit more time looking
at the parsing speed and DOM handling. Added a few more
  speedups.
Daniel
2001-04-30 11:46:40 +00:00
Daniel Veillard
3ed155fcdf How to bump raw SAX parsing speed from 5.8M/s to 7.4M/s in 4 lines of code:
- parser.c: small but effective parsing speed improvement
Daniel
2001-04-29 19:56:59 +00:00
Daniel Veillard
30211a0eef - parser.c: applied fixes from Christian Glahn bug report #53391
Daniel
2001-04-26 09:33:18 +00:00
Bjorn Reese
70a9da54eb trio upgrade and integration 2001-04-21 16:57:29 +00:00
Daniel Veillard
dab4cb37d8 Geez, this one was painful ! I still need to handle entities references
for the validation step but I have a clean way to add this without touching
the algorithm:
- valid.[ch] tree.h: worked *hard* to get non-determinist content
  validation without using an ugly NFA -> DFA algo in the source.
  Made a specific algorithm easier to maintain, using a single
  stack and without recursion.
- Makefile.am test/VCM/*.xml: added more tests to "make Validtests"
- hash.c: made the growing routine static
- tree.h parser.c: added the parent information to an
  xmlElementContent node.
Daniel
2001-04-20 13:03:48 +00:00
Daniel Veillard
e470df7fdd 3 hours of debug, this was hell:
- SAX.c parser.c xpath.c: generating IDs when not validating
  from an external parsed entity was poisoning the ID has table
  with removed values. This was killing XSLT on the KDE help
  browser.
Daniel
2001-04-18 21:41:07 +00:00
Daniel Veillard
505821145f parser.c: fixed line number reporting on error
Daniel
2001-03-26 22:52:16 +00:00
Daniel Veillard
04be4f51e4 - parser.c: Sullivan and Darin found a parser bug,
applied the patch.
Daniel
2001-03-26 21:23:53 +00:00
Daniel Veillard
56a4cb8c4d Huge cleanup, I switched to compile with
-Wall -g -O -ansi -pedantic -W -Wunused -Wimplicit
-Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wformat
-Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow
-Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return
-Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline
- HTMLparser.[ch] HTMLtree.c SAX.c debugXML.c encoding.[ch]
  encoding.h entities.c error.c list.[ch] nanoftp.c
  nanohttp.c parser.[ch] parserInternals.[ch] testHTML.c
  testSAX.c testURI.c testXPath.c tree.[ch] uri.c
  valid.[ch] xinclude.c xmlIO.[ch] xmllint.c xmlmemory.c
  xpath.c xpathInternals.h xpointer.[ch] example/gjobread.c:
  Cleanup, staticfied a number of non-exported functions,
  detected and cleaned up a dozen of problem found this way,
  avoided a lot of public function name/typedef/system names clashes
- doc/xml.html: updated
- configure.in: switched private flags to the really pedantic ones.
Daniel
2001-03-24 17:00:36 +00:00
Daniel Veillard
146c9120ca - parser.c: fixed a reported bug in NOTATION parsing
- uri.c: accepted but not fixed bug 51876, added TODO
- Makefile.am: fixed bug 51876
Daniel
2001-03-22 15:22:27 +00:00
Daniel Veillard
e020c3a797 A typo and an obscure bug fix:
- parser.c: fixed a function name header typo
- SAX.c: notations can also occur in external subset.
Daniel
2001-03-21 18:06:15 +00:00
Daniel Veillard
0b6b55b076 Someone found a bug hiding in a corner, caught it !
- parser.c: fixing bug 52299 strange condition leading
  to a parser crash due to a buffer overflow
- result/noent/attrib.xml result/attrib.xml test/attrib.xml:
  added the specific test case
Daniel
2001-03-20 11:27:34 +00:00
Daniel Veillard
82ab81e92b - parser.c: and Matt Sergeant found one in the XML push
parser (erroneous check I forgot to remove when I fixed the
  main parser).
Daniel
2001-03-12 21:11:21 +00:00
Daniel Veillard
80f3257163 - parser.c SAX.c: the new content parsing code raised an
ugly bug in the characters() SAX callback. Found it
  just because of strangeness in XSLT XML Rec ouptut :-(
Daniel
2001-03-07 19:45:40 +00:00
Daniel Veillard
29631a8901 10 mn hacking while waiting for doctor appointment:
- parser.c: trying to fix the Dtd parsing problem reported
  by Gary, side effect of last week speed optimizations.
Daniel
2001-03-05 09:49:20 +00:00
Daniel Veillard
2f36224e54 - parser.c: one must report spaces even if the Dtd element
content proves that this is not part of the element content.
- result/valid/*.xml: this changed the ouptu slightly
Daniel
2001-03-02 17:36:21 +00:00
Daniel Veillard
21a0f91852 - parser.c: more work on increasing parsing ferformances
Daniel
2001-02-25 19:54:14 +00:00
Daniel Veillard
48b2f8968e Okay time to improve performances, gprof session:
before  real 0m2.483s (2.3.2 release yesterday)
current real 0m1.763s
when parsing (with tree build/freeing) db10000.xml from XSLTMark:
- xmlmemory.h HTMLparser.c HTMLtree.c entities.c parser.c
  xpath.c xpointer.c tree.c uri.c valid.c xinclude.c xmlIO.c:
  avoiding memcpy in production builds MEM_CLEANUP macro use
- parser.[ch] parserInternals.c: optimizations of the tightest
  internal loops inside the parser. Better checking of I/O
  flushing/loading conditions
- xmllint.c : added --timing
Daniel
2001-02-25 16:11:03 +00:00
Owen Taylor
3473f88a7a Revert directory structure changes 2001-02-23 17:55:21 +00:00
CET 2001 Tomasz Koczko
64636e7f6e moved to libxml directory - this allow simplify automake/autoconf. Now
Thu Feb 23 02:03:56 CET 2001 Tomasz Koczko <kloczek@pld.org.pl>

        * *.c *.h libxml files: moved to libxml directory - this allow
	  simplify automake/autoconf. Now isn't neccessary hack on
	  am/ac level for make and remove libxml symlink (modified for this
	  also configure.in and main Makefile.am). Now automake abilities
	  are used in best way (like in many other projects with libraries).
	* include/win32config.h: moved to libxml directory (now include
	  directory isn't neccessary).
	* Makefile.am, examples/Makefile.am, libxml/Makefile.am:
	  added empty DEFS and in INCLUDES rest only -I$(top_builddir) -
	  this allow minimize parameters count passed to libtool script
	  (now compilation is also slyghtly more quiet).
	* configure.in: simplifies libzdetestion - prepare separated
	  variables for keep libz name and path to libz header files isn't
	  realy neccessary (if someone have libz installed in non standard
	  prefix path to header files ald library can be passed as:
	  $ CFALGS="-I</libz.h/path>" LDFLAGS="-L</libz/path>" ./configure
	* autogen.sh: check now for libxml/entities.h.

	After above building libxml pass correctly and also pass
	"make install DESTDIR=</install/prefix>" from tar ball generated by
	"make dist". Seems ac/am reorganization is finished. This changes
	not touches any other things on *.{c,h} files level.
2001-02-23 01:37:32 +00:00
Daniel Veillard
142adbfa3d More bugfixes due to DocBook:
- xpath.c: bug fix when context size is 0
- parser.c: I like Norm's Dtd because they still manage to break
  the parser occasionally
Daniel
2001-02-17 13:21:05 +00:00
Daniel Veillard
e0e265138e - tree.[ch] parser.c xpath.c: fixed the problem of addressing
attributes within the XML-1.0 namespace
Daniel
2001-02-16 00:11:46 +00:00
Daniel Veillard
0f2a53ccbd Bug fixes and an extension found and required by XSLT:
- xpath.c: bug fixes found from XSLT
- tree.c: preserve node->name special values when copying nodes.
- parserInternals.[ch] parser.[ch] SAX.c : added a mode where
  external subset are fetched when available but without full
  validation. Added xmlLoadExtDtdDefaultValue, need a function.
- HTMLtree.c: add support for xmlStringTextNoenc for XSLt HTML
  output with encoding disabled.
Daniel
2001-02-05 17:57:33 +00:00
Daniel Veillard
de55cf62da First libxml head patch from the Gnome community since a looong time :-)
- parser.c: fixed xmlStrcat doc
- tree.c: 2 fixes form Anders Carlson for copying nodes and
  trees.
Daniel
2001-01-31 15:53:13 +00:00
Daniel Veillard
167bd53151 Old but effective optimization patch:
- parser.c parserInternals.c: applied Bjorn Reese optimization patch
Daniel
2001-01-06 21:09:34 +00:00
Daniel Veillard
a6d8eb6256 Finally had a bit of time to resynch both trees:
- HTMLparser.[ch]: added a way to avoid adding automatically
  omitted tags. htmlHandleOmittedElem() allows to change the
  default handling.
- tree.[ch] xmllint.c: added xmlDocDumpFormatMemory() and
  xmlDocDumpFormatMemoryEnc(), uses memory functions for output
  of xmllint too when using --memory flag, added a memory test
  suite at the Makefile level.
- xpathInternals.h xpath.[ch] xpointer.c: fixed problems
  with namespace use when encountering QNames in XPath evalation,
  added xmlns() scheme in XPointer.
- nanoftp.c : incorporated a fix
- parser.c xmlIO.c: fixed problems raised with encoding when using
  the memory I/O
- parserInternals.c: closed bug 25934 reported by
  torsten.landschoff@innominate.de
- TODO: updated
Daniel
2000-12-27 10:46:47 +00:00
Daniel Veillard
ce6e98d693 Big OpenVMS patch: - nanohttp.c parser.[ch] tree.[ch] xmlIO.[ch] xmllint.c
Big OpenVMS patch:
- nanohttp.c parser.[ch] tree.[ch] xmlIO.[ch] xmllint.c xpath.c
  parserInternals.h vms/build_libxml.com vms/config.vms Makefile.am:
  integrated a set of OpenVMS changes from Howard Taylor
  <Howard.Taylor@pacoast.com>
Daniel
2000-11-25 09:54:49 +00:00
Daniel Veillard
41e065130b A few serious bugfixes:
- parser.[ch] parserInternals.c: applied the conditional
  section processing fix from Jonathan P Springer
  <jonathan.springer2@gte.net>
- xmlversion.h.in win32/libxml2/libxml2.dsp : Updated MS
  project file, fixed iconv default non support
- xpath.c: fixed the problem of evaluating relative expressions
  when a node context is provided.
Daniel
2000-11-13 11:47:47 +00:00
Daniel Veillard
c2def84b48 Various patches and bug fixes, and XInclude progresses:
- nanohttp.[ch]: applied Wayne Davison patches to access
  the WWW-Authorization header.
- parser.c: Closed Bug#30847: Problems when switching encoding
  in short files by applying Simon Berg's patch.
- valid.c: fixed a validation problem
- hash.c parser.h parserInternals.h testHTML.c testSAX.c tree.h
  xmlerror.h xmlmemory.h xmlversion.h.in: applied a DLL patch from
  Wayne Davison
- xpointer.[ch]: added first version of xmlXPtrBuildNodeList()
  need to be extended to non full nodes selections.
- xinclude.c: starts to work decently
Daniel
2000-11-07 14:21:01 +00:00
Daniel Veillard
a4964b7500 - HTMLparser.c: fixed loop on invalid char in scripts
- parser.c: update to description of xmlIOParseDTD()
- libxml.m4 xmlversion.h.in: changes contributed by
  Michael Schmeing <m.schmeing@internet-factory.de>
- configure.in: preparing for 2.2.7
- Makefile.am: trying to avoid  config.h and acconfig.h
  being included in the distrib
- rebuilt the docs
- configure.in: released 2.2.7
Daniel
2000-10-31 18:23:44 +00:00
Daniel Veillard
2ffc3591c1 - parser.[ch]: added xmlIOParseDTD()
- xpointer.c: added support for the 2 extra parameters of
  string-range, fixed a stoopid error when '0' was present
  in XPointer expressions
- test/XPath/xptr/strrange2 result/XPath/xptr/strrange2: added
  testsuite for the above
Daniel
2000-10-30 15:36:47 +00:00
Daniel Veillard
d6d7f7bf96 patched to redirrect all "out of context" error messages to
a reconfigurable routine. The changes are:
* xmlerror.h : added the export of an error context type (void *)
  an error handler type xmlGenericErrorFunc there is an interface
  xmlSetGenericErrorFunc(void *ctx, xmlGenericErrorFunc handler);
  to reset the error handling routine and its argument
  (by default it's equivalent to respectively fprintf and stderr.
* all the c files: all wild accesses to stderr or stdout within
  the library have been replaced to calls to the handler.
Daniel
2000-10-25 19:56:55 +00:00
Daniel Veillard
126f27992d Bunch of fixes, finishing moving datastructures to the hash stuff:
- hash.[ch] debugXML.c: expanded/enhanced the API, added
  multikey tuples, made hash structure opaque
- valid.[ch]: moved elements, attributes, notations decalarations
  as well as ID and refs to hash tables.
- entities.c: hash cleanup
- xmlmemory.c: fixed a dump problem in debug mode
- include/Makefile.am: problem passing in DESTDIR= values patch
  from Marc Christensen <marc@calderasystems.com>
- nanohttp.c: removed debugging remains
- HTMLparser.c: the bogus tag should be ignored (Wayne)
- HTMLparser.c parser.c: fixing a number of problems with the
  macros in the *parser.c files (Wayne).
- HTMLparser.c: close the previous option when opening a new one
  (Marc Sanfacon).
- result/HTML/*: updated the HTML results accordingly
Daniel
2000-10-24 17:10:12 +00:00
Daniel Veillard
1e851392fc - parser.c test/wap.xml result/noent/wap.xml result/wap.xml:
Closed bug #27499, added to regression tests
- TODO: updated
Daniel
2000-10-15 10:02:56 +00:00
Daniel Veillard
b71379b796 - moved xml-error.h to xmlerror.h: seems this allowed to bypass
the automake bug where wrong dependancies were generated.
- xpath.[ch]: worked on XPointer
Daniel
2000-10-09 12:30:39 +00:00
Daniel Veillard
aaf58b96f5 Various attemps at trying to bypass this automake bullshit !!! Daniel
Failing too bad no release before next wed I'm seriously pissed, this
bug has been around for more than one year it seems, piece of crap
2000-10-06 14:07:26 +00:00
Daniel Veillard
7e99c63be0 Tried to build libxml2-2.2.5
Automake is a fucking piece of ugly shit full of tricks and without
any kind of sensible documentation or logic :-(((((((((
Daniel, pissed !
2000-10-06 12:59:53 +00:00
Daniel Veillard
7cfce324d8 Bugfix - parser.c xmlIO.c xmlIO.h: fixed bug 26650, and improved the
Bugfix
- parser.c xmlIO.c xmlIO.h: fixed bug 26650, and improved the global
  init function.
Daniel
2000-10-04 12:40:27 +00:00
Daniel Veillard
8b5dd83f46 - configure.in: releasing 2.2.4
- parser.[ch]: added xmlStrEqual()
- HTMLparser.c HTMLtree.c SAX.c debugXML.c entities.c parser.c
  tree.c valid.c xlink.c xpath.c: converted all !xmlStrcmp to
  use xmlStrEqual instead
- TODO: updated
- added an XPath test
Daniel
2000-10-01 20:28:44 +00:00
Daniel Veillard
bc765307ff Cleanups, 1 bug fix:
- HTMLparser.c: fixed htmlStartCloseIndexinitialized init
- entities.h: exported xmlInitializePredefinedEntities
- parser.[ch] : added xmlInitParser()
- parserInternals.h : had to export htmlInitAutoClose()
Daniel
2000-10-01 18:23:35 +00:00
Daniel Veillard
f09e7e35de XPath fixes and cleanup, 2 general bug fixes:
- xpath.[ch] : fixed some serious XPath Predicate evaluation
  problems
- Makefile.am : added XPath regression tests to normal tests
- uri.c: fixed a problem with local paths, cleanup
- parser.c: fixed a problem with large CData sections
Daniel
2000-10-01 15:53:30 +00:00
Daniel Veillard
4b0755c68b - HTMLparser.c parser.c tree.c tree.h: Avoiding a few warning
when compiling with MSC
Daniel
2000-09-25 14:26:28 +00:00
Daniel Veillard
b656ebe456 Cleanup, patch from Wayne Davison:
- xmlIO.h tree.h: made xmlNodeDump() and xmlNodeDumpOutput() public
- parser.[ch] nanohttp.c HTMLtree.c HTMLparser.c tree.c: applied and
  modified slightly Wayne Davison patch adding xmlStrcasecmp and
  related function, fixing xmlStrncmp(), and associated cleanup
- result/HTML/entities.html.sax: updating result
Daniel
2000-09-22 13:51:48 +00:00
Daniel Veillard
04698d9e1c New set of cleanups, released 2.2.3:
- SAX.c debugXML.c parser.c parserInternals.c tree.c valid.c xpath.c:
  removed a few warnings in pedantic mode ...
- parserInternals.c parser.c: moved encoding switching function
  to parserInternals.c
- configure.in, doc/Makefile.am libxml.spec.in: released 2.2.3
Daniel
2000-09-17 16:00:22 +00:00
Daniel Veillard
a2c6da94f8 For Havoc: - HTMLparser.c parser.c: set ctxt->errNo before calling the
For Havoc:
- HTMLparser.c parser.c: set ctxt->errNo before calling the error handlers
Daniel
2000-09-16 18:15:00 +00:00