[ 
https://issues.apache.org/jira/browse/XERCESJ-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12700659#action_12700659
 ] 

Mukul Gandhi commented on XERCESJ-1365:
---------------------------------------

sorry, I forgot to mention. the latest patch that I provided includes the 
following feature as well:
ability of assertion XPath expressions to contain a variable, $value as 
mentioned in the XML Schema 1.1 spec.

> assertions XPath 2.0 patch
> --------------------------
>
>                 Key: XERCESJ-1365
>                 URL: https://issues.apache.org/jira/browse/XERCESJ-1365
>             Project: Xerces2-J
>          Issue Type: Improvement
>          Components: XML Schema 1.1 Structures
>    Affects Versions: 2.9.1
>         Environment: JRE 1.5.x
>            Reporter: Mukul Gandhi
>            Assignee: Khaled Noaman
>         Attachments: assert xpath2 impl src_20.04.09.zip, assert xpath2 
> patch_20.04.09.txt, assertions test cases.zip, XMLSchema11Test.java
>
>
> I am pleased to provide a patch with almost complete implementation of XML 
> Schema 1.1 assertions. Some things might have been overlooked (though not 
> anything major it seems to me), and I am continuing finding and correcting 
> any known issues.
> This JIRA issue provides a complete implementation of XML Schema 1.1 
> assertions, in combination with the current code in SVN.
> This JIRA issue supersedes the issue, 
> https://issues.apache.org/jira/browse/XERCESJ-1363. Kindly abort/cancel the 
> issue XERCESJ-1363 and review this one instead.
> I am providing all the necessary files for review that affect assertions (the 
> files for the issue, XERCESJ-1363 are also available in this JIRA issue).
> This code submission provides XPath 2.0 interface with the Psychopath 
> processor. Psychopath processor is presently not 100% compliant to the XPath 
> 2.0 spec. It's capabilities and limitations are mentioned in the document, 
> http://psychopath.sourceforge.net/report.pdf. Kindly be aware, that failure 
> to evaluate some legal XPath 2.0 expressions, would most likely be because of 
> limitations of Psychopath. 
> There is another issue I am aware of with the current assertions code I am 
> submitting.
> For e.g., if there is assertions declaration like following:
>  <xs:element name="A">
>    <xs:complexType>
>      <xs:sequence>
>        <!-- something -->
>      </xs:sequence>
>      <xs:assert test="exists(@x)" />
>    </xs:complexType>
>  </xs:element>
> The <xs:assert above would test if there is an attribute 'x' on the element 
> 'A'. If attribute 'x' is actually present on element 'A', the above assertion 
> should evaluate to true (this is I think, what the XML Schema 1.1 spec says).
> But with the Psychopath processor, I am facing a problem, that I have to 
> write the above assertion as following, to work correctly:
> <xs:assert test="exists(root/@x)" /> or perhaps, <xs:assert 
> test="exists(*/@x)" />
> For the above Schema example, a DOM is being built whose root element is 'A'. 
> The Psychopath processor assumes a context node as / (i.e., the XPath 2.0 
> document node) while evaluating XPath expressions (when it is supplied with a 
> DOM). So at present with Psychopath processor, one must descend one step 
> extra while writing XPath expressions.
> I am working on this issue, and would post a fix, when I find a solution.
> I would provide some test cases as well after some time.

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

Reply via email to