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]

Reply via email to