1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-10-28 14:55:25 +03:00
Commit Graph

163 Commits

Author SHA1 Message Date
Daniel Veillard
652327a727 Adding a configure option to remove tree manipulation code which is not
* configure.in entities.c tree.c valid.c xmllint.c
  include/libxml/tree.h include/libxml/xmlversion.h.in:
  Adding a configure option to remove tree manipulation
  code which is not strictly needed by the parser.
Daniel
2003-09-29 18:02:38 +00:00
Daniel Veillard
a9cce9cd0d Okay this is scary but it is just adding a configure option to disable
* HTMLtree.c SAX2.c c14n.c catalog.c configure.in debugXML.c
  encoding.c entities.c nanoftp.c nanohttp.c parser.c relaxng.c
  testAutomata.c testC14N.c testHTML.c testRegexp.c testRelax.c
  testSchemas.c testXPath.c threads.c tree.c valid.c xmlIO.c
  xmlcatalog.c xmllint.c xmlmemory.c xmlreader.c xmlschemas.c
  example/gjobread.c include/libxml/HTMLtree.h include/libxml/c14n.h
  include/libxml/catalog.h include/libxml/debugXML.h
  include/libxml/entities.h include/libxml/nanohttp.h
  include/libxml/relaxng.h include/libxml/tree.h
  include/libxml/valid.h include/libxml/xmlIO.h
  include/libxml/xmlschemas.h include/libxml/xmlversion.h.in
  include/libxml/xpathInternals.h python/libxml.c:
  Okay this is scary but it is just adding a configure option
  to disable output, this touches most of the files.
Daniel
2003-09-29 13:20:24 +00:00
Daniel Veillard
4432df239b cleanup, creating a new legacy.c module, made sure make tests ran in
* Makefile.am: cleanup, creating a new legacy.c module,
  made sure make tests ran in reduced conditions
* SAX.c SAX2.c configure.in entities.c globals.c parser.c
  parserInternals.c tree.c valid.c xlink.c xmlIO.c xmlcatalog.c
  xmlmemory.c xpath.c xmlmemory.c include/libxml/xmlversion.h.in:
  increased the modularization, allow to configure out
  validation code and legacy code, added a configuration
  option --with-minimum compiling only the mandatory code
  which then shrink to 200KB.
Daniel
2003-09-28 18:58:27 +00:00
Daniel Veillard
62998c0ec7 starting to cleanup some of the problems exposed by the W3C/NIST
* SAX2.c parser.c valid.c: starting to cleanup some of the
  problems exposed by the W3C/NIST regression suite.
* result/ent7.sax result/xml2.sax: small fixes.
Daniel
2003-09-15 12:56:36 +00:00
William M. Brack
4e52f2f430 fixed bug 121759 - early declaration of attribute-list in external DTD
* valid.c: fixed bug 121759 - early declaration of
  attribute-list in external DTD
2003-09-14 18:07:39 +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
Daniel Veillard
2fdbd32d51 new dictionary module to keep a single instance of the names used by the
* dict.c include/libxml/dict.h Makefile.am include/libxml/Makefile.am:
  new dictionary module to keep a single instance of the names used
  by the parser
* DOCBparser.c HTMLparser.c parser.c parserInternals.c valid.c:
  switched all parsers to use the dictionary internally
* include/libxml/HTMLparser.h include/libxml/parser.h
  include/libxml/parserInternals.h include/libxml/valid.h:
  Some of the interfaces changed as a result to receive or return
  "const xmlChar *" instead of "xmlChar *", this is either
  insignificant from an user point of view or when the returning
  value changed, those function are really parser internal methods
  that no user code should really change
