[
https://issues.apache.org/jira/browse/XERCESJ-1559?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mukul Gandhi resolved XERCESJ-1559.
-----------------------------------
Resolution: Fixed
This issue doesn't appear to be related to Xerces's XSD 1.1 assertion
implementation, and seems to affect both the Xerces 1.1 and 1.0 versions. Upon
investigation it is revealed that when the root XML instance element refers an
XSD type via xsi:type, then the absence of an element declaration for the XML
root element instance is ignored while determining the XSD validation outcome
(which perhaps shouldn't be the case). This bug has been fixed within SVN
revisions, r1328734 & r1328735.
> Error with simple type assertions and xsi:type
> ----------------------------------------------
>
> Key: XERCESJ-1559
> URL: https://issues.apache.org/jira/browse/XERCESJ-1559
> Project: Xerces2-J
> Issue Type: Bug
> Components: XML Schema 1.1 Datatypes
> Affects Versions: 2.11.0
> Reporter: Jorge L. Williams
> Assignee: Mukul Gandhi
>
> In the latest XSD 1.1 branch, it looks like simple type assertions are not
> being enforced when the type is specified via the xsi:type attribute. I'm
> attaching a schema and instance documents as a reference.
> If I do
> java -cp $CLASSPATH jaxp.SourceValidator -fx -xsd11 -a assertion.xsd -i
> even_bad.xml
> I get a correct error, but if I do
> java -cp $CLASSPATH jaxp.SourceValidator -fx -xsd11 -a assertion.xsd -i
> number_bad.xml
> I don't get an error at all.
> assertion.xsd:
> ---------------------
> <schema
> elementFormDefault="qualified"
> attributeFormDefault="unqualified"
> xmlns="http://www.w3.org/2001/XMLSchema"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:tst="http://www.rackspace.com/test/assertion"
> targetNamespace="http://www.rackspace.com/test/assertion">
> <element name="even" type="tst:Even"/>
> <!-- Simple Types -->
> <simpleType name="Even">
> <restriction base="xsd:int">
> <minInclusive value="0"/>
> <maxInclusive value="100"/>
> <assertion test="$value mod 2 = 0"/>
> </restriction>
> </simpleType>
> </schema>
> -------------
> even_bad.xml
> -----------
> <even xmlns="http://www.rackspace.com/test/assertion">13</even>
> -----------
> number_bad.xml
> ------------
> <number xmlns:tst="http://www.rackspace.com/test/assertion"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:type="tst:Even"
> >13</number>
> ------------
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]