* pattern.c include/libxml/pattern.h: changed xmlPatterncompile
signature to pass an int and not an enum since it can generate
ABI compat troubles.
* include/libxml/schematron.h schematron.c: adding the new
schematron code, work in progress lots to be left and needing
testing
* include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h.in
Makefile.am configure.in: integration of schematron into the
build
* xpath.c include/libxml/xpath.h: adding flags to control compilation
options right now just XML_XPATH_CHECKNS.
Daniel
* pattern.c: Changed xmlCompileStepPattern() and
xmlCompileAttributeTest() to handle the "xml" prefix without
caring if the XML namespace was supplied by the user.
* pattern.c: Fixed evaluation of attributes. Actually only
attribute at the first level were evaluated (e.g. "@attr");
expression like "foo/@attr" always failed.
* pattern.c: Some changes/fixes to the streaming evaluation.
* xmlschemas.c: A bit of support for parsing the schema for
schema. Fixed attribute derivation when the use is
"prohibited" and was "optional". Fixed an attribute construction
bug, a left-over from the time, where <complexContent>,
<extension>, etc. where created as structs.
* pattern.c, xpath.c, include/libxml/pattern.h: Further
enhancement for XPath streaming, consolidated with
schemas usage of pattern.c. Added a new enum
xmlPatternFlags.
* doc/*, testapi.c, elfgcchack.h: updated to reflect new
enum.
* test/XPath/tests/mixedpat, test/XPath/docs/mixed,
result/XPath/mixedpat: added regression test for problems
reported in bug306348
* xpath.c, pattern.c: Enhanced xmlXPathRunStreamEval, fixed
handling of depth/level for cases like union operator
(bug #306348 reported by Bob Stayton). Also enhanced
several comments throughout pattern.c.
* doc/apibuild.py: fixed problem in handling of
'signed' declaration. Rebuilt the docs.
* pattern.c: Changed the XPath "." to resolve only on the first
level for XML Schema IDCs. This should not affect pattern-like
resolution on every level.
* doc/apibuild.py doc/elfgcchack.xsl: revamped the elfgcchack.h
format to cope with gcc4 change of aliasing allowed scopes, had
to add extra informations to doc/libxml2-api.xml to separate
the header from the c module source.
* *.c: updated all c library files to add a #define bottom_xxx
and reimport elfgcchack.h thereafter, and a bit of cleanups.
* doc//* testapi.c: regenerated when rebuilding the API
Daniel
* python/generator.py python/libxml.py: another patch from Brent
Hendricks to add new handlers with the various validity contexts
* python/tests/Makefile.am python/tests/validDTD.py
python/tests/validRNG.py python/tests/validSchemas.py: also
added the regression tests he provided
Daniel
* xmlschemas.c: Enabled IDC parsing and validation.
* xmlschemastypes.c include/libxml/xmlschemastypes.h:
Added xmlSchemaCopyValue to the API; this was done due to
validation of default attributes against IDCs: since IDC keys
consume the precomputed value, one needs a copy.
* pattern.c: Enabled IDC support; this is currently done
via calling xmlPatterncompile with a flag arg of 1.
* encoding.c: fix the comment to describe the real return values
* pattern.c xpath.c include/libxml/pattern.h: lot of work on
the patterns, pluggin in the XPath default evaluation, but
disabled right now because it's not yet good enough for XSLT.
pattern.h streaming API are likely to be changed to handle
relative and absolute paths in the same expression.
Daniel
* pattern.c: fixed the namespaces support
* tree.c: fixed xmlGetNodePath when namespaces are used
* result/pattern/multiple result/pattern/namespaces
test/pattern/multiple.* test/pattern/namespaces.*: added
more regression tests
Daniel
* Makefile.am: use the walker to test the patterns instead of
the normal reader
* pattern.c xmllint.c: bug fixes in the train including fixing the
stupid build break.
Daniel
* pattern.c include/libxml/pattern.h xmllint.c: added a
streaming pattern detector for a subset of XPath, should
help Kasimier for identity constraints
* python/generator.py: applied Stephane Bidoul patch to find
paths without breaking.
Daniel
* 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
* 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
* pattern.c include/libxml/pattern.h: adding the pattern node
selection code. Inheried in part from libxslt but smaller.
* Makefile.am configure.in include/libxml/xmlversion.h.in:
integrated the pattern module, made it a configure time option
* xmllint.c: added --pattern to test when doing --stream
Daniel