50 Commits

Author SHA1 Message Date
Nick Wellnhofer
e50d314a27 build: Add separate configuration option for RELAX NG
Support for RELAX NG used to be enabled together with XML Schema support
(--with-schemas). Now there's a separate option and a new feature macro
LIBXML_RELAXNG_ENABLED.
2025-03-01 15:18:20 +01:00
Nick Wellnhofer
bd208d5fe1 xinclude: Add another missing include 2024-06-15 01:40:06 +02:00
Nick Wellnhofer
fd7d9e5eca reader: Add callbacks for resource loader 2024-06-12 16:36:12 +02:00
Nick Wellnhofer
157df34401 xmlreader: Report malloc failures
Fix many places where malloc failures aren't reported.

Introduce a new API function xmlTextReaderGetLastError.
2023-12-11 22:13:06 +01:00
Nick Wellnhofer
72262030a6 parser: Readd some includes to parser.h and xmlreader.h
Fix backward compatibility.
2023-09-21 15:06:05 +02:00
Nick Wellnhofer
9fc5090c05 hash: Clean up libxml/hash.h
Rename variables, fix subincludes, whitespace.
2023-09-21 14:47:25 +02:00
Nick Wellnhofer
ed3bd05284 parser: Allow to set maximum amplification factor 2023-08-20 20:49:16 +02:00
Nick Wellnhofer
ce9baf94d5 Remove XMLCALL and XMLCDECL macros from public headers 2022-12-08 02:48:27 +01:00
Nick Wellnhofer
8bbe4508ef Spelling and grammar fixes
Fixes bug 743172, bug 743489, bug 769632, bug 782400 and a few other
misspellings.
2017-06-17 16:34:23 +02:00
Daniel Veillard
f8e3db0445 Big space and tab cleanup
Remove all space before tabs and space and tabs at end of lines.
2012-09-11 13:26:36 +08:00
Noam Postavsky
1579499025 add function xmlTextReaderRelaxNGValidateCtxt()
Since there is xmlTextReaderSchemaValidateCtxt() it seems like there
should be an equivalent RelaxNG function. The attached patch adds it.
The code is essentially the same as Schema implementation, but I'm
uncertain as to how to add things to the documentation and test suite:
there seems to be a lot of auto-generation going on.
2012-03-22 10:32:11 +08:00
Daniel Veillard
438ebbd59a fx compilation when configured without the reader should fix #513110
* xmlschemas.c runtest.c testapi.c include/libxml/xmlreader.h
  python/types.c python/libxml_wrap.h python/libxml.c: fx compilation
  when configured without the reader should fix #513110
