[
https://issues.apache.org/jira/browse/XERCESJ-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mukul Gandhi updated XERCESJ-1489:
----------------------------------
Fix Version/s: 2.12.0
> XML Schema 1.1: improvements to assertion facet evaluation on schema
> simpleType on attributes
> ---------------------------------------------------------------------------------------------
>
> Key: XERCESJ-1489
> URL: https://issues.apache.org/jira/browse/XERCESJ-1489
> Project: Xerces2-J
> Issue Type: Improvement
> Components: XML Schema 1.1 Datatypes
> Affects Versions: 2.11.0
> Reporter: Mukul Gandhi
> Assignee: Mukul Gandhi
> Priority: Minor
> Fix For: 2.12.0
>
> Attachments: assert_attribute_testcases.zip
>
>
> I made a SVN commit r1044567 yesterday with a fix related to assertion facet
> evaluation as mentioned in the subject of this bug report. This particular
> commit solved this issue, and I thought it's probably good to create a JIRA
> issue to explain what the issue exactly was and how this commit solved this
> issue. Any comments about this fix from fellow committers and Xerces
> dev-community would be welcome.
> Please consider these sample XML and schema documents.
> XML 1:
> <A x="100" />
> XML 2:
> <A x="101" />
> XML Schema 1.1 document:
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
> <xs:element name="A">
> <xs:complexType>
> <xs:attribute name="x" type="MYINT" />
> </xs:complexType>
> </xs:element>
>
> <xs:simpleType name="MYINT">
> <xs:restriction base="xs:int">
> <xs:assertion test="$value mod 2 = 0" />
> </xs:restriction>
> </xs:simpleType>
>
> </xs:schema>
> (the XML schema simpleType in the above schema specifies, that an atomic
> value in instance document must be an even integer)
> The above schema document must report XML document 1 as valid while XML
> document 2 as invalid. In the specified schema the simpleType "MYINT" would
> validate the relevant XML attribute's value and the assertion XPath context
> variable $value would be assigned the attribute's value (with necessary
> schema type annotation).
> The code-base in Xerces 2.11.0 release didn't set the correct simpleType
> variety on the Xerces schema assertion object XSAssertImpl (when that relates
> to XML attributes), in case the variety was 'atomic' (but the implementation
> was correct for simpleType varieties 'list' and 'union'). This defect caused
> such assertions (as specified in an example above) to be skipped from
> evaluation.
> The commit I've mentioned has solved this particular issue.
> Thanks.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]