[
https://issues.apache.org/jira/browse/XERCESJ-1365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mukul Gandhi updated XERCESJ-1365:
----------------------------------
Attachment: (was: assert xpath2 impl.zip)
> 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: 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: [email protected]
For additional commands, e-mail: [email protected]