You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-dev@xerces.apache.org by "Mukul Gandhi (JIRA)" <xe...@xml.apache.org> on 2010/12/12 02:10:01 UTC

[jira] Created: (XERCESJ-1489) XML Schema 1.1: improvements to assertion facet evaluation on schema simpleType on attributes

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


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: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org


[jira] Resolved: (XERCESJ-1489) XML Schema 1.1: improvements to assertion facet evaluation on schema simpleType on attributes

Posted by "Mukul Gandhi (JIRA)" <xe...@xml.apache.org>.
     [ https://issues.apache.org/jira/browse/XERCESJ-1489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mukul Gandhi resolved XERCESJ-1489.
-----------------------------------

    Resolution: Fixed

I'm marking this issue as fixed.

> 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: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org


[jira] Updated: (XERCESJ-1489) XML Schema 1.1: improvements to assertion facet evaluation on schema simpleType on attributes

Posted by "Mukul Gandhi (JIRA)" <xe...@xml.apache.org>.
     [ 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: j-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-dev-help@xerces.apache.org