Commit Graph

188 Commits

Author SHA1 Message Date
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
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