1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-20 03:52:25 +03:00
Commit Graph

246 Commits

Author SHA1 Message Date
Daniel Veillard
1731d6ae0a - xpath.c: trying to get 52979 solved
- tree.c result/ result/noent/: trying to get 52712 solved, this
  also made me clean up the fact that XML output in general should
  not add formating blanks by default, this changed the output of
  a few tests
Daniel
2001-04-10 16:38:06 +00:00
Daniel Veillard
73639a73c5 - xpath.c: Bill Brack pointer an error in detecting a null nodeset
Daniel
2001-04-10 14:31:39 +00:00
Daniel Veillard
911f49a0a0 - xpath.c: checking for null pointer generated by new code
Daniel
2001-04-07 15:39:35 +00:00
Daniel Veillard
d8df6c0e8c Fixes in the plane: - xpath.c: fixed a [] evaluation problem reported -
Fixes in the plane:
- xpath.c: fixed a [] evaluation problem reported
- test/XPath/tests/simpleaddr: extended test
- result/XPath/simpleaddr: updated result
Daniel
2001-04-05 16:54:14 +00:00
Daniel Veillard
4dd9346df2 Small fixes: - xpath.c: fixed a memleak when comparing nodesets -
Small fixes:
- xpath.c: fixed a memleak when comparing nodesets
- HTMLtree.c: don't invent the HTML doctype if not available (XSLT)
- tree.c: added a TODO
Daniel
2001-04-02 15:16:19 +00:00
Daniel Veillard
92ad210417 Spring cleanup ...: - configure.in Makefile.am config.h.in
Spring cleanup ...:
- configure.in Makefile.am config.h.in xmlversion.h.in: detect if
  we need string functions
- trio.[ch] strio.[ch]: embedded the Trio-0.23 string functions
  to be able to use them where needed. Applied some changes
  to reduce name linking pollution and compile in only what's
  needed.
- HTMLtree.c debugXML.c entities.c error.c nanoftp.c valid.c
  xlink.c xmlversion.h.in xpath.c: got rid of the #ifdef
  for the string manipulation functions
- xmlmemory.[ch]: removed DEBUG_MEMORY_FREED and added it automatically
  to the free() function of xmlmemory.c
- entities.c HTMLtree.c parserInternals.c tree.c uri.c valid.c
  xinclude.c xmlIO.c xpath.c xpointer.c: removed the MEM_CLEANUP
  usage.
Daniel
2001-03-27 12:47:33 +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
fbf8a2d0c8 More cleanups, XSLT induced, start looking okay:
- xpath.[ch]: still a lot of cleanup based on XSLT, added
  xmlXPathConvert{String,Number,Boolean} to be able to make
  type casts without a context stack, fixed some implementation
  problems related to the absence of context at parse-time,
  added xmlXPathEvalPredicate() and xmlXPathFreeCompExpr()
  in the public API too
- xpointer.c xpathInternals.h: we need to know at parse time
  whether we are compiling an XPointer
Daniel
2001-03-19 15:58:54 +00:00
Daniel Veillard
afcbe1cb12 Did the boring cleanup job now that stuff works okay again:
- xpath.[ch] xpointer.c: restaured the Binary and API compatibility
  cleaned up the parser internals, refactored XPath code, added
  new compilation based APIs and cleanly separated public and
  private APIs.
Daniel
2001-03-19 10:57:13 +00:00
Daniel Veillard
9e7160d45a Completely changed the way the XPath evaluation is done, likely to break
stuff like libxslt right now:
- Makefile.am: detect XPath memleaks in regreson tests
- error.c: fixed and error w.r.t. error reporting still using
  stderr
- hash.c: added new line at end of file
- tree.h: minor cleanup
- xpath.[ch] xpointer.[ch]: Major changes ! Separated XPath
  expression parsing from evaluation, resulted in a number of
  changes internally, and in XPointer. Likely to break stuff
  using xpathInternals.h but should remain binary compatible,
  new interfaces will be added.
