95 Commits

Author SHA1 Message Date
Daniel Veillard
e96a2a4bf0 adding repeated parsing and validating tests make the new DOM tree
* Makefile.am: adding repeated parsing and validating tests
* SAX2.c parser.c tree.c include/libxml/parser.h: make the new
  DOM tree building interfaces use the dictionary from the
  parsing context to build the element and attributes names
  as well as formatting spaces and short text nodes
* include/libxml/dict.h dict.c: added some reference counting
  for xmlDictPtr because they can be shared by documents and
  a parser context.
* xmlreader.c: a bit of cleanup, remove the specific tree freeing
  functions and use the standard ones now.
* xmllint.c: add --nodict
* python/libxml.c: fix a stupid bug so that ns() works on
  attribute nodes.
Daniel
2003-09-24 21:23:56 +00:00
Daniel Veillard
16fa96c5d0 adding a new set of API for parsing xmlReadDoc() xmlReadFile() ...
* parser.c include/libxml/parser.h: adding a new set of
  API for parsing xmlReadDoc() xmlReadFile() ... xmlReadIO()
  and xmlCtxtReadDoc() ... xmlCtxtReadIO(). That with
  a clear define of xmlParserOption, xmlCtxtUseOptions()
  should simplify custom parsing without being tempted to
  use global variables, and xmlCtxtReset() should allow reuse
  of a context for multiple parsing.
* xmllint.c: switched to use xmlReadXXX, allow options to
  be used simultaneously with less troubles.
* tree.c: simple warning removal
* doc/apibuild.py: small fix
* doc/libxml2-api.xml win32/libxml2.def.src: updated
Daniel
2003-09-23 21:50:54 +00:00
Daniel Veillard
5335055ef6 add streaming on memory regression tests, found bad bugs in the reader
* Makefile.am: add streaming on memory regression tests, found
  bad bugs in the reader interface
* xmlreader.c: fixing bugs w.r.t. very large names, and special
  condition in end of file.
* xmlIO.c tree.c include/libxml/tree.h include/libxml/xmlIO.h:
  adding immutable buffers, and parser input based on those,
  but this should not be used (yet) for general parsing
* parser.c: added a comment about using immutable buffers for
  general parsing.
* result/bigname.xml.rdr result/bigname2.xml.rdr: fixing the
  output of the regression tests
* xmllint.c: using the immutable buffers when streaming on
  mmaped file (--stream --memory)
Daniel
2003-09-18 13:35:51 +00:00
Daniel Veillard
8d8bf2c5f6 small fix from Rob Richards for input filename fixes for --repeat and
* parserInternals.c: small fix from Rob Richards for input filename
* xmllint.c: fixes for --repeat and --memory/--stream for speed tests
* xmlIO: adding a guard in one function
Daniel
2003-09-17 19:36:25 +00:00
Daniel Veillard
81514ba478 do string allocations in large pools, allowing to find if a string pertain
* dict.c include/libxml/dict.h: do string allocations in large
  pools, allowing to find if a string pertain to a dict quickly
* xmllint.c: fix --stream --repeat --timing
* Makefile.am: the testThreads run output should be seen.
Daniel
2003-09-16 23:17:26 +00:00
Daniel Veillard
877a7bd6a3 removing the broken pseudo SGML DocBook parser code. Daniel
* Makefile.am DOCBparser.c parserInternals.c testDocbook.c
  xmllint.c doc/xmllint.xml doc/xmllint.1: removing the
  broken pseudo SGML DocBook parser code.
Daniel
2003-09-13 00:16:32 +00:00
Daniel Veillard
07cb8226c0 Time to commit 3 days of work rewriting the parser internal,
fixing bugs and migrating to SAX2 interface by default. There
is some work letf TODO, like namespace validation and attributes
normalization (this break C14N right now)
* Makefile.am: fixed the test rules
* include/libxml/SAX2.h include/libxml/parser.h
  include/libxml/parserInternals.h SAX2.c parser.c
  parserInternals.c: changing the parser, migrating to SAX2,
  adding new interface to switch back to SAX1 or initialize a
  SAX block for v1 or v2. Most of the namespace work is done
  below SAX, as well as attribute defaulting
