1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-03-10 08:58:16 +03:00

150 Commits

Author SHA1 Message Date
Daniel Veillard
7db3773a5c store the line numbder in element->content, may break some software, need
* DOCBparser.c HTMLparser.c HTMLtree.c SAX.c debugXML.c parser.c
  tree.c xpointer.c: store the line numbder in element->content,
  may break some software, need a configuration mechanism
Daniel
2001-07-12 01:20:08 +00:00
Daniel Veillard
7583a59b5a trying to fix #56948, this led to an XPath fix, improvements of SAX
* SAX.c parser.c testXPath.c xpath.c: trying to fix #56948, this
  led to an XPath fix, improvements of SAX initialization, and
  an added option --nocdata to testXPath
Daniel
2001-07-08 13:15:55 +00:00
Daniel Veillard
62f313ba0c - SAX.c entities.c parser.c: changed completely the way entities
are handled when running the parser in entity substitution mode.
  This fixes a bug reported by Stephan Kulow and nearly divides
  by 3 the amount of memory required by libxslt to load and process
  DocBook TDG.
Daniel
2001-07-04 19:49:14 +00:00
Daniel Veillard
770447311e xmlStrstr args are both const small cleanup reformated, fixed problems if
* include/libxml/parser.h parser.c: xmlStrstr args are both const
* xpath.c: small cleanup
* xmlGetNsList: reformated, fixed problems if used on Entities
Daniel
2001-06-29 21:31:07 +00:00
Daniel Veillard
0e4cd17b61 - parser.c: fixed UTF8 BOM support in push mode
- test/utf8bom.xml result/utf8bom.xml result/noent/utf8bom.xml:
  added a specific testcase
Daniel
2001-06-28 12:13:56 +00:00
Daniel Veillard
1164810d66 - configure.in doc/xml.html include/libxml/xmlwin32version.h:
release of 2.3.12
- parser.c: make an error message if unknow entities in all cases
Daniel
2001-06-26 16:08:24 +00:00
Daniel Veillard
c5d64345cf Summer's cleanup, a really big one:
* AUTHORS: added William and Bjorn
* include/libxml/*.h *.c README doc/*.html etc.: changed old email to
  daniel@veillard.com hopefully I won't have to do this again
* doc/Makefile.am doc/html/*.html: cleanup makefile, checked that
  docs can be rebuilt cleanly now
* include/libxml/xml*version.h*: removed include/libxml/xmlversion.h
  from CVs it's generated, added include/libxml/xmlwin32version.h
  also generated but which should change far less frequently.
* catalog.c nanoftp.c: made sure to include libxml.h not
  libxml/xmlversion.h directly
* include/libxml/*.h: include xmlwin32version.h instead of xmlversion.h
  when compiling on WIN32 and MSC
Daniel
2001-06-24 12:13:24 +00:00
Daniel Veillard
87a764ed85 - parser.c parserInternals.c encoding.c: Since Notepad on Win2k
outputs a BOM in UTF8, an errata has been issued to avoid the
  problem, that was the most reasonable solution... Add support
  for a leading UTF8 BOM in entities.
Daniel
2001-06-20 17:41:10 +00:00
Daniel Veillard
a9142e74c5 - valid.c tree.c parserInternals.c parser.c: Stephan Kulow
provided another failing case found in KDE, the way the
  ctxt->vctxt.nodeTab was allocated and freed changed over
  time but it wasn't completely cleaned up. This should fix it.
Daniel
2001-06-19 11:07:54 +00:00
Daniel Veillard
3ed27bdef0 - parser.c: Stephan Kulow also raised the fact that line number
could get miscounted making debug harder, fixed the problem
  in xmlParseCharData()
Daniel
2001-06-17 17:58:17 +00:00
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