Daniel
2001-03-18 23:17:47 +00:00
Daniel Veillard
68d7b67ada - xpath.c: ptittom found a small bug in UnaryExpr
Daniel
2001-03-12 18:22:04 +00:00
Daniel Veillard
4af6b6e801 - xpath.c: Bjorn found the error related to strictness of comparison.
Daniel
2001-03-06 08:33:38 +00:00
Bjorn Reese
e1dc0114ac xmlXPathNodeCollectAndTest fixed (by William Brack)
xmlXPathFormatNumber added
xmlXPathNodeSetSort changed
2001-03-03 12:09:03 +00:00
Daniel Veillard
77851710ab Minimal changes for XSLT node-set() extra function:
- tree.c: minor doc fix
- xpath.c: deallocation issues when a result tree has been
  converted to a node-set
Daniel
2001-02-27 21:54:07 +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
Daniel Veillard
bbd51d512b - xpath.c: found a memleak and fixed a nasty bug
Daniel
2001-02-24 03:07:03 +00:00
Daniel Veillard
f7cd48176c - xmllint.[c1] : added return code errors for xmllint
- xpath.c: specific debug dump function for result value trees
Daniel
2001-02-23 18:44:52 +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
4b637079f2 - xpath.c: finally implemented xmlXPathCompareNodeSets
- test/XPath/expr/floats results/XPath/expr/floats: added
  a test for float expressions
Daniel
2001-02-21 21:52:55 +00:00
Daniel Veillard
f714aa3262 - tree.c: fixed xmlNodeGetContent, it was not recursing on child
- parserInternals.[ch]: trying to speed up parsing
- xpath.c : speeded up node set equality op
Daniel
2001-02-21 03:07:44 +00:00
Daniel Veillard
88f8f6f374 - xpath.c: fixed "*" (unbelievable !) and a couple of warnings
Daniel
2001-02-19 10:00:53 +00:00
Bjorn Reese
081543fd01 xmlXPathNodeSetSort now uses Shell's sorting algorithm
Fixed whitespace handling in xmlXPathStringEvalNumber
2001-02-18 16:49:41 +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
f23e0095df - xpath.c: xmlXPathEqualNodeSetFloat the arg is really a double now
Daniel
2001-02-16 13:21:29 +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
f41fbbf6a9 testing and bug fixing related to XSLT:
- xpath.c result/XPath/tests/chaptersprefol: bugfixes on order and
  on predicate
- HTMLparser.[ch] HTMLtree.c result/HTML/doc3.htm.err
  result/HTML/doc3.htm.sax result/HTML/wired.html: sometimes one
  really want to have tags closed on output even if we accept
  unclosed ones on input
Daniel
2001-02-13 17:05:35 +00:00
Daniel Veillard
5dd2f0a6cd Well the bugs I was chasing on XSLT were ... in libxml ... grrrr:
- xpath.c: ouch don't free NULL, rare case fixed
- tree.c: don't coalesce text nodes if they don't have the
  same behaviour wrt escaping on output
Daniel
2001-02-12 17:36:05 +00:00
Daniel Veillard
d12b69ddf5 bit of testing, a bit of fixing, a bit of testing, a bit of fixing ...
* xpath.c: small fixup
* SAX.c: don't warn on empty namespaces.
Daniel
2001-02-11 20:17:31 +00:00
Daniel Veillard
2c257ec1ee How to remove 20% of XSLT execution time in less than 20 lines of code
* xpath.c: started profiling XSLT, added xmlXPathNodeSetAddUnique()
  which removes a time consuming check of xmlXPathNodeSetAdd()
  and use it in places where we are sure to not break unicity
Daniel
2001-02-06 13:29:07 +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
2c833b6678 Dohhhhhh: - xmliO.c: Harry Blundell pointed out that xmlCheckFilename
Dohhhhhh:
- xmliO.c: Harry Blundell pointed out that xmlCheckFilename
  xmlCheckFilename should not be called from xmlFileOpenW
  and xmlGzfileOpenW
Daniel
2001-02-03 08:52:06 +00:00
Daniel Veillard
e99a476722 fixed a number of problems in XPATH_XSLT_TREE processing Daniel
* xpath.c: fixed a number of problems in XPATH_XSLT_TREE processing
Daniel
2001-02-01 04:34:35 +00:00
Daniel Veillard
2b325a0bfe XSLT debug side effect:
* xpath.c: fixed mod operator
Daniel
2001-01-31 20:46:31 +00:00
Daniel Veillard
2f913b7470 Fixes inherited from XSLT testing:
- xpath.c result/XPath/tests/chaptersbase
  result/XPath/tests/simplebase: fixed XPath node()
