1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-26 00:37:43 +03:00
Commit Graph

255 Commits

Author SHA1 Message Date
Daniel Veillard
316a5c3989 added xmlHashCreateDict where the hash reuses the dictionnary for internal
* hash.c include/libxml/hash.h: added xmlHashCreateDict where
  the hash reuses the dictionnary for internal strings
* entities.c valid.c parser.c: reuse that new API, leads to a decent
  speedup when parsing for example DocBook documents.
Daniel
2005-01-23 22:56:39 +00:00
William M. Brack
e4d526fe48 changed xmlErrValidWarning to use ctxt->warning instead of ctxt->error for
* valid.c: changed xmlErrValidWarning to use ctxt->warning
  instead of ctxt->error for its reports (bug #160662)
2004-12-18 00:01:21 +00:00
Daniel Veillard
91b955c1af fixed ID deallocation problem based on patch from Steve Shepard fixes bug
* valid.c: fixed ID deallocation problem based on patch from
  Steve Shepard fixes bug #160893
* xmlmemory.c: improving comment.
* testapi.c: new test for xmlDictExists() is generated.
Daniel
2004-12-10 10:26:42 +00:00
Daniel Veillard
4259532303 more types, more coverage more problems fixed Daniel
* gentest.py testapi.c: more types, more coverage
* parser.c parserInternals.c relaxng.c valid.c xmlIO.c
  xmlschemastypes.c: more problems fixed
Daniel
2004-11-08 10:52:06 +00:00
Daniel Veillard
ce682bc24b autogenerate a minimal NULL value sequence for unknown pointer types This
* gentest.py testapi.c: autogenerate a minimal NULL value sequence
  for unknown pointer types
* HTMLparser.c SAX2.c chvalid.c encoding.c entities.c parser.c
  parserInternals.c relaxng.c valid.c xmlIO.c xmlreader.c
  xmlsave.c xmlschemas.c xmlschemastypes.c xmlstring.c xpath.c
  xpointer.c: This uncovered an impressive amount of entry points
  not checking for NULL pointers when they ought to, closing all
  the open gaps.
Daniel
2004-11-05 17:22:25 +00:00
Daniel Veillard
ce244ad595 fixed the way the generator works, extended the testing, especially with
* gentest.py testapi.c: fixed the way the generator works,
  extended the testing, especially with more real trees and nodes.
* HTMLtree.c tree.c valid.c xinclude.c xmlIO.c xmlsave.c: a bunch
  of real problems found and fixed.
* entities.c: fix error reporting to go through the new handlers
Daniel
2004-11-05 10:03:46 +00:00
Daniel Veillard
c0be74b398 more fixes and extending the tests coverage bunch of cleanups and 2 leaks
* gentest.py testapi.c: more fixes and extending the tests coverage
* valid.c: bunch of cleanups and 2 leaks removed
Daniel
2004-11-03 19:16:55 +00:00
Daniel Veillard
eff45a92da register xmlSchemaSetValidErrors, patch from Brent Hendricks in the
* python/libxml.c: register xmlSchemaSetValidErrors, patch from
  Brent Hendricks in the mailing-list
* include/libxml/valid.h HTMLparser.c SAX2.c valid.c
  parserInternals.c: fix #156626 and more generally how to find out
  if a validation contect is part of a parsing context or not. This
  can probably be improved to make 100% sure that vctxt->userData
  is the parser context too. It's a bit hairy because we can't
  change the xmlValidCtxt structure without breaking the ABI since
  this change xmlParserCtxt information indexes.
Daniel
2004-10-29 12:10:55 +00:00
Daniel Veillard
95ddcd3266 applied fixes for a couple of potential security problems more fixes on
* nanoftp.c: applied fixes for a couple of potential security problems
* tree.c valid.c xmllint.c: more fixes on the string interning checks
Daniel
2004-10-26 21:53:55 +00:00
William M. Brack
367df6e7e1 unlinked the internal subset within xmlValidateDtd (bug 141827) added
* valid.c: unlinked the internal subset within xmlValidateDtd
  (bug 141827)
* configure.in: added -Wall to developer's flags
* doc/examples/reader4.res: added to CVS
2004-10-23 18:14:36 +00:00
Daniel Veillard
807b4de282 applied patch from Malcolm Tredinnick fixing errata E20 concerning
* valid.c TODO: applied patch from Malcolm Tredinnick fixing errata
  E20 concerning NMTOKENS and co. validation #153722
* result/VC/AttributeNmtokens test/VC/AttributeNmtokens
  test/VCM/AttributeNmtokens.xml: also added tests from Malcolm
Daniel
2004-09-26 14:42:56 +00:00
Daniel Veillard
41c4a753bc fixed 2 problems raised by #152140, one which is that notation not in the
* valid.c xmlsave.c: fixed 2 problems raised by #152140, one
  which is that notation not in the internal subset should
  not be saved, and the second more nasty on an error saving
  NOTATIONs, if there is a proof that nobody uses notations !
Daniel
2004-09-08 20:55:38 +00:00
Daniel Veillard
29b1748205 small typo pointed out by Mike Hommey slightly improved the --c14n
* xmlIO.c: small typo pointed out by Mike Hommey
* doc/xmllint.xml, xmllint.html, xmllint.1: slightly improved
  the --c14n description, c.f. #144675 .
* nanohttp.c nanoftp.c: applied a first simple patch from
  Mike Hommey for $no_proxy, c.f. #133470
* parserInternals.c include/libxml/parserInternals.h
  include/libxml/xmlerror.h: cleanup to avoid 'error' identifier
  in includes #
* parser.c SAX2.c debugXML.c include/libxml/parser.h:
  first version of the inplementation of parsing within
  the context of a node in the tree #142359, new function
  xmlParseInNodeContext(), added support at the xmllint --shell
  level as the "set" function
* test/scripts/set* result/scripts/* Makefile.am: extended
  the script based regression tests to instrument the new function.
Daniel
2004-08-16 00:39:03 +00:00
William M. Brack
8c22f9fd0d fixed my mis-handling of External ID on last change.
* valid.c: fixed my mis-handling of External ID on last
  change.
2004-08-06 16:23:27 +00:00
William M. Brack
bebe730bad changed the parsing of a document's DTD to use the proper base path (bug
* valid.c: changed the parsing of a document's DTD to use
  the proper base path (bug 144366)
2004-08-05 06:46:47 +00:00
William M. Brack
9333cc2115 suppressed warnings from within xmlValidGetValidElements (bug 144644)
* valid.c: suppressed warnings from within xmlValidGetValidElements
  (bug 144644)
* doc/examples/testWriter.c: corrected typo in comment for ISO-8859-1
  (bug 144245)
2004-06-24 08:33:40 +00:00
William M. Brack
4119d1c61d implemented bugfix from Massimo Morara for DTD dumping problem. added
* valid.c: implemented bugfix from Massimo Morara for DTD
  dumping problem.
* test/valid/t10.xml, result/valid/t10.*: added regression
  for above
* configure.in: small change for my profile settings
2004-06-24 02:24:44 +00:00
Daniel Veillard
aecc0dc1f5 fixes the use of 'list' as a parameter added xmlPopInputCallback for Matt
* valid.c include/libxml/valid.h: fixes the use of 'list' as a parameter
* xmlIO.c include/libxml/xmlIO.h: added xmlPopInputCallback for
  Matt Sergeant
Daniel
2004-05-08 02:32:07 +00:00
William M. Brack
8b0cbb0415 small enhancement to fix bug 139791
* valid.c: small enhancement to fix bug 139791
2004-04-17 13:31:06 +00:00
Daniel Veillard
d3669b2fd1 avoid ID error message if using HTML_PARSE_NOERROR should fix #130762
* valid.c HTMLparser.c: avoid ID error message if using
  HTML_PARSE_NOERROR should fix #130762
Daniel
2004-02-25 12:34:55 +00:00
Daniel Veillard
f54cd533d8 fixing compilation and link option when configuring with --without-valid
* debugXML.c relaxng.c valid.c xinclude.c xmllint.c xmlreader.c:
  fixing compilation and link option when configuring with
  --without-valid should fix #135309
Daniel
2004-02-25 11:52:31 +00:00
Daniel Veillard
770075b500 fixed the main issues reported by Peter Breitenlohner cleanup speedup
* catalog.c: fixed the main issues reported by Peter Breitenlohner
* parser.c: cleanup
* valid.c: speedup patch from Petr Pajas
Daniel
2004-02-25 10:44:30 +00:00
Daniel Veillard
965983a5d5 removing a non-linear behaviour from ID/IDREF raised by Petr Pajas. Call
* valid.c: removing a non-linear behaviour from ID/IDREF raised
  by Petr Pajas. Call xmlListAppend instead of xmlListInsert in
  xmlAddRef
Daniel
2004-02-17 16:30:24 +00:00
William M. Brack
edb65a7ad0 added initialisation for ctxt->vctxt in HTMLInitParser (bug 133127) minor
* HTMLparser.c: added initialisation for ctxt->vctxt
  in HTMLInitParser (bug 133127)
* valid.c: minor cosmetic change (removed ATTRIBUTE_UNUSED
  from several function params)
2004-02-06 07:36:04 +00:00
Daniel Veillard
1f5c9891a0 xmlValidateElement could crash for element holding a namespace declaration
* valid.c: xmlValidateElement could crash for element holding a
  namespace declaration but not in a namespace. Oliver Fischer
  provided the example.
Daniel
2003-12-29 17:09:55 +00:00
William M. Brack
ab1cedad0a fixed bug concerning validation using external dtd of element with mutiple
* valid.c: fixed bug concerning validation using external
  dtd of element with mutiple namespace declarations
  (Bug 129821)
2003-12-23 07:16:17 +00:00
Daniel Veillard
f88d8cf9f1 tried to fix the problems reported in bug #126735 fixed again some problem
* python/libxml.py: tried to fix the problems reported in
  bug #126735
* xpath.c SAX2.c error.c parser.c valid.c include/libxml/xmlerror.h:
  fixed again some problem trying to use the structured error
  handlers, c.f. bug #126735
* result/VC/ElementValid: tiny change due to the fix
Daniel
2003-12-08 10:25:02 +00:00
Daniel Veillard
8d7b5c7ecd fixed some wording make sure doc/examples is packaged fixed the really
* Copyright: fixed some wording
* libxml.spec.in: make sure doc/examples is packaged
* include/libxml/tree.h valid.c xmlreader.c: fixed the really
  annoying problem about xmlRemoveID and xmlReader streaming.
  Thing looks fixed now, add to add a doc reference to the
  xmlID structure though...
Daniel
2003-11-15 18:24:36 +00:00
William M. Brack
6bf4d6fd3e small enhancement to assure ATTRIBUTE_UNUSED appears after the variable
* python/generator.py: small enhancement to assure ATTRIBUTE_UNUSED
  appears after the variable declaration.
* valid.c: trivial change to eliminate a warning message
2003-11-04 23:29:16 +00:00
Daniel Veillard
a8ff65d784 fixed bug #125811 related to DTD post validation where the DTD doesn't
* valid.c: fixed bug #125811 related to DTD post validation
  where the DTD doesn't pertain to a document.
Daniel
2003-11-03 16:20:10 +00:00
Daniel Veillard
e133dd8d13 the a-posteriori DTD validation code was not validating the namespace
* valid.c: the a-posteriori DTD validation code was not validating
  the namespace declarations, this fixes #124110
Daniel
2003-10-30 10:42:20 +00:00
Daniel Veillard
9ba8e389a2 included a new function to reuse a Push parser context, based on Graham
* parser.c include/libxml/parser.h: included a new function
  to reuse a Push parser context, based on Graham Bennett original
  code
* valid.c: in HTML, a name in an input is not an ID
* TODO: bug list update
Daniel
2003-10-28 21:31:45 +00:00
Daniel Veillard
72b9e29edf cleanup fixing bug #125653 sometimes the error handlers can get a parser
* Makefile.am: cleanup
* error.c valid.c include/libxml/xmlerror.h: fixing bug #125653
  sometimes the error handlers can get a parser context on DTD
  errors, and sometime they don't. So be very careful when trying
  to grab those informations.
Daniel
2003-10-28 15:44:17 +00:00
William M. Brack
9e66059f08 fixed problem reported on the mailing list by Melvyn Sopacua - wrong
* entities.c, valid.c: fixed problem reported on the mailing
  list by Melvyn Sopacua - wrong argument order on functions
  called through xmlHashScan.
2003-10-20 14:56:06 +00:00
Daniel Veillard
d61e8fbc73 fixes for compiling using --with-minimum Daniel
* valid.c xmlIO.c: fixes for compiling using --with-minimum
Daniel
2003-10-19 21:59:17 +00:00
William M. Brack
76e95df055 Changed all (?) occurences where validation macros (IS_xxx) had
* include/libxml/parserInternals.h HTMLparser.c HTMLtree.c
  SAX2.c catalog.c debugXML.c entities.c parser.c relaxng.c
  testSAX.c tree.c valid.c xmlschemas.c xmlschemastypes.c
  xpath.c: Changed all (?) occurences where validation macros
  (IS_xxx) had single-byte arguments to use IS_xxx_CH instead
  (e.g. IS_BLANK changed to IS_BLANK_CH).  This gets rid of
  many warning messages on certain platforms, and also high-
  lights places in the library which may need to be enhanced
  for proper UTF8 handling.
2003-10-18 16:20:14 +00:00
Daniel Veillard
0cc7277706 fix a call missing arguments Daniel
* valid.c: fix a call missing arguments
Daniel
2003-10-13 14:00:21 +00:00
Daniel Veillard
73000574ac adding an serror field to the validation context breaks the ABI for the
* valid.c include/libxml/valid.h: adding an serror field to
  the validation context breaks the ABI for the xmlParserCtxt
  structure since it's embedded by content and not by reference
Daniel
2003-10-11 11:26:42 +00:00
Daniel Veillard
659e71ec24 Setting up the framework for structured error reporting, touches a lot of
* HTMLparser.c c14n.c catalog.c error.c globals.c parser.c
  parserInternals.c relaxng.c valid.c xinclude.c xmlIO.c xmlregexp.c
  xmlschemas.c xpath.c xpointer.c include/libxml/globals.h
  include/libxml/parser.h include/libxml/valid.h
  include/libxml/xmlerror.h: Setting up the framework for structured
  error reporting, touches a lot of modules, but little code now
  the error handling trail has been cleaned up.
Daniel
2003-10-10 14:10:40 +00:00
Daniel Veillard
ce9457f3aa more cleanup of error handling in parserInternals, sharing the routine for
* parserInternals.c parser.c valid.c include/libxml/parserInternals.h:
  more cleanup of error handling in parserInternals, sharing the
  routine for memory errors.
Daniel
2003-10-05 21:33:18 +00:00
Daniel Veillard
bb5ababa28 more cleanup in make tests more work in the transition to the new error
* Makefile.am: more cleanup in make tests
* error.c valid.c parser.c include/libxml/xmlerror.h: more work
  in the transition to the new error reporting strategy.
* python/tests/reader2.py  result/VC/* result/valid/*:
  few changes in the strings generated by the validation output
Daniel
2003-10-03 22:21:51 +00:00
Daniel Veillard
2b8c4a151b changed 'make tests' to use a concise output, scrolling to see where thing
* Makefile.am: changed 'make tests' to use a concise output,
  scrolling to see where thing broke wasn't pleasant
* configure.in: some beta4 preparation, but not ready yet
* error.c globals.c include/libxml/globals.h include/libxml/xmlerror.h:
  new error handling code, last error informations are stored
  in the parsing context or a global variable, new APIs to
  handle the xmlErrorPtr type.
* parser.c parserInternals.c valid.c : started migrating to the
  new error handling code, it's a royal pain.
* include/libxml/parser.h include/libxml/parserInternals.h:
  moved the definition of xmlNewParserCtxt()
* parser.c: small potential buffer access problem in push code
  provided by Justin Fletcher
* result/*.sax result/VC/PENesting* result/namespaces/*
  result/valid/*.err: some error messages were sligthly changed.
Daniel
2003-10-02 22:28:19 +00:00
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