* NEWS configure.in libxml.spec.in testapi.c doc/*: upated the news
regenerated the docs, preparing for release of 2.6.23
* pattern.c xmlschemas.c: fixed some comments
Daniel
* xmlschemas.c xmlstring.c: Fixed a segfault during
text concatenation when validating a node tree:
xmlStrncat was called with a @len of -1; but unlike
xmlStrncatNew, it does not calculate the length
automatically in such a case (reported by Judy Hay
on the mailing list).
Updated the descriptions of the involved string
functions to note this.
* xmlschemas.c: Workaround for bug #323510: substituted the
epsilon transition for a labelled transition, in order to
avoid a bug in xmlregexp.c which eliminated the epsilon
transition and marked the initial state as final.
* HTMLparser.c configure.in parserInternals.c runsuite.c runtest.c
testapi.c xmlschemas.c xmlschemastypes.c xmlstring.c: fixed a number
of warnings shown by HP-UX compiler and reported by Rick Jones
Daniel
* xmlschemas.c: Fixed a segfault: the instance document was
still tried to be validated, if the schema, dynamically
acquired using XSI was invalid, thus mangled. The
validation will stop (or rather won't validate) now in
such a case. The schema parser error code will be set
on the validion context now; this is somehow not nice,
but it assures that the validation context indicates an
error in there was a parser error.
* xmlschemas.c: Fixed bubbling of duplicate IDC nodes: the
parent's list of duplicates was filled with NULLs instead
of the nodes under certain conditions. This lead to a
segfault when the list's entries were accessed.
* xmlschemas.c: An assignment to a local variable, which was
used to access the IDC node list, was missing after the
reallocation of the list (reported by Fabrice GUY
bug #322411). Renamed the define ENABLE_IDC_NODE_TABLES
to ENABLE_IDC_NODE_TABLES_TEST and *disabled* it, since
it is used to force bubbling of IDC node tables even
if not necessary; this was intended to be used for test
purposes, but I obviously missed to disable it (although
it apparently helped finding the bug).
* xmlschemas.c: In xmlSchemaAssembleByXSI() the return value
of xmlSchemaGetMetaAttrInfo() was not assigned to anything;
this caused XSI-driven-dynamic schema acquisition to fail
with @noNamespaceSchemaLocation (reported by Julien Lamy
on the mailing list).
* xmlschemas.c: Fixed a bug in xmlSchemaFindRedefCompInGraph()
which caused the search for components to stop at the
first encountered attribute group component.
Fixed error report in xmlSchemaCheckSRCRedefineFirst(): the
designation of a not-found component was not reported.
* xmlschemas.c include/libxml/xmlschemas.h:
Added xmlSchemaSetParserStructuredErrors() to the API.
Fixed channeling of error relevant information to
subsequent parser/validation contexts.
* xmlschemas.c: Changed xmlSchemaFormatIDCKeySequence()
to use xmlSchemaGetCanonValueWhtspExt() in order to
correctly report values for xs:anySimpleType.
* test/schemas/idc-keyref-err1*
result/schemas/idc-keyref-err1*: Added a test for this change.
* xmlschemas.c xmlschemastypes.c: Fixed the type of the
totalDigits value to be positiveInteger.
Fixed crash in an error report function when we gave it
the document node; only element and attribute nodes are
processed now (reported by Rob Richards).
* xmlschemas.c: Removed creation of a temporary parser context
during validation when processing xsi:type; this previously
added a string to the dict of the schema - to assure thread
safety, we don't want to modify a given schema during
validation.
* xmlschemas.c: Fixed a potential memory leak in
xmlSchemaCheckCSelectorXPath() when an internal error occurs.
Fixed setting of ctxt->err to the given error code in
the parsing error functions.
* pattern.c: Added internal xmlCompileIDCXPathPath() as a
starting point for IDC XPath compilation; this and some other
tiny changes fixes issues regarding whitespace in the
expressions and IDC selector/field relevant restrictions of
the subset of XPath. Fixed a missing blocking of attributes
in xmlStreamPushInternal().
* runtest.c: removed the error message
* relaxng.c xmlschemas.c: removed 2 instability warnings from function
documentation
* include/libxml/schemasInternals.h: changed warning about API stability
* xmlregexp.c: trying to improve runtime execution of non-deterministic
regexps and automata. Not fully finished but should be way better.
Daniel
* xmlschemas.c: Fixed a memory leak in
xmlSchemaContentModelDump(). Added output of local types
in xmlSchemaElementDump(). Tiny cosmetical changes to the
dump output.
* tree.c pattern.c: Silenced intel compiler warnings (reported
by Kjartan Maraas, bug #318517).
* xmlschemas.c: The above changes in pattern.c revealed an
inconsistency wrt IDCs: we now _only_ pop XPath states, if
we really pushed them beforehand; this was previously not
checked for the case when we discover an element node to be
invalid wrt the content model.
Fixed segfault in xmlSchemaGetEffectiveValueConstraint().
* xmlschemas.c: Fixed some identity-constraint issues:
Restructured IDC node-tables
Allowed IDCs to resolve also to nodes of complex type with
simple content.
Added check for keyrefs with references to keyrefs.
IDC target-nodes were interferring with IDC node-tables,
since they used one list of entries only. I separated this
one big list into 3 lists: 1 for IDC node-table entries,
1 for _duplicates_ of IDC node-table entries and 1 for
IDC target-nodes. More code, but cleaner and it works at last.
Keyrefs will fail to resolve to duplicate key/unique entries.
I thought this was already working this way, but it didn't.
The wording of the definition for [node table] in the spec
can lead to a scenario, where keyrefs resolve perfectly, even
if the relevant key-sequences of the referenced key/unique have
duplicates in the subtree. Currently only Saxon 8.5.1 is
dissallowing resolution to duplicate entries correctly - we
will follow Saxon here.
Removed some intel compiler warnings (reported by
Kjartan Maraas, bug #318517).
* pattern.c: Fixed an IDC-XPath problem when resolving to
attributes.
* xmlschemas.c include/libxml/schemasInternals.h
include/libxml/xmlerror.h: Initial implementation for
redefinitions; this still misses checks for restrictions
of the content model of complex types.
Fixed default/fixed values for attributes (looks like they
did not work in the last releases).
Completed constraints for attribute uses.
Seperated attribute derivation from attribute constraints.
Completed constraints for attribute group definitions.
Disallowing <import>s of schemas in no target namespace if the
importing schema is a chameleon schema. This contradicts
the way Saxon, Xerces-J, XSV and IBM's SQC works, but the
W3C XML Schema WG, thinks it is correct to dissalow such
imports.
Added cos-all-limited constraints.
Restructured reference resolution to model groups and element
declarations.
Misc cleanup.
* xmlschemas.c include/libxml/schemasInternals.h
include/libxml/xmlerror.h: Completion of the schema graph.
Centralisation, more robustness of the schema document
aquisition story. Centralised and restructured component fixup.
Fixed attribute derivation when 'prohibiting' attribute uses.
Added warnings: when schema documents cannot be localized
during imports; when we get duplicate and pointless attribute
prohibitions. Changed error reports for IDCs to report
the relevant IDC designation as well (requested by GUY Fabrice).
Misc code-cleanup.
* xmlschemas.c: Some preparation for the creation of a graph
of imported/included/redefined schemas; this is needed for
at least the redefinitions.
Centralized the creation of the parser context in one function.
* xmlschemas.c include/libxml/xmlerror.h:
Changed output for keyref-match errors; the target-node will
be now reported rather than the scope-node of the keyref
definition - allowing easier chasing of instance errors.
This was reported by Guy Fabrice to the mailing list.
Some initial parsing code for schema redefinitions.
* result/schemas/bug303566_1_1.err
result/schemas/bug312957_1_0.err: Adapted test results due
to the keyref changes.
* xmlschemas.c: Fixed#312957 reported by Carol Hunter:
streaming XPath states were not popped in every case,
thus failed to resolve correctly for subsequent input.
* test/schemas/bug312957* result/schemas/bug312957*:
Added the test submitted by Carol Hunter.
* xmlregexp.c xmlschemas.c: trying to nail down the remaining
##other issues
* result/schemas/any7* test/schemas/any7: completed the tests
and added the results
* result/schemas/any3_0_0.err result/schemas/any5_0_0.err
result/schemas/any5_1_0.err: this slightly chnages the output
from 3 existing tests
Daniel
* HTMLparser.c SAX2.c encoding.c globals.c parser.c relaxng.c
runsuite.c runtest.c schematron.c testHTML.c testReader.c
testRegexp.c testSAX.c testThreads.c valid.c xinclude.c xmlIO.c
xmllint.c xmlmodule.c xmlschemas.c xpath.c xpointer.c: a lot of
small cleanups based on Linus' sparse check output.
Daniel
* xmlschemastypes.c: Added creation of the content type of
xs:anyType. This is needed when trying to extend xs:anyType
(although it makes no sense to extend it; IMHO the schema
people should have ruled this out). This was reported
by Yong Chen to the mailing list.
* xmlschemas.c: Fixed handling of xs:anyType in
xmlSchemaCheckCOSCTExtends() (reported by Young Chen). Tiny
adjustment to an error report output.
* test/schemas/extension2* result/schemas/extension2*:
Added a test case provided by Young Chen.
* xmlschemas.c: Removed the workaround code in
xmlSchemaValidateElemWildcard() for the <any> wildcard
with namespace == ##other. Support for such wildcards was
implemented by Daniel at the automaton level recently, and
the workaround code iterfered with it.
* error.c globals.c parser.c runtest.c testHTML.c testSAX.c
threads.c valid.c xmllint.c xmlreader.c xmlschemas.c xmlstring.c
xmlwriter.c include/libxml/parser.h include/libxml/relaxng.h
include/libxml/valid.h include/libxml/xmlIO.h
include/libxml/xmlerror.h include/libxml/xmlexports.h
include/libxml/xmlschemas.h: applied a patch from Marcus Boerger
to fix problems with calling conventions on Windows this should
fix#309757
Daniel
* parser.c: an optimization of the char data inner loop,
can gain up to 10% in pure SAX2 parsing speed
* xmlschemas.c: applied patch from Kupriyanov Anatolij fixing
a bug in XML Schemas facet comparison #310893
Daniel
* xmlregexp.c xmlschemas.c: fixed the error reporting for
not transitions
* result/schemas/any5_0_0* result/schemas/any5_0_2*
result/schemas/any5_1_0*: fixed output
Daniel
* xmlregexp.c xmlschemas.c include/libxml/xmlautomata.h: fixing
bug #172215 about foreign namespaces by adding support for
negated string transitions. Error messages still need to be
improved.
* test/schemas/any5* result/schemas/any5*: adding regression
tests for this.
Daniel
* xmlschemas.c: fixed xsd:all when used in conjunction with
substitution groups
* test/schemas/allsg_* result/schemas/allsg_*: adding specific
regression tests, strangely missing from NIST/Sun/Microsoft
testsuites
Daniel
* error.c relaxng.c xmlreader.c xmlschemas.c include/libxml/relaxng.h
include/libxml/xmlschemas.h: applied patch from Marcus Boerger
to route relaxng and schemas error messages when using the reader
through the structured interface if activated.
* elfgcchack.h doc/* testapi.c: rebuilt since this add new APIs
to test.
Daniel
* xstc/Makefile.am README README.tests Makefile.tests Makefile.am:
preparing to make testsuite releases along with code source releases
* gentest.py testapi.c: fixed a couple of problem introduced by
the new Schemas support for Readers
* xpath.c: fixed the XPath attribute:: bug #309580, #309864 in a crude
but simple way.
* xmlschemas.c include/libxml/tree.h: fixed a couple of problems
raised by the doc builder.
* doc/*: made rebuild
Daniel
* 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
* parser.c: fix for #309761 from Dylan Shell
* xmlschemas.c include/libxml/xmlschemas.h: added xmlSchemaSAXPlug
and xmlSchemaSAXUnplug generic APIs for SAX Schemas validation.
* xmllint.c: couple of fixes plus added descriptions for --sax and
--sax1
Daniel
* parser.c: fix some potential leaks in error cases.
* xmllint.c: added --sax, to allow testing of --schemas --sax and
various other combinations.
* xmlschemas.c: fix a couple of tiny problems in
xmlSchemaValidateStream()
Daniel
* test/relaxng/docbook_0.xml: added the missing entity to the
document internal subset to avoid errors if the DocBook catalogs
are not there
* xmlschemas.c: first cut at implementing xmlSchemaValidateStream()
untested yet
Daniel