For https://bugzilla.gnome.org/show_bug.cgi?id=609796
Libxml2 fails to validate an instance document against a schema if an element
whose type is a complex extension of some base type with an optional child
element and that child element is not specified in the instance document. For
example, suppose I have some complex type BaseType that is defined to have one
child element in a sequence group that has minOccurs set to 0
* xmlschemas.c: when a particle need to be processed via counted
transition, if the group is nillable, the counting won't work, so
keep track of nillable subset as they are built and generate the
appropriate epsilon transitions as needed
* test/schemas/579746* result/schemas/579746*: add related test cases
based on the bug report
* xmlschemas.c: When validating a schema that includes the same file
that has no targetNamespace defined an internal erro was thrown,
depending on the orig namespace that should be allowed though
* test/schemas/582906-* result/schemas/582906-*: 2 tests case, one
where this is allowed, and one where this is forbidden
* xmlschemas.c: fixes the problem faced when importing the same schemas
multiple times but from different places which is allowed
* test/schemas/582887* result/schemas/582887*: adding the specific test
to the regressions
* Makefile.am: add the testchar to 'make check'
* xmlschemas.c: Volker Grabsch pointed out a typo
* xmlregexp.c: production [19] from XML Schemas regexps were a
mistake removed in version REC-xmlschema-2-20041028, Volker Grabsch
provided a patch to remove it
* test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd
test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0
result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided
regession tests for this
Daniel
svn path=/trunk/; revision=3776
* xmlregexp.c: apply patch from Andrew Tosh to fix behaviour
when '.' is used in a posCharGroup
* test/schemas/poschargrp0_0.* result/schemas/poschargrp0_0_0*:
added the test to the regression suite
Daniel
svn path=/trunk/; revision=3687
* xmlschemas.c test/schemas/*455953* result/schemas/bug455953*:
applied patch from Frank Gross fixing Schemas IDC import bug
#455953 and also add the test to the regression suite
Daniel
svn path=/trunk/; revision=3652
* xmlschemas.c: Fixed bug #341150, reported by Michael Romer.
In xmlSchemaBuildContentModelForSubstGroup(),
xmlAutomataNewOnceTrans2() was incorrectly used instead of
xmlAutomataNewTransition2() to mimic a xs:choice for
substitution-groups.
* test/schemas/subst-group-1_1.xsd
test/schemas/subst-group-1_0.xml
result/schemas/subst-group-1_0_1
result/schemas/subst-group-1_0_1.err: Added regression test
supplied by Michael Romer for bug #341150.
* test/schemas/bug321475* result/schemas/bug321475*:
Added regression test for bug #321475 (reported by
Gabor Nagy). Fixing of bug #323510 seemed to have
fixed this bug as well.
* 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.
* xmlschemastypes.c: applied patch from Kuba Nowakowski fixing bug
#313982
* result/schemas/bug313982* test/schemas/bug313982*: also added
the test case to the regression suite.
Daniel
* 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
* xmlregexp.c: fixed bug #310264, basically it's about reentrancy
of count based transition, when going though the counter must
be reset to 0
* test/schemas/bug310264* result/schemas/bug310264*: added the
regression test.
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.
* 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
* xmlschemastypes.c: Fixed bug #309338, reported by Kupriyanov
Anotolij.
* test/schemas/bug309338* result/schemas/bug309338*:
Added a regression test for the above bug.
* xmlschemas.c: Fixed facet errors to be channelled back for
union type members; facet-validation will stop now on the
first error. Reported by GUY Fabrice to the mailing-list.
* xmlschemastypes.c: Changed to ignore lengh-related facet
validation for QNames and NOTATIONs as proposed by the
schema people.
* test/schemas/union2* result/schemas/union2*: Added
regression tests for union types (by GUY Fabrice).
* test/schemas/bug303566_1* result/schemas/bug303566_1_1*:
Added regression a test provided by Heiko Oberdiek (bug #303566).
level for XML Schema IDCs (bug #303566 reported by Heiko Oberdiek).
This should not affect pattern-like resolution on every level.
* xmlschemas.c: Added output of canonical values in
identity-constraint error messages.
* xmlschemastypes.c include/libxml/xmlschemastypes.h:
Added xmlSchemaGetCanonValueWhtsp() to the API.
Further enhancement of the canonical value
conversion.
* test/schemas/changelog093_0.*: Added test with an XSD
submitted by Randy J. Ray.
* xmlschemas.c: Removed inheritance of "mixed" content type for
short-hand restrictions of "anyType" (reported by Guy Fabrice
to the mailing list). Added the namespace conversion (chameleon
includes) for the base type reference of <restriction> and
<extension>.
* test/schemas/bug152470_1.xsd: Adapted due to the above change
of "mixed" inheritance.
* tree.c: Changed xmlSearchNsByHref to call xmlNsInScope with
the prefix instead of the namespace name.
* test/schemas/annot-err_0.xsd test/schemas/element-err_0.xsd:
Adapted invalid values of the "id" attribute, since they are
validated now.
* 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).
* 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.
* xmlschemastypes.c: "" is a valid hexbinary string dixit xmlschema-dev
* result/schemas/hexbinary_0_1.err test/schemas/hexbinary_1.xml:
update the test.
* test/ns5 result//ns5*: added a test for the namespace bug fixed
in previous commit.
* Makefile.am: added a message in the regression tests
Daniel
* 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.
* 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 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
* 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
* xmlschemas.c include/libxml/xmlerror.h: applied another patch
from Kasimier Buchcik for Schema Component Constraints
* test/schemas/* result/schemas/*: added the regression tests
Daniel