* doc/*: regenerated
Daniel

svn path=/trunk/; revision=3743
2008-05-12 12:58:46 +00:00
Daniel Veillard
dee23485f6 added new function xmlSchemaValidCtxtGetParserCtxt based on Holger
* include/libxml/xmlschemas.h xmlschemas.c: added new function
  xmlSchemaValidCtxtGetParserCtxt based on Holger Kaelberer patch
* doc/apibuild.py doc/*: regenerated the doc, chased why the new
  function didn't got any documentation, added more checking in the
  generator
* include/libxml/relaxng.h include/libxml/schematron.h
  include/libxml/xmlschemas.h include/libxml/c14n.h
  include/libxml/xmlregexp.h include/libxml/globals.h
  include/libxml/xmlreader.h threads.c xmlschemas.c: various changes
  and cleanups following the new reports
Daniel

svn path=/trunk/; revision=3738
2008-04-11 12:58:43 +00:00
Aleksey Sanin
d837764002 expose xmlTextReaderSetup function
svn path=/trunk/; revision=3571
2007-01-03 23:13:12 +00:00
Daniel Veillard
d0271473ab compilation and doc build fixes from Michael Day Daniel
* xmlreader.c include/libxml/xmlreader.h xmlschemas.c: compilation
  and doc build fixes from Michael Day
Daniel
2006-01-02 10:22:02 +00:00
Kasimier T. Buchcik
bdadaedd88 Added xmlTextReaderSchemaValidateCtxt() to the API.
* xmlreader.c include/libxml/xmlreader.h: Added
  xmlTextReaderSchemaValidateCtxt() to the API.
2005-12-07 14:02:42 +00:00
Daniel Veillard
f10ae12cb8 fixed a typo pointed by Jeroen Ruigrok increased the APIs for xmlReader
* doc/xmllint.1 doc/xmllint.html doc/xmllint.xml: fixed a typo
  pointed by Jeroen Ruigrok
* include/libxml/xmlreader.h include/libxml/xmlschemas.h: increased
  the APIs for xmlReader schemas validation support
* xmllint.c xmlreader.c xmlschemas.c: xmlReader schemas validation
  implementation and testing as xmllint --stream --schema ...
Daniel
2005-07-10 19:03:16 +00:00
Daniel Veillard
5e094143e4 applied patch from Aron Stansvik to add xmlTextReaderByteConsumed() added
* xmlreader.c include/libxml/xmlreader.h: applied patch from
  Aron Stansvik to add xmlTextReaderByteConsumed()
* testReader.c: added a test option
* xmlschemastypes.c: fix a lack of pointer checking in APIs
Daniel
2005-02-18 19:36:12 +00:00
Aleksey Sanin
d671e2863e GetLineNumber and GetColumnNumber functions for xmlReader 2005-01-03 21:58:59 +00:00
William M. Brack
21e4ef20f6 Re-examined the problems of configuring a "minimal" library.
Synchronized the header files with the library code in order
to assure that all the various conditionals (LIBXML_xxxx_ENABLED)
were the same in both.  Modified the API database content to more
accurately reflect the conditionals.  Enhanced the generation
of that database.  Although there was no substantial change to
any of the library code's logic, a large number of files were
modified to achieve the above, and the configuration script
was enhanced to do some automatic enabling of features (e.g.
--with-xinclude forces --with-xpath).  Additionally, all the format
errors discovered by apibuild.py were corrected.
* configure.in: enhanced cross-checking of options
* doc/apibuild.py, doc/elfgcchack.xsl, doc/libxml2-refs.xml,
  doc/libxml2-api.xml, gentest.py: changed the usage of the
  <cond> element in module descriptions
* elfgcchack.h, testapi.c: regenerated with proper conditionals
* HTMLparser.c, SAX.c, globals.c, tree.c, xmlschemas.c, xpath.c,
  testSAX.c: cleaned up conditionals
* include/libxml/[SAX.h, SAX2.h, debugXML.h, encoding.h, entities.h,
  hash.h, parser.h, parserInternals.h, schemasInternals.h, tree.h,
  valid.h, xlink.h, xmlIO.h, xmlautomata.h, xmlreader.h, xpath.h]:
  synchronized the conditionals with the corresponding module code
* doc/examples/tree2.c, doc/examples/xpath1.c, doc/examples/xpath2.c:
  added additional conditions required for compilation
* doc/*.html, doc/html/*.html: rebuilt the docs
2005-01-02 09:53:13 +00:00
Daniel Veillard
e2811270e8 applied patch from Graham Bennett adding 4 convenience functions to the
* include/libxml/xmlreader.h xmlreader.c: applied patch from
  Graham Bennett adding 4 convenience functions to the reader API.
Daniel
2004-10-19 09:04:23 +00:00
Daniel Veillard
a2351322c8 hack based on Arjan van de Ven suggestion to reduce ELF footprint and
* elfgcchack.h doc/elfgcchack.xsl libxml.h: hack based on Arjan van de
  Ven suggestion to reduce ELF footprint and generated code. Based on
  aliasing of libraries function to generate direct call instead of
  indirect ones
* doc/libxml2-api.xml doc/Makefile.am doc/apibuild.py: added automatic
  generation of elfgcchack.h based on the API description, extended
  the API description to show the conditionals configuration flags
  required for symbols.
* nanohttp.c parser.c xmlsave.c include/libxml/*.h: lot of cleanup
* doc/*: regenerated the docs.
Daniel
2004-06-27 12:08:10 +00:00
Daniel Veillard
da0ff5da92 Johnson Cameron pointed out that initGenericErrorDefaultFunc() was really
* error.c: Johnson Cameron pointed out that
  initGenericErrorDefaultFunc() was really wrong.
* xmlreader.c include/libxml/xmlreader.h: xmlTextReaderMode enum
  must be made public, added some missing comments on the XMLReader
  header.
* c14n.c: Alexsey fixed C14N bug with processing namespaces
  from attributes
Daniel
2004-04-20 09:45:26 +00:00
Igor Zlatkovic
18a88ce2f4 added calling convention to the public function prototypes 2004-02-03 08:27:55 +00:00
William M. Brack
93d004f9d8 applied patch from Steve Ball to provide structured error reports.
* xmlreader.c, include/libxml/xmlreader.h: applied patch from
  Steve Ball to provide structured error reports.
2004-02-03 00:14:10 +00:00
Daniel Veillard
ffa7b7e2ba fixed the pattern interfaces but not yet the parser to handle the
* pattern.c xmlreader.c xmllint.c include/libxml/pattern.h
  include/libxml/xmlreader.h: fixed the pattern interfaces
  but not yet the parser to handle the namespaces.
* doc/examples/reader3.c doc/*: fixed the example, rebuilt the docs.
Daniel
2003-12-05 16:10:21 +00:00
Daniel Veillard
1e90661bb8 cleanup the make rebuild in doc, this include new directive to stop
* globals.c xmlwriter.c doc/apibuild.py include/libxml/globals.h
  include/libxml/pattern.h include/libxml/schemasInternals.h
  include/libxml/xmlexports.h include/libxml/xmlwriter.h: cleanup
  the make rebuild in doc, this include new directive to stop
  documentation warnings
* doc/* doc/html/*: rebuilt the docs
* pattern.c xmlreader.c include/libxml/pattern.h
  include/libxml/xmlreader.h: adding xmlTextReaderPreservePattern()
  to save nodes while scanning the tree with the reader, cleanup
  the way element were freed, and xmlTextReaderPreserve()
  implementation, the API might change for namespace binding support
  when compiling patterns.
* doc/examples/*: added reader3.c exposing the xmlTextReaderPreserve()
Daniel
2003-12-05 14:57:46 +00:00
Daniel Veillard
be5869729a modified the file header to add more informations, painful... updated to
* include/libxml/*.h include/libxml/*.h.in: modified the file
  header to add more informations, painful...
* genChRanges.py genUnicode.py: updated to generate said changes
  in headers
* doc/apibuild.py: extract headers, add them to libxml2-api.xml
* *.html *.xsl *.xml: updated the stylesheets to flag geprecated
  APIs modules. Updated the stylesheets, some cleanups, regenerated
* doc/html/*.html: regenerated added back book1 and libxml-lib.html
Daniel
2003-11-18 20:56:51 +00:00
Daniel Veillard
198c1bfc1c removing xmldwalk module since it got merged with the xmlreader. cleanup
* Makefile.am configure.in xmldwalk.c xmlreader.c
  include/libxml/Makefile.am include/libxml/xmldwalk.h
  include/libxml/xmlversion.h.in: removing xmldwalk module
  since it got merged with the xmlreader.
* parser.c: cleanup
* win32/libxml2.def.src python/libxml2class.txt doc/libxml2-api.xml:
  rebuilt the API
* python/tests/Makefile.am python/tests/reader7.py
  python/tests/walker.py: adding regression testing for the
  new xmlreader APIs, new APIs for reader creation, including
  makeing reader "walker" operating on preparsed document trees.
Daniel
2003-10-20 17:07:41 +00:00
Daniel Veillard
fc8dc355da added new APIs for creating reader from sources or reusing a reader with a
* xmlreader.c include/libxml/xmlreader.h: added new APIs
  for creating reader from sources or reusing a reader with
  a new source, like the xmlReadxx and xmlCtxtReadxxx
* win32/libxml2.def.src doc/libxml2-api.xml doc/apibuild.py
  doc/Makefile.am: regenerated the APIs
* doc/xml.html: applied a patch from Stefan Kost for namesapce docs
Daniel
2003-10-18 09:07:46 +00:00
Daniel Veillard
9ee35f3643 fix a bug raised by the Mips compiler. move the SAXv1 block definitions to
* parser.c: fix a bug raised by the Mips compiler.
* include/libxml/SAX.h include/libxml/parser.h: move the
  SAXv1 block definitions to parser.h fixes bug #123380
* xmlreader.c include/libxml/xmlreader.h: reinstanciate
  the attribute and element pool borken 2 commits ago.
  Start playing with an entry point to preserve a subtree.
* entities.c: remove a warning.
Daniel
2003-09-28 00:19:54 +00:00
Daniel Veillard
f85ce8e334 the uri arg to xmlNodeSetBase is really a const xmlChar* addin the
* tree.c include/libxml/tree.h: the uri arg to xmlNodeSetBase is
  really a const xmlChar*
* xmlreader.c include/libxml/xmlreader.h: addin the
  xmlTextReaderConstString() to get an interned string from
  the reader
Daniel
2003-09-22 10:24:45 +00:00
Daniel Veillard
e72c508cd0 preparing a 2.6.0-beta2 release avoid a warning avoid duplicate code in
* configure.in: preparing a 2.6.0-beta2 release
* xmlIO.c: avoid a warning
* tree.c: avoid duplicate code in xmlReplaceNode as pointed out
  by Chris Ryland
* include/libxml/dict.h: add a QName access lookup to the
  dictionary.
* xmlreader.c include/libxml/xmlreader.h: adding const access
  based on the dictionary interface for string read from the
  reader, the node content access is still TODO, it's too different
Daniel
2003-09-19 12:44:05 +00:00
Igor Zlatkovic
aa3cfbd080 realigned parameters after taint 2003-08-27 08:59:58 +00:00
Igor Zlatkovic
76874e4516 Exportability taint of the headers 2003-08-25 09:05:12 +00:00
Daniel Veillard
0ab6fa01f5 changing an enum definition to get a correct API XML description. This was
* include/libxml/xmlreader.h doc/libxml2-api.xml: changing an enum
  definition to get a correct API XML description. This was apparently
  breaking Windows build.
Daniel
2003-08-09 18:01:53 +00:00
Daniel Veillard
d6038e0283 applying cleanup patch from Bjorn Reese for xmlTextReaderNodeType() and
* xmlreader.c include/libxml/xmlreader.h: applying cleanup
  patch from Bjorn Reese for xmlTextReaderNodeType() and
  significant whitespace. There is an enum for node type
  values now.
Daniel
2003-07-30 16:37:18 +00:00
Daniel Veillard
33300b49f0 augnemting the APIs, cleanups. cleanup bug #111005 added some missing
* include/libxml/relaxng.h relaxng.c include/libxml/xmlreader.h
  xmlreader.c: augnemting the APIs, cleanups.
* parser.c: cleanup bug #111005
* xmlIO.c: added some missing comments
Daniel
2003-04-17 09:09:19 +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
c6cae7b690 Added the Expand() and Next() operation to work on subtrees within the
* xmlreader.c include/libxml/xmlreader.h: Added the Expand()
  and Next() operation to work on subtrees within the reader
  framework.
* doc/libxml2-api.xml python/libxml2class.txt: resulting updates
* python/tests/reader5.py: added an example for those new
  functions of the reader.
Daniel
2003-04-11 09:02:11 +00:00
Daniel Veillard
417be3ae08 patch from Stéphane Bidoul for better per context error message APIs
* xmlreader.c python/drv_libxml2.py python/generator.py
  python/libxml.c python/libxml.py python/libxml_wrap.h
  python/types.c: patch from Stéphane Bidoul for better per
  context error message APIs
* python/tests/ctxterror.py python/tests/readererr.py:
  update of the tests
Daniel
2003-01-20 21:26:34 +00:00
Daniel Veillard
26f70269c8 applied a patch from Stéphane Bidoul to allow per XMLtextReader error and
* xmlreader.c include/libxml/xmlreader.h python/generator.py
  python/libxml.c python/libxml.py win32/libxml2.def.src: applied
  a patch from Stéphane Bidoul to allow per XMLtextReader error
  and warning handling
* python/tests/Makefile.am python/tests/readererr.py: adding the
  specific regression test
Daniel
2003-01-16 22:45:08 +00:00
Daniel Veillard
e18fc185fa extended the XmlTextReader API a bit, addding accessors for the current
* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml:
  extended the XmlTextReader API a bit, addding accessors for
  the current doc and node, and an entity substitution mode for
  the parser.
* python/libxml.py python/libxml2class.txt: related updates
* python/tests/Makefile.am python/tests/reader.py
  python/tests/reader2.py python/tests/reader3.py: updated a bit
  the old tests and added a new one to test the entities handling
Daniel
2002-12-28 22:56:33 +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
beb70bd39b more work on the xml reader interfaces. updated Igor's mail and the Web
* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: more
  work on the xml reader interfaces.
* AUTHORS MAINTAINERS doc/* win32/*: updated Igor's mail and the
  Web page for the Windows binaries.
Daniel
2002-12-18 14:53:54 +00:00
Daniel Veillard
67df809c3a Vyacheslav Pindyura managed to trigger a bug in parseStartTag, fixing it.
* parser.c: Vyacheslav Pindyura managed to trigger a bug in
  parseStartTag, fixing it.
* test/att4 result/att4 result/noent/att4: adding the test
* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: added
  more methods to XmlTextReader.
Daniel
2002-12-16 22:04:11 +00:00
Daniel Veillard
da46d2d31e added more methods of XmlTextReader. this increased the methods in the
* xmlreader.c include/libxml/xmlreader.h doc/libxml2-api.xml: added
  more methods of XmlTextReader.
* python/libxml2class.txt python/tests/reader.py: this increased the
  methods in the bndings, augmented the test to check those new
  functions.
Daniel
2002-12-15 23:36:49 +00:00
Daniel Veillard
0eb38c7259 added the close and getattribute methods of XmlTextReader. added the
* xmlreader.c doc/libxml2-api.xml: added the close and getattribute
  methods of XmlTextReader.
* python/generator.py python/libxml_wrap.h python/types.c
  python/libxml2class.txt: added the reader to the Python bindings
* python/tests/Makefile.am python/tests/reader.py: added a specific
  test for the Python bindings of the Reader APIs
* parser.c: small cleanup.
Daniel
2002-12-14 23:00:35 +00:00
Daniel Veillard
e1ca50330b Adding a new set of APIs based on the C# TextXmlReader API but converted
* Makefile.am xmlreader.c include/libxml/Makefile.am
  include/libxml/xmlreader.h:  Adding a new set of APIs based on
  the C# TextXmlReader API but converted to C. Allow to parse
  in constant memory usage, far simpler to program and explain
  than the SAX like APIs, unfinished but working.
* testReader.c: test program
Daniel
2002-12-09 14:13:43 +00:00