Hi all, We use PsychoPath XPath 2.0 engine, for XML Schema 1.1 assertions in Xerces-J.
On xs:assert element, there is an attribute "xpathDefaultNamespace", which is presently not implemented in Xerces-J. I have started to implement it, and have made some progress. But I bumped into a little problem, for which I need advise from xerces-dev community. The PsychoPath JAR which is presently available on Xerces-J SVN repository (which is JRE 1.3 compliant), doesn't seem to have provision for using the "xpathDefaultNamespace". So even if we write an implementation of "xpathDefaultNamespace" for xs:assert in Xerces-J, Xerces-J cannot get the desired result for "xpathDefaultNamespace", from the current PsychoPath library available on Xerces-J SVN repository. [1] Or to say, PsychoPath currently doesn't have implementation for using "xpathDefaultNamespace" concept. To solve this problem, PsychoPath also needs to improve, at eclipse.org (which I'll try to do, with the PsychoPath team). The current PsychoPath code base, which is available on eclipse.org has changed a bit, and client side calls to invoke it have changed slightly. PsychoPath team is also planning to do significant changes to PsychoPath APIs in near future. Here is an Eclipse WTP thread discussing PsychoPath API changes, http://dev.eclipse.org/mhonarc/lists/wtp-wst-dev/msg00321.html. If the PsychoPath APIs do change (and I think, they would change for better), as described at the above mail thread (and some of them have already changed), then for Xerces-J to take advantage of new PsychoPath APIs, we need to change some code in Xerces-J as well (which invokes PsychoPath; say in the Xerces-J class AbstractPsychoPathImpl.java). Also, to implement "xpathDefaultNamespace" for xs:assert, we cannot implement it with current PsychoPath JAR available on Xerces-J SVN repository, due to reasons I have described above. [1] To be able to implement "xpathDefaultNamespace" attribute for xs:assert, I propose to have a provision in Xerces-J, to allow users to set say a system property, psychopath.optimize=true which will allow users to select a newer PsychoPath version, available from eclipse.org. By setting the property, psychopath.optimize=true Xerces-J will delegate the PsychoPath calls to different portion of the code (a separate class, or a method), which would allow users to use the xs:assert "xpathDefaultNamespace" facility, and also allowing users to be able to use the newer and improved PsychoPath APIs. I shall appreciate your thoughts please, about this. After we get a consensus here, I'll write the agreed upon code to interface with PsychoPath, as mentioned in this mail, with necessary communication to PsychoPath team as well. -- Regards, Mukul Gandhi --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
