[kaffe] CVS kaffe (dalibor): Merged in gjdoc and libxmlj
daniel at veillard.com
Fri Apr 16 09:00:03 PDT 2004
On Fri, Apr 16, 2004 at 03:52:49PM +0200, Julian Scheid wrote:
> >It's really a wrapper around libxslt. It comes with a native JNI part,
> >and a set of java classes.
> That's correct. I think the source code is quiet tidy, not too big and
> more or less well documented - please take a look at it (in particular,
> the Java side of things) to get the big picture. The README should also
> contain some additional information.
> As for "how [libxmlj] maps with the Java APIs", it is a partial
> implementation of the Java API for XML Transformations (package
> javax.xml.transform). Again, see the README for further information.
> It works basically by wrapping calls to libxslt using JNI. Unfortunately,
> libxslt is not thread safe (reentrant), doesn't allow binding user
> values to all internal data structures and doesn't provide callback hooks
> for all events IIRC - this makes the whole thing kind of hackish.
In libxml2 you can bind values to user structures, see the _private fied,
people doing PHP and Perl wrappers use this. There is callbacks for
node creation and destruction only.
Libxslt is reentrant in the sense that you can run parallel transformations
with a common stylesheet, I don't know what other kind of reentrancy
would really make sense. It also provide hooks related to the transformation
process, for example you can get a callback when a template is applied, etc.
> I didn't look at the latest version of libxslt, but I fear that a wrapper
> which is 100% conforming to the Sun specs will not be possible or only
> by going great lengths. I would have to look deeper into the code however
> in order to be able to say something more specific about this.
I don't know the Sun API, so it's a bit hard for me to gauge what might
I was just wondering if progress was made, that's why I asked.
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
More information about the kaffe