[ 
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 working 
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 
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.

    
> 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 working 
> 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to