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 (Updated) (JIRA)" <xe...@xml.apache.org> on 2011/12/02 05:00:40 UTC

[jira] [Updated] (XERCESJ-1502) Improvements to XML Schema 1.1 assertions processing

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

Mukul Gandhi updated XERCESJ-1502:
----------------------------------

    Description: 
I thought it's good to create a JIRA issue for these changes for tracking purposes. We made following enhancements to the XSD 1.1 assertions implementation post 2.11.0 release.

1. Improvements to assertion failure messages. Now assertion facet failure messages are similar to other facet failure messages. Earlier it was not apparent in error messages, that a facet failure with <assertion> *was from a facet*.

2. Improved processing logic for assertion evaluations for simpleType definitions having variety union. Improvements to updation of memberType PSVI result when assertions are involved for simpleType definitions with variety union.

3. Providing an improved PsychoPath XPath 2.0 JAR file. This includes quite a few improvements to couple of XPath 2.0 F&O function implementations, and few other enhancements. This provides benefits for <assert> and CTA (when in full XPath 2.0 mode) processing. 

4. It's now a static XSD error to have the <assert> XPath expressions to begin with the tokens / or // (since assert XDM trees are rooted at a parentless element node). For e.g /x, //x or a[/x] etc are incorrect assert XPath expressions and would result in a static error. We now produce a warning upon an XPath parse exception in this case. This change requires the new PsychoPath XPath 2.0 JAR.

5. If an <any> wild-card declaration has a specifier processContents="skip", then the XML instance content covered by such a wild-card declaration should be available to the in-scope <assert> components. This wasn't occurring earlier.

6. Implemented [failed assertions] PSVI property for "element information items".

7. The XSD attribute "id" on the elements <assert> and <assertion> are tested post Xerces 2.11.0 release, and are observed to be working fine.

8. Now an element node that's validated by a complex type definition, is the root node of <assert> XDM trees (this also applies to CTA implementation, which require similar behavior). The root node of <assert> XDM trees are now untyped (they carry the type annotation xs:anyType), and rest of nodes of <assert> XDM trees are typed as per the in-scope XSD types. These changes are as per recommendation from XSD 1.1 spec.

9. <assert> XDM trees now recognize the XML 'comment' and 'PI' nodes. But this is disabled by default, and can be enabled by setting the feature (on javax.xml.validation.Validator) 'Constants.XERCES_FEATURE_PREFIX + Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE' to 'true'.

10. Assertion fixes mentioned in JIRA issues XERCESJ-1489, XERCESJ-1470.

Thanks to Michael, Sandy and Khaled as well for helping with some of the design issues with these enhancements.

  was:
I thought it's good to create a JIRA issue for these changes for tracking purpose.

1. Improvements to assertion failure messages. Now assertion facet failure messages are similar to other facet failure messages. Earlier it was not apparent in error messages, that a facet failure with <assertion> *was from a facet*.

2. Improved processing logic for assertion evaluations for simpleType definitions having variety union. Improvements to updation of memberType PSVI result when assertions are involved for simpleType definitions with variety union.

3. Providing an improved PsychoPath XPath 2.0 JAR file. This includes quite a few improvements to couple of XPath 2.0 F&O function implementations, and few other enhancements. 

4. It's now a static error (we now produce a warning upon an XPath parse exception in this case) to have the <assert> XPath expressions to begin with the tokens / or // (since assert XDM trees are rooted at a parentless element node). for e.g /x, //x or a[/x] etc are incorrect assert XPath expressions and would result in a static error. This change requires the new PsychoPath XPath 2.0 JAR.

5. If the <any> wild-card has a specifier processContents="skip", then that part of XML content tree should be available to the in-scope assertion components. This wasn't occurring earlier.

6. Implemented [failed assertions] PSVI property for "element information items".

7. The XSD attribute "id" on the elements <assert> and <assertion> are tested post Xerces 2.11.0 release, and are observed to be working fine.

8. Now the element node that's validated by the complexType, is the root node of <assert> XDM trees. This also applies to CTA implementation now, which require similar behavior. Root node of <assert> XDM trees are now untyped (i.e they carry the type annotation xs:anyType), and rest of nodes of <assert> XDM trees are typed (this is as per recommendation from XSD 1.1 spec).

9. Implemented comment and PI nodes for assert XDM trees. Thanks to Michael Glavassevich for enhancing prior stages of XSD validation pipeline, that enabled this support in XMLSchemaValidator component as well as other downstream <assert> evaluation components. 

10. Assertion fixes mentioned in JIRA issues XERCESJ-1489, XERCESJ-1470.

    
> Improvements to XML Schema 1.1 assertions processing
> ----------------------------------------------------
>
>                 Key: XERCESJ-1502
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1502
>             Project: Xerces2-J
>          Issue Type: Improvement
>          Components: XML Schema 1.1 Datatypes, XML Schema 1.1 Structures
>    Affects Versions: 2.11.0
>            Reporter: Mukul Gandhi
>            Assignee: Mukul Gandhi
>
> I thought it's good to create a JIRA issue for these changes for tracking purposes. We made following enhancements to the XSD 1.1 assertions implementation post 2.11.0 release.
> 1. Improvements to assertion failure messages. Now assertion facet failure messages are similar to other facet failure messages. Earlier it was not apparent in error messages, that a facet failure with <assertion> *was from a facet*.
> 2. Improved processing logic for assertion evaluations for simpleType definitions having variety union. Improvements to updation of memberType PSVI result when assertions are involved for simpleType definitions with variety union.
> 3. Providing an improved PsychoPath XPath 2.0 JAR file. This includes quite a few improvements to couple of XPath 2.0 F&O function implementations, and few other enhancements. This provides benefits for <assert> and CTA (when in full XPath 2.0 mode) processing. 
> 4. It's now a static XSD error to have the <assert> XPath expressions to begin with the tokens / or // (since assert XDM trees are rooted at a parentless element node). For e.g /x, //x or a[/x] etc are incorrect assert XPath expressions and would result in a static error. We now produce a warning upon an XPath parse exception in this case. This change requires the new PsychoPath XPath 2.0 JAR.
> 5. If an <any> wild-card declaration has a specifier processContents="skip", then the XML instance content covered by such a wild-card declaration should be available to the in-scope <assert> components. This wasn't occurring earlier.
> 6. Implemented [failed assertions] PSVI property for "element information items".
> 7. The XSD attribute "id" on the elements <assert> and <assertion> are tested post Xerces 2.11.0 release, and are observed to be working fine.
> 8. Now an element node that's validated by a complex type definition, is the root node of <assert> XDM trees (this also applies to CTA implementation, which require similar behavior). The root node of <assert> XDM trees are now untyped (they carry the type annotation xs:anyType), and rest of nodes of <assert> XDM trees are typed as per the in-scope XSD types. These changes are as per recommendation from XSD 1.1 spec.
> 9. <assert> XDM trees now recognize the XML 'comment' and 'PI' nodes. But this is disabled by default, and can be enabled by setting the feature (on javax.xml.validation.Validator) 'Constants.XERCES_FEATURE_PREFIX + Constants.ASSERT_COMMENT_PI_CHECKING_FEATURE' to 'true'.
> 10. Assertion fixes mentioned in JIRA issues XERCESJ-1489, XERCESJ-1470.
> Thanks to Michael, Sandy and Khaled as well for helping with some of the design issues with these enhancements.

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