* globals.c: changed initialization of the default SAX handlers
* hash.c tree.c include/libxml/hash.h: added QName specific handling
* xmlIO.c: small fix
* xmllint.c testSAX.c: provide a --sax1 switch to test the old
  version code path
* result/p3p result/p3p.sax result/noent/p3p test/p3p: the new code
  pointed out a typo in a very old test namespace
Daniel
2003-09-10 10:51:05 +00:00
Igor Zlatkovic
19b8764833 fixed time inclusion for various compilers 2003-08-28 12:32:04 +00:00
Daniel Veillard
66f68e716b added option --dtdvalidfpi for Tobias Reif Daniel
* xmllint.c doc/xmllint.xml doc/xmllint.1: added option
  --dtdvalidfpi for Tobias Reif
Daniel
2003-08-18 16:39:51 +00:00
Daniel Veillard
1638a47a88 Applied patch from Mikhail Grushinskiy for mingw compiler on Windows.
* Makefile.am configure.in example/Makefile.am libxml.h nanoftp.c
  nanohttp.c xmllint.c: Applied patch from Mikhail Grushinskiy for
  mingw compiler on Windows.
Daniel
2003-08-14 01:23:25 +00:00
William M. Brack
779af00750 =Bug 118559 (continued) 2003-08-01 15:55:39 +00:00
William M. Brack
78637da0ea fixing bug 118559 2003-07-31 14:47:38 +00:00
Daniel Veillard
a37aab845c applied a patch from Gman for building docs applied a patch from Gary
* doc/*: applied a patch from Gman for building docs
* valid.c xmllint.c include/libxml/valid.h: applied a patch from
  Gary Pennington to provide an allocator for xmlValidCtxt
* xmlreader.c: applied patch from Jacek Konieczny fixing bug
  #113580 about data not being passed immediately.
Daniel
2003-06-09 09:10:36 +00:00
Daniel Veillard
e8b09e40f7 added --nonet option fixing #112803 by adding --nonet when calling
* xmllint.c doc/xmllint.xml: added --nonet option
* doc/Makefile.am: fixing #112803 by adding --nonet when calling
  xsltproc or xmllint
* doc/xmllint.xml doc/xmllint.1: also added --schema doc and
  rebuilt
* HTMLparser.c: cleaned up the HTML parser context build when
  using an URL
Daniel
2003-05-13 22:14:13 +00:00
Daniel Veillard
75bb3bbf25 added --schema option to run WXS schema validation tried to improve error
* xmllint.c: added --schema option to run WXS schema validation
* xmlschemas.c xmlschemastypes.c include/libxml/schemasInternals.h:
  tried to improve error reporting in the Schema code, some cleanup
  too.
Daniel
2003-05-12 15:25:56 +00:00
Daniel Veillard
37fc84d155 fixing bug #104081 with xs:all with an element holding minOccurs="0" added
* xmlschemas.c: fixing bug #104081 with xs:all with an element
  holding minOccurs="0"
* test/schemas/all_* result/schemas/all_*: added some regression
  tests for that bug
* xmllint.c xmlreader.c: patches from Joerg Schmitz-Linneweber and
  Garry Pennington to compile without schemas support.
Daniel
2003-05-09 19:38:15 +00:00
Daniel Veillard
a880b12475 a lot of performance work especially the speed of streaming through the
* globals.c libxml.h parser.c parserInternals.c tree.c xmllint.c
  xmlreader.c include/libxml/parser.h: a lot of performance work
  especially the speed of streaming through the reader and push
  interface. Some thread related optimizations. Nearly doubled the
  speed of parsing through the reader.
Daniel
2003-04-21 21:36:41 +00:00
Daniel Veillard
ce192eb8a6 more work on RelaxNG streaming validation trying to improve the subset
* relaxng.c xmllint.c: more work on RelaxNG streaming validation
  trying to improve the subset compiled, and more testing.
* doc/downloads.html doc/xml.html doc/xmlmem.html: some updates on the
  documentation
* test/relaxng/tutor11_1_3.xml: fixes the DTD path
* result/relaxng/*.err: fix some of the outputs
Daniel
2003-04-16 15:58:05 +00:00
Daniel Veillard
f4e5576f8f implemented streaming of RelaxNG (when possible) on top of the xmlReader
* relaxng.c xmlreader.c xmllint.c include/libxml/relaxng.h
  include/libxml/xmlreader.h: implemented streaming of
  RelaxNG (when possible) on top of the xmlReader interface,
  provided it as xmllint --stream --relaxng .rng .xml
  This seems to mostly work.
* Makefile.am: updated to test RelaxNG streaming
Daniel
2003-04-15 23:32:22 +00:00
Daniel Veillard
f6bad798cf make sure xmllint --stream and xmllint --stream --valid returns errors
* xmllint.c xmlreader.c include/libxml/xmlreader.h: make sure
  xmllint --stream and xmllint --stream --valid returns errors
  code appropriately
Daniel
2003-04-11 19:38:54 +00:00
Daniel Veillard
99737f5053 Fixed validation bug #108858 on namespace names using entities and
* SAX.c: Fixed validation bug #108858 on namespace names using
  entities and reported by Brent Hendricks
* xmllint.c: report xmlTextReaderHasValue() result in --stream
  --debug output.
Daniel
2003-03-22 14:55:50 +00:00
Aleksey Sanin
693c9bc11f use XMLLING_INDENT environment variable to control indentation for the xmllint "--format" option 2003-03-09 22:36:52 +00:00
Daniel Veillard
42f12e99d1 after and exchange with James Clark it appeared I had bug in URI parsing
* test/xsdtest/xsdtest.xml uri.c: after and exchange with James
  Clark it appeared I had bug in URI parsing code ...
* relaxng.c include/libxml/relaxng.h: completely revamped error
  reporting to not loose message from optional parts.
* xmllint.c: added timing for RNG validation steps
* result/relaxng/*: updated the result, all error messages changed
Daniel
2003-03-07 18:32:59 +00:00
Daniel Veillard
ef4d3bc36c I f...ed up the default configuration of schemas and --relaxng option
* configure.in xmllint.c: I f...ed up the default configuration
  of schemas and --relaxng option display in xmllint, pointed by
  Morus Walter.
* xlink.c: Sean Chittenden pointed a couple of errors in the XLink
  detection module, fixes bug #105374.
Daniel
2003-02-07 12:38:22 +00:00
Daniel Veillard
71531f3345 comments cleanups use xmllint for doing the RelaxNG tests preparing 2.5.2
* HTMLparser.c tree.c xmlIO.c: comments cleanups
* Makefile.am: use xmllint for doing the RelaxNG tests
* configure.in: preparing 2.5.2 made schemas support default to
  on instead of off
* relaxng.c: removed the verbosity
* xmllint.c: added --relaxng option
* python/generator.py python/libxml_wrap.h: prepared the integration
  of the new RelaxNG module and schemas
* result/relaxng/*: less verbose output
Daniel
2003-02-05 13:19:53 +00:00
Daniel Veillard
3be27518c9 applied patch for FreeBSD by Julio Merino, closing #104475 Daniel
* xmlcatalog.c xmllint.c: applied patch for FreeBSD by
  Julio Merino, closing #104475
Daniel
2003-01-26 19:49:04 +00:00
Daniel Veillard
56ada1ddbb another fix needed as pointed by Christophe Merlet for --stream --debug if
* xmllint.c: another fix needed as pointed by Christophe Merlet
  for --stream --debug if compiled without debug support.
Daniel
2003-01-07 11:17:25 +00:00
Daniel Veillard
8326e73bc1 fixed --with-threads compile fixed --without-debug compile cleanup add a
* globals.c: fixed --with-threads compile
* xmllint.c: fixed --without-debug compile
* include/libxml/globals.h: cleanup
* include/libxml/schemasInternals.h: add a missing include
Daniel
2003-01-07 00:19:07 +00:00
Daniel Veillard
8a1b1853fc applied patch from Lukas Schroeder for register callbacks modified patch
* tree.c : applied patch from Lukas Schroeder for register callbacks
* valid.c: modified patch from Lukas Schroeder to test
  register callbacks with --chkregister
Daniel
2003-01-05 22:37:17 +00:00
Daniel Veillard
e59494fa54 a bit of cleanup small fix more work on the XmlTextReader tutorial a few
* xmllint.c: a bit of cleanup
* xmlreader.c: small fix
* doc/xmlreader.html: more work on the XmlTextReader tutorial
* python/libxml.py: a few fixes pointed out by Hannu Krosing
Daniel
2003-01-04 16:35:29 +00:00
Daniel Veillard
7704fb1d9f added the --stream flag to use the TextReader API small performance tweak
* xmllint.c: added the --stream flag to use the TextReader API
* xmlreader.c: small performance tweak
Daniel
2003-01-03 16:19:51 +00:00
Daniel Veillard
ea7751d53b working on DTD validation on top of xml reader interfaces. Allows to
* testReader.c xmlreader.c valid.c include/libxml/tree.h
  include/libxml/valid.h include/libxml/xmlreader.h: working on
  DTD validation on top of xml reader interfaces. Allows to
  validate arbitrary large instances. This required some extensions
  to the valid module interface and augmenting the size of xmlID
  and xmlRef structs a bit.
* uri.c xmlregexp.c: simple cleanup.
Daniel
2002-12-20 00:16:24 +00:00
Daniel Veillard
01c13b5be2 code cleanup, especially the function comments. fixed a small bug when
* DOCBparser.c HTMLparser.c c14n.c debugXML.c encoding.c hash.c
  nanoftp.c nanohttp.c parser.c parserInternals.c testC14N.c
  testDocbook.c threads.c tree.c valid.c xmlIO.c xmllint.c xmlmemory.c
  xmlreader.c xmlregexp.c xmlschemas.c xmlschemastypes.c xpath.c:
  code cleanup, especially the function comments.
* tree.c: fixed a small bug when freeing nodes which are XInclude ones.
Daniel
2002-12-10 15:19:08 +00:00
Daniel Veillard
118aed78f3 fixed the data callback on transition functionality which was broken when
* xmlregexp.c: fixed the data callback on transition functionality
  which was broken when using the compact form
* result/schemas/*: updated the results, less verbose, all tests
  pass like before
* DOCBparser.c testAutomata.c testC14N.c testSchemas.c testThreads.c
  testXPath.c valid.c xinclude.c xmllint.c xmlregexp.c xmlschemas.c
  xmlschemastypes.c xpath.c python/libxml.c: removed a bunch of
  annoying warnings
* xpath.c: try to provide better error report when possible
Daniel
2002-09-24 14:13:13 +00:00
Daniel Veillard
0f04f8ed61 fixed another stupid bug in xmlGetNodePath() --version now report the
* tree.c: fixed another stupid bug in xmlGetNodePath()
* xmllint.c: --version now report the options compiled in
Daniel
2002-09-17 23:04:40 +00:00
Daniel Veillard
19aa70245a memory leak reporting was broken after a change of the preprocessor symbol
* xmllint.c: memory leak reporting was broken after a change
  of the preprocessor symbol used to activate it.
Daniel
2002-09-05 11:14:19 +00:00
Aleksey Sanin
49cc97565f replaced sprintf() with snprintf() to prevent possible buffer overflow
* DOCBparser.c HTMLparser.c debugXML.c encoding.c
nanoftp.c nanohttp.c parser.c tree.c uri.c xmlIO.c
xmllint.c xpath.c: replaced sprintf() with snprintf()
to prevent possible buffer overflow (the bug was pointed
out by Anju Premachandran)
2002-06-14 17:07:10 +00:00
Daniel Veillard
6e4f1c0e69 applied a fix from Anthony Jones for -o /--output Daniel
* xmllint.c: applied a fix from Anthony Jones for -o /--output
Daniel
2002-04-09 09:55:20 +00:00
Daniel Veillard
90bc371716 owen pointed out a problem with the ftime fix, gettimeofday() was not
* configure.in xmllint.c: owen pointed out a problem with the
ftime fix, gettimeofday() was not detected by configure and
the ftime header wasn't included, dohhh
Daniel
2002-03-07 15:12:58 +00:00
Daniel Veillard
8c1ae606be trying to fix #71457 for timing precision when gettimeofday() is not
* configure.in xmllint.c: trying to fix #71457 for timing
  precision when gettimeofday() is not availble but ftime() is
Daniel
2002-03-07 11:21:00 +00:00
Daniel Veillard
9730051f83 close #72663 and #72658, don't memdump unless compiled explicitely with
* xmllint.c: close #72663 and #72658, don't memdump unless compiled
  explicitely with memory debugging switched on
Daniel
2002-03-01 09:13:41 +00:00
Daniel Veillard
f216d461eb fixing #68748 Daniel
* xmllint.c win32/win32config.h: fixing #68748
Daniel
2002-02-08 13:44:24 +00:00
Daniel Veillard
a42f25f939 added pointers to the web pages in the usage() Daniel
* xmllint.c: added pointers to the web pages in the usage()
Daniel
2002-01-25 14:15:40 +00:00
Daniel Veillard
845cce4cf1 Anthony Jones pointed a bug in xmlCopyEntity() Daniel
* entities.c: Anthony Jones pointed a bug in xmlCopyEntity()
Daniel
2002-01-09 11:51:37 +00:00
Daniel Veillard
3c5ed91ac3 Applied following patches from Robert Collins and make sure IN_LIBXML is
* libxml.h: Applied following patches from Robert Collins
  and make sure IN_LIBXML is defined when compiling it
-------
* include/libxml/xmlversion.h.in (LIBXML_DLL_IMPORT): Use on Cygwin
  as well as Visual C.
* parser.c (XML_DIR_SEP): Don't use '\\' for Cygwin.
* parserInternals.c (XML_DIR_SEP): Don't use '\\' for Cygwin.
* strio.c (PLATFORM_UNIX): Define for Cygwin.
* triodef.h (TRIO_PLATFORM_UNIX): Define for Cygwin.
* xmlIO.c (xmlFileOpen): Use unix behaviour for Cygwin.
  Use binary mode opens for Cygwin (xmlFileOpenW xmlParserGetDirectory
  xmlSysIDExists xmlNoNetExists).
* xmllint.c: Don't include winsock2.h for Cygwin.
Daniel
2002-01-08 10:36:16 +00:00
Daniel Veillard
cbaf399537 applied 42 documentation patches from Charlie Bozeman. Regenerated the
* *.c include/libxml/*.h doc/html/*: applied 42 documentation
  patches from Charlie Bozeman. Regenerated the HTML docs.
Daniel
2001-12-31 16:16:02 +00:00
Daniel Veillard
1df3dfc2f7 applied Justin Fletcher patch for --output or -o daniel
* xmllint.c: applied Justin Fletcher patch for --output or -o
daniel
2001-12-18 11:14:16 +00:00
Daniel Veillard
01db67c84f applied Justin Fletcher generic timing patch similar to the one already
* xmllint.c: applied Justin Fletcher generic timing patch
  similar to the one already applied to xsltproc.
Daniel
2001-12-18 07:09:59 +00:00
Daniel Veillard
29e4399d11 fix the xmlStrdup() used in the previous patch. added --dropdtd fixed
* valid.c: fix the xmlStrdup() used in the previous patch.
* valid.c: added --dropdtd
* tree.c: fixed xmlUnlinkNode so it also removes the references
  from the document if the node is a DTD
Daniel
2001-12-13 22:21:58 +00:00
Daniel Veillard
9ae4b7afa9 removed another strdup() removed the HP/UX entry Daniel
* xmllint.c: removed another strdup()
* doc/FAQ: removed the HP/UX entry
Daniel
2001-12-13 14:24:09 +00:00