Francis, you wrote:

>Does anybody has implemented or has pointers to a  JNI interface
>of the DOM C++ implementation???

This would be a very bad idea. As far as I know, Sun has broken the
JNI interface for C++ programs that use exceptions. _ALL_ exceptions,
even handled ones, are now intercepted by Java, and the native code
never sees them. Since Xerces-C depends on exceptions to detect the
end of a document during parsing, it can no longer be used as a JNI
interface.

This change occurred around the time that Sun moved to the 1.3 JDK.
I have spoken to Sun about this, and their response was that the
Java language and JNI do not claim to support advanced language
features in languages such as C++. The features specifically
mentioned were exception handling, templates, and run-time type
identification.

As a result of this position, Sun has killed C++ as a language for
JNI development. Since they refuse to support these features, there
is no reason to use C++ in JNI. However, the C language should still
work, so C/C++ programs are not totally closed out from JNI
development.

Very few people seem to be aware of this problem, or to care about
it's implications. I was sure, when I found out, that there would
be screams of pain from the JNI developers. But as far as I can see,
only a few people care about this, or are affected by this change.
Note that JDK versions up to 1.2.2_05a seem to work fine with
exceptions, rtti, and templates. So if you must use JNI and C++,
you can always specify that only the 1.2.2 JDK versions are
supported.

Regards,
--Carl



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to