190 Commits

Author SHA1 Message Date
Daniel Veillard
67fee94e53 - tree.[ch]: added xmlSaveFormatFile interface for saving
and indenting a file.
Daniel
2001-04-26 18:59:03 +00:00
Daniel Veillard
7533cc8fda Good old cycle: new release, new bug reports, new fixes ...
- HTMLtree.c HTMLtree.h : closing #53402 i.e. output of
  PIs when using xsl:output
- valid.c: closing #53537 some case generate segfaults if there
  is validity errors
Daniel
2001-04-24 15:52:00 +00:00
Daniel Veillard
eae522a0d8 Time to work on helping the Gnome Doc project, first step is reintegrating
the SGML DocBook parser in libxml2 distrib:
- DOCBparser.c DOCBparser.h testDocbook.c configure.in Makefile.am
  xmlversion.h.in: started (re)integrating the DocBook SGML parser.
- SAX.[ch]: cleanup and updates for DocBook
- debugXML.c parser.h tree.[ch] valid.c xpath.c: small macro or
  ex SGML identifier changes
- valid.c: removed a static unused function.
Daniel
2001-04-23 13:41:34 +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
ceacdd964d - entities.h: andrew@ugh.net.au detected a double declaration
Daniel
2001-04-18 15:10:35 +00:00
Daniel Veillard
a10efa8aa6 - debugXML.c hash.c tree.h valid.c : some changes related to
the validation suport to improve speed with DocBook
- result/VC/OneID2 result/VC/OneID3 : this slightly changes
  the way validation errors get reported
Daniel
2001-04-18 13:09:01 +00:00
Daniel Veillard
2d90de4b16 - xmlversion.h.in win32config.h win32/libxml2/*: applied
Igor Zlatkovic patches for MSC compilation and added his
  updates
Daniel
2001-04-16 17:46:18 +00:00
Daniel Veillard
e043ee17c2 - xpath.c: fixed xmlXPathNodeCollectAndTest() to do proper
prefix lookup.
- parserInternals.c: fixed the bug reported by Morus Walter
  due to an off by one typo in xmlStringCurrentChar()
Daniel
2001-04-16 14:08:07 +00:00
Daniel Veillard
82daa81a8b - tree.[ch] : added xmlDocCopyNode for gdome2 support
Daniel
2001-04-12 08:55:36 +00:00
Daniel Veillard
67a21303b8 - tree.h: include xmlmemory.h this seems to havoid a nasty glibc
bug where the linktime verions of free() won't work ...
Daniel
2001-04-11 14:39:16 +00:00
Daniel Veillard
27b5528986 - config.h.in configure.in xmlversion.h.in: added ansidecl.h test
Daniel
2001-04-11 12:22:25 +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
c86a4fae4a - HTMLparser.c HTMLtree.c SAX.c debugXML.c error.c parserInternals.c
testHTML.c testSAX.c tree.c valid.c xmlIO.c xmlmemory.c
  xmlversion.h.in xpointer.c: of course the way I defined
  UNUSED breaks on old gcc version. Try to be smart and
  also define it directly in xmlversion.h
- configure.in: removed -ansi flag from the pedantic set
Daniel
2001-03-26 16:28:29 +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
d007d6c53e Ooops: - xpath.h: the comp field must be added at the end to avoid killing
Ooops:
- xpath.h: the comp field must be added at the end to avoid
  killing binary compat.
Daniel
2001-03-19 00:01:07 +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
e356c28006 Preparing for 2.3.4 release:
- configure.in: bumped to 2.3.4
- error.c: fixed bug #51860
- tree.c: fixed bug #51861
- valid.c: cleanup, more debug, failed to fix one bug crap ...
- tree.[ch] : added xmlDefaultBufferSize
- nanoftp.c: typo in function name header block
- doc/xml.html : updated, added link to XML::LibXSLT
- doc/html/* : rebuilt the docs
Daniel
2001-03-10 12:32:04 +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
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
e0c3a62c91 - Makefile.am valid.c list.[ch]: Gary Pennington provided a
better handling of ID/IDREF and the list modules associated
- configure.in: small CFLAGS cleanup
Daniel
2001-02-19 18:05:20 +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
6e6a6cc6e7 couple of fixes before release:
- xpathInternals.h: exported a few axis functions
- doc/xml.html: updated the doc
Daniel
2001-02-15 15:55:44 +00:00
Daniel Veillard
d194dd2892 - hash.[ch]: added Paolo Casarini patch to provide Delete from
hash functionnalities.
- doc/html/* : rebuild the doc
Daniel
2001-02-14 10:37:43 +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
1f83d39fd3 - hash.[ch]: added a first version of xmlHashSize()
- valid.c: another bug fix from Gary Pennington
Daniel
2001-02-08 09:37:42 +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
9308666371 - xpath.h: added a hook in the context structure allowing to
link to extra support, needed for XSLT
Daniel
2001-01-25 18:13:04 +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
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
701c736b96 Just mad a function public:
- htmlTree.[ch] xmlIO.h: exported htmlDocContentDumpOutput
Daniel
2001-01-21 09:48:59 +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
4a6845df29 Restarted hacking :-) :
- xmllint.c: Made is so if the file name is "-" is will read form
  standard input. Sven Heinicke  <sven@zen.org>
- tree.c: fixed a problem when growing buffer
- tree.h: fixed the comment of the node types following andersca
  comment
- TODO: updated
Daniel
2001-01-03 13:32:39 +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
58770e762e Fixes/enhancements: - tree.[ch] xmlIO.c: added xmlDocDumpMemoryEnc() from
Fixes/enhancements:
- tree.[ch] xmlIO.c: added xmlDocDumpMemoryEnc() from John Kroll
- error.c: applied fix suggested by "Leo Davidson" <leo@ox.compsoc.net>
Daniel
2000-11-25 00:48:47 +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
748e45d780 Couples of HTML and Windows fixes:
- HTMLparser.c: fixed handling of broken charrefs
- xmlmemory.h libxml2.dsp include/win32config.h: reporting Windows
  patches
Daniel
2000-11-17 16:36:08 +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
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
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
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