* xmlschemas.c include/libxml/schemasInternals.h:
Added an initial skeleton for indentity-constraints. This is all
defined out, since not complete, plus it needs support from other
modules.
Added machanism to store element information for the
ancestor-or-self axis; this is needed for identity-constraints
and should be helpfull for a future streamable validation.
* include/libxml/xmlerror.h: Added an error code for
identity-constraints.
* testdso.c xmlregexp.c: warning patches from Peter Breitenlohner
* include/libxml/valid.h valid.c parser.c: serious DTD parsing
speedups, start to deprecate 3 ElementDef related entry point
and replace them with better ones.
Daniel
* 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
* dict.c parser.c include/libxml/dict.h: a single lock version
mostly avoid the cost penalty of the lock in case of low
parallelism, so applying that version instead.
Daniel
* xmlschemastypes.c: trying to fix at least the message from
bug #158628
* include/libxml/xmlsave.h xmlsave.c: added first xmlsave option
for format, c.f. bug #159997
Daniel
* include/libxml/schemasInternals.h xmlschemas.c:
Exposed targetNamespace for simple/complex types, model groups,
attribute groups and notations (reported by Michael Hewarth
to the mailing list). Added targetNamespace to xmlSchemaType,
xmlSchemaAttributeGroup and xmlSchemaNotation.
Tiny cosmetic change to the content model error report output.
* result//all_*.err result//any3_0_0.err result//choice_*.err
result//list0_0_1.err result//list0_1_1.err: Adapted output
of regression tests.
* include/libxml/xmlregexp.h xmlregexp.c: extended xmlRegExecErrInfo()
and xmlRegExecNextValues() to return error transition strings too,
and sink state detection and handling.
Daniel
* gentest.py testapi.c: William noticed I forgot to add special
support for xmlmodules.c define
* xmlregexp.c include/libxml/xmlregexp.h: added terminal to
xmlRegExecErrInfo() API, adding new xmlRegExecNextValues()
entry point and refactored to use both code.
Daniel
* parser.c: fixed namespace bug in push mode reported by
Rob Richards
* test/ns6 result//ns6*: added it to the regression tests
* xmlmodule.c testModule.c include/libxml/xmlmodule.h:
added an extra option argument to module opening and defined
a couple of flags to the API.
Daniel
* xmlmodule.c include/libxml/xmlmodule.h: applied patch from
Bjorn Reese, plus some cleanups
* elfgcchack.h doc/elfgcchack.xsl: fixed the stylesheet to
add the new header
* doc/* testapi.c: regenerated the API
Daniel
* configure.in: making DSO support an option
* xmlmodule.c xmlreader.c include/libxml/xmlmodule.h: code
and documentation cleanups
* elfgcchack.h testapi.c doc/*: regenerated the docs and
checks for new module
* test/valid/REC-xml-19980210.xml: fix a small change introduced
previously
Daniel
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
* dict.c, xpath.c, include/libxml/hash.h: fixed up some gcc warnings,
no change to logic. New macro XML_CAST_FPTR to circumvent gcc
warnings on function pointer <-> object pointer (a hack).
* dict.c include/libxml/dict.h: added xmlDictExists() to the
dictionnary interface.
* xmlreader.c: applying xmlTextReaderHasAttributes fix for namespaces
from Rob Richards
Daniel
* xmlschemas.c: Correct symbol space for 'all' and 'choice'.
* xmlschemastypes.c include/xmlschemastypes.h: Added 'replace'
normalization for 'normalizedString'.
Added xmlSchemaWhiteSpaceReplace to the API.
* Makefile.am gentest.py testapi.c: integrated in "make tests"
added -q option, and more conditional features fixes
* catalog.c debugXML.c parser.c testThreads.c xmllint.c
xmlschemastypes.c xmlwriter.cinclude/libxml/catalog.h
include/libxml/debugXML.h: various compilation and conditional
cleanups.
* doc/*: regenerated
Daniel
* gentest.py testapi.c: changing the way the .c is generated,
extending the tests coverage
* include/libxml/nanoftp.h nanoftp.c elfgcchack.h doc/*: fixing some
function signatures, regenerating stuff
* SAX2.c parser.c xmlIO.c: another set of bug fixes and API hardening
Daniel
* gentest.py testapi.c: more fixes and extending the tests coverage
* relaxng.c include/libxml/relaxng.h: adding a type init interface
* include/libxml/xmlerror.h parser.c xmlreader.c xmlwriter.c: more
cleanups and bug fixes raised by the regression tests
Daniel
* xmlmemory.c include/libxml/xmlmemory.h: adding xmlMemBlocks()
* Makefile.am gentest.py testapi.c: work on generator of an
automatic API regression test tool.
* SAX2.c nanoftp.c parser.c parserInternals.c tree.c xmlIO.c
xmlstring.c: various API hardeing changes as a result of running
teh first set of automatic API regression tests.
* test/slashdot16.xml: apparently missing from CVS, commited it
Daniel
* 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
* debugXML.c include/libxml/xmlerror.h: added checking for names
values and dictionnaries generates a tons of errors
* SAX2.ccatalog.c parser.c relaxng.c tree.c xinclude.c xmlwriter.c
include/libxml/tree.h: fixing the errors in the regression tests
Daniel
* debugXML.c include/libxml/debugXML.h include/libxml/xmlerror.h:
adding the tree debug mode
* parser.c relaxng.c tree.c xpath.c: fixing various problems reported
by the debug mode.
* SAX2.c: another tree fix from Rob Richards
Daniel
* configure.in debugXML.c include/libxml/xmlversion.h.in
include/libxml/xmlwin32version.h.in: revamped the XML debugging
module and prepare for a new checking mode
Daniel
* include/libxml/parserInternals.h: added two new macros
IS_ASCII_LETTER and IS_ASCII_DIGIT used with (html)
parsing and xpath for testing data not necessarily
unicode.
* HTMLparser.c, xpath.c: changed use of IS_LETTER_CH and
IS_DIGIT_CH macros to ascii versions (bug 153936).
* xmlschemas.c include/libxml/xmlerror.h include/libxml/xmlschemas.h
include/libxml/schemasInternals.h: Parsing of <complexContent>
- handle attribute 'mixed', catch illegal attributes.
Parsing of <complexType> - handle attributes 'abstract',
'final' and 'block', catch illegal attributes.
Validation of complex types - handle abstract types.
Added handling of default/fixed attributes and element values.
Per validation option attribute nodes/text nodes are created
on the instance.
Added the corresponding constraints for fixed/default.
Added xmlSchemaSetValidOptions, xmlSchemaGetValidOptions
to the external API.
Extended element declaration constraints.
Got rid of perseverative creation of temporery validation/parser
contexts.
Added handling of xsi:schemaLocation and
xsi:noNamespaceSchemaLocation.
Fixed xsi:type component resolution if using non-prefixed
QNames.
* xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h:
Enabled namespace awareness of the content model if using the
model group "all".
* test/schemas/bug152470_1.xsd: Removed an "abstract" attribute,
which broke the test.
* xstc/xstc.py: Workaround to accomodate case insensitive
test definitions in ms-test.def.xml (was missing in a previous
commit).
* nanohttp.c, include/libxml/nanohttp.h: added the routine
xmlNanoHTTPContentLength to the external API (bug151968).
* parser.c: fixed unnecessary internal error message (bug152060);
also changed call to strncmp over to xmlStrncmp.
* encoding.c: fixed compilation warning (bug152307).
* tree.c: fixed segfault in xmlCopyPropList (bug152368); fixed
a couple of compilation warnings.
* HTMLtree.c, debugXML.c, xmlmemory.c: fixed a few compilation
warnings; no change to logic.
* xmlschemas.c include/libxml/schemasInternals.h
test/schemas/bug152470_1.* result/schemas/bug152470_1_1*:
Simpified attribute wildcard creation and assignment to get rid
of memory leaks.
Restructured the validation process.
Restructured and expanded parsing of <attributeGroup>.
Added initial handing of xsi:type.
Advanced handling of xsi:nil (should work now for simple types).
Added construction of schemata using xsi:schemaLocation and
xsi:noNamespaceSchemaLocation; this is not enabled, since
no corresponding API exists yet.
Moved the content model to complex type components.
Resolution of types for attributes will look for simple types
only (incl. all the built-in simple types).
Extended parsing of 'anyAttribute'.
Fixed content-type type for complex types if derived from
'anyType' using the short-hand form (see bug # 152470,
submitted by Thilo Jeremias).
* include/libxml/xmlschematypes.h: Cleaned up some comments.
* xstc/xstc.py: Workaround to accomodate case insensitive
test definitions in ms-test.def.xml.
* result/schemas/deter0_0_0.err result/schemas/ns0_0_2.err
result/schemas/ns0_1_2.err: Adapted.
* xmlschemas.c include/libxml/xmlschemas.h: Added the function
xmlSchemaValidateOneElement to the XML Schema validation API,
as proposed by Jeffrey Fink - see bug # 152073.
* xmlschemas.c include/libxml/schemasInternals.h
include/libxml/xmlerror.h: Fixed a seg fault in xmlGetQNameProp:
a format argument was missing.
Fixed wrong assignment of the owner of a wildcard in
xmlSchemaBuildAttributeValidation (in the shorthandform of
<complexType>; this caused a seg fault, due to a double-free
of the wildcard.
Added a check for circular attribute group references.
Added a check for circular model group definition references.
Fixed a dublicate xmlParserErrors enum value - see bug #151738.
* test/schemas/import-bad-1_0.imp: Added missing test file.
* xmlschemas.c include/libxml/xmlerror.h include/libxml/xmlschemas.h:
Substituted the obsolete xmlSchemaValidError(s) for xmlParserErrors
- see #150840.
Changed the import of schemas to allow failure of location
of a resource to be imported.
* result/schemas/all_* result/schemas/any3_0_0.err
result/schemas/choice_* result/schemas/import1_0_0.err
result/schemas/list0_0_1.err result/schemas/list0_1_0.err
result/schemas/list0_1_1.err result/schemas/ns0_0_2.err
result/schemas/ns0_1_2.err: Adapted regression test results.
* xmllint.c xpath.c include/libxml/xpath.h
include/libxml/xpathInternals.h python/libxml.c
python/libxml_wrap.h: trying to remove some warning when compiling
on Fedora Core 3 and 64bits
Daniel
* xmlschemas.c: modified parsing of <list>, <union>, <restriction>,
<sequence>, <choice>, <include>, <import>.
Fixed schema defaults (elementFormDefault, etc.) for included
schemas.
Fixed a bug which reported attributes as invalid on
elements declarations with the built-in type 'anyType'.
Added "lax" validation of the content of elements of type
'anyType'.
Fixed: element declarations with the same name were treated
as duplicate if located in the subtree of <choice> -> <sequence>.
(This was bug 150623, submitted by Roland Lezuo)
Fixed cleanup of error codes in xmlSchemaValidateDoc as proposed
by Igor Kapitanker. (This was bug 150647, submitted by Igor
Kapitanker)
* xmlschemastypes.c: Changed the type of anyType to
XML_SCHEMAS_ANYTYPE.
* include/libxml/xmlerror.h: Added schema parser errors.
* result/schemas/bug145246_0_0*
result/schemas/extension1_0_2.err: Changed test results.
* result/schemas/ct-sc-nobase_0_0*
result/schemas/facet-whiteSpace_0_0*
result/schemas/import1_0_0* result/schemas/import2_0_0*
result/schemas/include2_0_0* result/schemas/include3_0_0*
result/schemas/restriction-attr1_0_0*
result/schemas/seq-dubl-elem1_0_0*
result/schemas/xsd-list-itemType_0_0*: Added new rest results.
test/schemas/bug145246.xsd.imp test/schemas/ct-sc-nobase_0*
test/schemas/facet-whiteSpace_0* test/schemas/import1_0*
test/schemas/import2_0* test/schemas/include2_0*
test/schemas/include3_0* test/schemas/restriction-attr1_0*
test/schemas/seq-dubl-elem1_0* test/schemas/xml.xsd
test/schemas/xsd-list-itemType_0*: Added new tests and missing
files.
* configure.in globals.c include/libxml/xmlversion.h.in
include/libxml/xmlwin32version.h.in: added some code to
include the CVS ChangeLog version in the xmlParserVersion
string (printed by xmllint with --version)
* xmlschemas.c include/libxml/xmlschemas.h python/generator.py
python/libxml.c python/libxml_wrap.h python/types.c
python/tests/schema.py python/tests/Makefile.am: Applied patch
from Torkel Lyng to add Schemas support to the Python bindings
and extend the schemas error API, registered a new test.
* doc/* elfgcchack.h: rebuilt to regenerate the bindings
Daniel
* debugXML.c: added help for new set shell command
* xinclude.c xmllint.c xmlreader.c include/libxml/parser.h:
added parser option to not generate XInclude start/end nodes,
added a specific option to xmllint to test it fixes#130769
* Makefile.am: regression test the new feature
* doc/xmllint.1 doc/xmllint.xml: updated man page to document option.
Daniel
* 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
* configure.in xmlregexp.c xmlschemas.c xmlschemastypes.c
include/libxml/schemasInternals.h include/libxml/xmlerror.h
include/libxml/xmlschemastypes.h: applied Schemas patches
from Kasimier Buchcik
* test/ result/ bug141333* annot-err* any[1-4]* bug145246*
element-err* element-minmax-err* include1* restrict-CT-attr-ref*:
lot of new tests for things fixed by the patch
Daniel
* include/libxml/valid.h: elaborated on description of
xmlValidityWarningFunc and xmlValidityErrorFunc (bug
144760)
* xmlIO.c, xmlschemastypes.c, include/libxml/schemasinternals.h:
minor fixes to comments for doc rebuilding errors.
* doc/*.html: rebuilt the docs
* SAX2.c, encoding.c, error.c, parser.c, tree.c, uri.c, xmlIO.c,
xmlreader.c, include/libxml/tree.h: many further little changes
for OOM problems. Now seems to be getting closer to "ok".
* testOOM.c: added code to intercept more errors, found more
problems with library. Changed method of flagging / counting
errors intercepted.
* xmlschemas.c xmlschemastypes.c include/libxml/xmlerror.h
include/libxml/schemasInternals.h include/libxml/xmlschemastypes.h:
applied Schemas patches from Kasimier Buchcik, there is still
one open issue about referencing freed memory.
* test/schemas/* result/schemas/*: updated with new tests from
Kasimier
Daniel
* include/libxml/globals.h include/libxml/xmlIO.h
doc/libxml2-api.xml doc/libxml2-refs.xml: moved some definitions
to globals.h to avoid some troubles pointed out by Rob Richards
Daniel