* doc/libxml2-api.xml doc/html/*: the API interface changed and
  the docs were regenerated
Daniel
2003-08-18 12:15:38 +00:00
Daniel Veillard
8d73bcb50f added a new API to split a QName without generating any memory allocation
* tree.c include/libxml/tree.h: added a new API to split a
  QName without generating any memory allocation
* valid.c: fixed another problem with namespaces on element
  in mixed content case
* python/tests/reader2.py: updated the testcase with
  Bjorn Reese fix to reader for unsignificant white space
* parser.c HTMLparser.c: cleanup.
Daniel
2003-08-04 01:06:15 +00:00
Daniel Veillard
7b68df974b fixed bug #118712 about mixed content, and namespaced element names. added
* valid.c: fixed bug #118712 about mixed content, and namespaced
  element names.
* test/valid/mixed_ns.xml result/valid/mixed_ns*: added a check
  in the regression tests
Daniel
2003-08-03 22:58:54 +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
a76fe5ca11 integrated the Out Of Memory test from Havoc Pennington #109368 a lot of
* Makefile.am testOOM.c testOOMlib.[ch] : integrated the Out Of
  Memory test from Havoc Pennington #109368
* SAX.c parser.c parserInternals.c tree.c uri.c valid.c
  xmlmemory.c xmlreader.c xmlregexp.c include/libxml/tree.h
  include/libxml/parser.h: a lot of memory allocation cleanups
  based on the results of the OOM testing
* check-relaxng-test-suite2.py: seems I forgot to commit the
  script.
Daniel
2003-04-24 16:06:47 +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
c00cda8c06 fixing bug #107129, removing excessive allocation and calls to *printf in
* tree.c valid.c xpath.c include/libxml/tree.h include/libxml/valid.h:
  fixing bug #107129, removing excessive allocation and calls
  to *printf in the code to build QName strings.
Daniel
2003-04-07 10:22:39 +00:00
Daniel Veillard
e637c4ad2e more work on XML Schemas datatypes and facets support. Currently only
* relaxng.c xmlschemastypes.c: more work on XML Schemas datatypes
  and facets support. Currently only schemas with binHex or
  base64 don't compile. A few error left in the test suite:
  found 1035 test instances: 919 success 23 failures
  most are gdate or gdateyear failing check, and a few cases where
  James clark tests results are strange.
* valid.c: allow to reuse the Notation checking routine without
  having a validation context.
* SAX.c: removed a #if 0
Daniel
2003-03-30 21:10:09 +00:00
Daniel Veillard
ef8dd7be29 fixing bug #108976 get the ID/REFs to reference the ID in the document
* parser.c: fixing bug #108976 get the ID/REFs to reference
  the ID in the document content and not in the entity copy
* SAX.c include/libxml/parser.h: more checking of the ID/REF
  stuff, better solution for #107208
* xmlregexp.c: removed a direct printf, dohhh
* xmlreader.c: fixed a bug on streaming validation of empty
  elements in entities
* result/VC/ElementValid8 test/VCM/v20.xml result/valid/xhtml1.xhtml:
  cleanup of the validation tests
* test/valid/id* test/valid/dtds/destfoo.ent result/valid/id*:
  added more ID/IDREF tests to the suite
Daniel
2003-03-23 12:02:56 +00:00
Daniel Veillard
580ced8ee2 fixed Red Hat bug #86118 use libxml2.spec instead of libxml.spec fixed
* configure.in Makefile.am: fixed Red Hat bug #86118 use libxml2.spec
  instead of libxml.spec
* relaxng.c: fixed some of the error reporting excessive
  verbosity
* catalog.c debugXML.c valid.c xmlreader.c xmlschemas.c xpath.c
  xmlschemastypes.c: removed some warnings from gcc
* doc/libxml2-api.xml: rebuilt
Daniel
2003-03-21 21:22:48 +00:00
Daniel Veillard
249d7bbee2 attempt to cope with ID/IDREF(S) declared both in the DTD and in the
* valid.c xmlschemastypes.c: attempt to cope with ID/IDREF(S)
  declared both in the DTD and in the Schemas <grin/>
* relaxng.c: more debug, added a big optimization for <mixed>
* test/relaxng/testsuite.xml: augmented the testsuite
* test/relaxng/ result/relaxng: added the RelaxNG spec and a
  DocBook example to the regression tests
Daniel
2003-03-19 21:02:29 +00:00
Daniel Veillard
c3da18a148 added Datatype ID and IDREF, usable from RelaxNG now need to add a new
* relaxng.c valid.c xmlschemastypes.c: added Datatype ID
  and IDREF, usable from RelaxNG now
* include/libxml/xmlschemastypes.h: need to add a new interface
  because the validation modifies the infoset
* test/relaxng/testsuite.xml: extended the testsuite
Daniel
2003-03-18 00:31:04 +00:00
Daniel Veillard
8339128106 fix bug #107764 , possibility of buffer overflow in xmlValidDebug() Daniel
* valid.c: fix bug #107764 , possibility of buffer overflow
  in xmlValidDebug()
Daniel
2003-03-06 21:37:30 +00:00
Daniel Veillard
f4be0180c3 fixes a DTD regexp generation problem. Daniel
* valid.c: fixes a DTD regexp generation problem.
Daniel
2003-02-24 19:54:33 +00:00
Daniel Veillard
ec498e1b33 do not run content model validation if the content is not determinist
* valid.c: do not run content model validation if the
  content is not determinist
Daniel
2003-02-05 11:01:50 +00:00
Daniel Veillard
0e298ad23f fixing #104096 to compile without regexps Daniel
* configure.in valid.c xmlreader.c python/libxml_wrap.h
  python/types.c: fixing #104096 to compile without regexps
Daniel
2003-02-04 16:14:33 +00:00
Daniel Veillard
57e79b302b fixing bug #103969 forgot to add an epsilon transition when building the
* valid.c: fixing bug #103969 forgot to add an epsilon transition
  when building the automata for elem*
Daniel
2003-02-04 15:33:12 +00:00
Daniel Veillard
336fc7d3c9 final touch running DTD validation on the XmlTextReader added a specific
* valid.c xmlreader.c: final touch running DTD validation
  on the XmlTextReader
* python/tests/Makefile.am python/tests/reader2.py: added a
  specific run based on the examples from test/valid/*.xml
Daniel
2002-12-27 19:37:04 +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
a9b66d00b5 new API building Python script, does the C parsing directly, generates a
* doc/apibuild.py doc/libxml2-api.xml doc/Makefile.am: new API
  building Python script, does the C parsing directly, generates
  a better API description including structure fieds defs and
  enums. Still a couple of bugs, but good enough for the python
  wrappers now.
* DOCBparser.c SAX.c nanohttp.c parser.c parserInternals.c tree.c
  valid.c xmlIO.c xmlmemory.c xmlreader.c xmlregexp.c xmlschemas.c
  include/libxml/schemasInternals.h include/libxml/tree.h: more
  cleanup based on the python analysis script reports.
* libxml.spec.in: make sure the API XML description is part of the
  devel package.
Daniel
2002-12-11 14:23:49 +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
1c732d2e10 code cleanup Daniel
* DOCBparser.c HTMLparser.c parser.c valid.c xpath.c: code cleanup
Daniel
2002-11-30 11:22:59 +00:00
Daniel Veillard
366a915f86 serious cleanup of the spec file and associated changes in the Makefiles.
* Makefile.am config.h.in libxml.spec.in doc/Makefile.am:
  serious cleanup of the spec file and associated changes
  in the Makefiles.
* valid.c: try to remove some warnings on x86_64
Daniel
2002-10-23 20:43:53 +00:00
Daniel Veillard
2fd8542ca0 make xmlValidateDocument emit a warning msg if there is no DTD, pointed by
* valid.c: make xmlValidateDocument emit a warning msg if there
  is no DTD, pointed by Christian Glahn
Daniel
2002-10-16 14:32:41 +00:00
Daniel Veillard
01992e0446 Joe Marcus Clarke reported a segfault on FBsd this was due to
* valid.c: Joe Marcus Clarke reported a segfault on FBsd
  this was due to uninitialized parts of the validation context
Daniel
2002-10-09 10:20:30 +00:00
Daniel Veillard
9dc1cf1d9d patch from Mark Vakoc to fix xmlNodeGetPath() Daniel
* tree.c: patch from Mark Vakoc to fix xmlNodeGetPath()
Daniel
2002-10-08 08:26:11 +00:00
Daniel Veillard
ceb09b956e typo/bug found by Christian Glahn Daniel
* valid.c: typo/bug found by Christian Glahn
Daniel
2002-10-04 11:46:37 +00:00
Daniel Veillard
90d68fbb35 fixed bug #92518 validation error were not covering namespace
* SAX.c valid.c include/libxml/valid.h: fixed bug #92518 validation
  error were not covering namespace declarations.
* result/valid/dia.xml test/valid/dia.xml: the test wasn't valid,
  it was missing the attribute declaration for the namespace
* result/VC/NS3: the fix now report breakages in that test
Daniel
2002-09-26 16:10:21 +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
23e73571f8 made configuring with regexps/automata/unicode the default but without
* Makefile.am configure.in include/libxml/xmlversion.h.in:
  made configuring with regexps/automata/unicode the default
  but without schemas ATM
* testRegexp.c valid.c xmlregexp.c include/libxml/xmlregexp.h:
  fixed the regexp based DTD validation performance and memory
  problem by switching to a compact form for determinist regexps
  and detecting the determinism property in the process. Seems
  as fast as the old DTD validation specific engine :-) despite
  the regexp built and compaction process.
Daniel
2002-09-19 19:56:43 +00:00
Daniel Veillard
5acfd6b58a determinism is debugged, new DTD checking code now works but
* valid.c: determinism is debugged, new DTD checking code now works
  but xmlFAComputesDeterminism takes far too much CPU and the whole
  set usues too much memory to be really usable as-is
Daniel
2002-09-18 16:29:02 +00:00
Daniel Veillard
a646cfdb14 small cleanup switched DTD validation to use only regexp when configured
* HTMLparser.c: small cleanup
* valid.c xmlregexp.c: switched DTD validation to use only regexp
  when configured with them. A bit of debugging around the determinism
  checks is still needed
Daniel
2002-09-17 21:50:03 +00:00
Daniel Veillard
84d70a462f incomplete steps for real/double support avoiding a compilation problem
* xmlschemastypes.c: incomplete steps for real/double support
* testAutomata.c include/libxml/xmlautomata.h
  include/libxml/xmlregexp.h: avoiding a compilation problem
* valid.c include/libxml/valid.h: starting the work toward using
  the regexps for actual DTD validation
Daniel
2002-09-16 10:51:38 +00:00
Daniel Veillard
aeb258a9ca cosmetic cleanup started integrating a DTD validation layer based on the
* hash.c: cosmetic cleanup
* valid.c include/libxml/tree.h include/libxml/valid.h: started
  integrating a DTD validation layer based on the regexps
Daniel
2002-09-13 14:48:12 +00:00
Daniel Veillard
76575769f3 working on better error reporting of validity errors, especially providing
* error.c valid.c: working on better error reporting of validity
  errors, especially providing an accurate context.
* result/valid/xlink.xml.err result/valid/rss.xml.err: better
  error reports in those cases.
Daniel
2002-09-05 14:21:15 +00:00
Daniel Veillard
b9cd8b4c3e try to provide file and line informations, not all messages are covered,
* valid.c: try to provide file and line informations, not all
  messages are covered, but it's a (good) start
Daniel
2002-09-05 10:58:49 +00:00
Daniel Veillard
58e44c9daf adding a new API for Christian Glahn: xmlParseBalancedChunkMemoryRecover
* parser.c include/libxml/parser.h: adding a new API for Christian
  Glahn: xmlParseBalancedChunkMemoryRecover
* valid.c: patch from Rick Jones for some grammar cleanup in
  validation messages
* result/VC/* result/valid/*: this slightly change some of the
  regression tests outputs
Daniel
2002-08-02 22:19:49 +00:00
Daniel Veillard
37f961db6e fixing bug #79331 in one path the lookup for ID attributes on a namespaced
* valid.c: fixing bug #79331 in one path the lookup for
  ID attributes on a namespaced node wasn't handled correctly :-\
Daniel
2002-07-06 17:53:56 +00:00
Daniel Veillard
fc57b41cb1 preparing 2.4.21 raised a too low limit rebuilt the docs Daniel
* configure.in include/libxml/xmlwin32version.h: preparing 2.4.21
* valid.c: raised a too low limit
* doc/*: rebuilt the docs
Daniel
2002-04-29 15:50:14 +00:00
Daniel Veillard
940492d429 first part of fixing #78729 Daniel
* valid.c: first part of fixing #78729
Daniel
2002-04-15 10:15:25 +00:00
Daniel Veillard
9b731d709e trying to fix #77441 Daniel
* configure.in: trying to fix #77441
Daniel
2002-04-14 12:56:08 +00:00
Daniel Veillard
6f4561a49c Never commit without running "make tests" :-( fix a couple of stupidities
* valid.c SAX.c: Never commit without running "make tests" :-(
  fix a couple of stupidities in the previous commit
* result/*: a few changes in some attribute order result of previous
  commit.
Daniel
2002-03-25 12:10:14 +00:00
Daniel Veillard
d85f4f437c fixed bug #76168, attribute redeclared in the internal subset should not
* valid.c SAX.c: fixed bug #76168, attribute redeclared in
  the internal subset should not raise duplicate ID errors,
  also there was a small bug in conjunction to namespace
  declarations defaulted and xml:xxx attributes DTD definitions.
Daniel
2002-03-25 10:48:46 +00:00