[ 
https://issues.apache.org/jira/browse/XERCESJ-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mukul Gandhi updated XERCESJ-1489:
----------------------------------

    Attachment: assert_attribute_testcases.zip

I'm attaching few test cases related to this fix (i.e for simpleType variety 
'atomic'), and also few XML schema and instance document examples for 
simpleType varieties 'list' and 'union'. The file names are self explanatory to 
know which XML document needs to be validated by which schema (both valid and 
invalid cases are included, which can be known by performing the validation 
with Xerces implementation).

I hope these test cases would be useful to test these fixes.  

> 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
>         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 is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to