- tree.c: small fix in xmlNewNs()
- Makefile.am: removed extraneous xml2Conf.sh rule
Daniel
2001-01-31 13:23:49 +00:00
Daniel Veillard
f17e09bcc8 Incorporated patches, some cleanup:
- xpath.[ch] xpointer.c: added xmlXPathCmpNodes, changed
  xmlXPtrCmpPoints to use it.
- propagated the following patch from Alejandro Forero
- include/win32config.h xmlIO.c: applied further suggestions
  from Igor Zlatkovic <igorz@dialup.nacamar.de> and cleanup
- example/gjobread.c: fixed warnings, now that it builds
Daniel
2001-01-25 13:55:35 +00:00
Daniel Veillard
8a7642fd88 Memory issues on the new type:
- xpath.c: when copying a XSLT tree object the tree need to be copied
  too, and deallocation need to occur the same way.
Daniel
2001-01-22 10:45:16 +00:00
Daniel Veillard
e456646d5d More work, bugfixes for problems detected by XSLT, and addition of
a new specific type for XSLT:
- xpathInternals.h xpath.[ch] debugXML.c: added the XPATH_XSLT_TREE
  type correponding to an XSLT result tree fragment. Share most
  of the data format with node set, as well as operators.
- HTMLtree.c: added a newline at the end of the doctype output
  whe this one is not present initially.
- tree.c: make sure taht the parent and doc pointers are properly
  set when copying attributes (lists).
Daniel
2001-01-22 09:58:39 +00:00
Daniel Veillard
5a2b697af8 - xpath.c: seems I finally killed that ugly path evaluation
context bug (tagged 9999 in case is is wrong)
Daniel
2001-01-20 21:15:50 +00:00
Daniel Veillard
8f4d97579a added xmlXPathRegisterVariableLookup() for XSLT Daniel
* xpath.[ch] xpathInternals.h: added xmlXPathRegisterVariableLookup() for XSLT
Daniel
2001-01-19 05:32:34 +00:00
Daniel Veillard
f6eea27b38 Bugfixes, extesion and optimizations for XSLT:
- xpath.c: removed an error found by XSLT usage
- tree.c parserInternals.h: use a predefined static string
  for text and comment nodes, avoid freeing them in xmlFreeNode,
  exported the string name in parserInternals.h and added
  another value to disable encoding at output (for XSLT),
  gain memory, time.
Daniel
2001-01-18 12:17:12 +00:00
Daniel Veillard
389e6b7227 Patches bug fixes and on new function:
- xpath.c: fixed the comaprision of values and nodelists,
  need to compare nodelist still ...
- debugXML.c: avoided a possible core dump
- HTMLparser.c: cleanup
- nanohttp.c: contributed fix.
- tree.c: fixes in properties handling added xmlSetNsProp
  needed by libxslt
- xpathInternals.h: exported xmlXPathBooleanFunction, added a
  comment
- TODO: updated
Daniel
2001-01-15 19:41:13 +00:00
Daniel Veillard
081089848c - testXPath.c xpath.c: fixing the XPath union expressions problem
reported by  Martin Vidner <martin@artax.karlin.mff.cuni.cz>
Daniel
2001-01-03 15:24:58 +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
f62ceffb7e General fixes, XPointer improvements:
- HTMLparser.c: some fixes on auto-open of html/head/body
- encoding.c: fixed a compilation error on some gcc env
- xpath.c xpointer.[ch] xpathInternals.h: improved the
  XPointer implementation
- test/XPath/xptr/strpoint test/XPath/xptr/strrange3: added
  related XPointer tests and associated results
Daniel
2000-11-24 23:36:01 +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
9e8bfae59a XInclude and other stuff while travelling. Contributed patches:
- tree.[ch] xinclude.[ch] xmllint.c configure.in valid.c
  debugXML.c xmlversion.h.in: Started adding XInclude support,
  this is a new xmllint option
- tree.c xpath.c: applied TOM patches for XPath
- xpointer.c: fixed a couple of errors.
- uri.c: added an escaping function needed for xinclude
- testXPath.c hash.c HTMLtree.c: minor cleanups raised by
  new warning from RH70 gcc's version
Daniel
2000-11-06 16:43:11 +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
a5db68a39b - xpath.c xpathInternals.h: applied a large cleaning patch
from TOM <ptittom@free.fr>, it also add namespace support
  for function and variables registration.
Daniel
2000-10-29 18:06:06 +00:00