You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xalan.apache.org by Ivan Bogouchev / Иван Богушев <iv...@gmail.com> on 2005/09/08 13:04:24 UTC
Xalan-c, bdbxml and the document() function
Hi all,
I am considering the integration of Xalan-c and sleepycat's berkley dbxml.
It is no problem to extract a document from the db, and then
reparse/transform it with Xalan (there is also the possibility to get
directly a Xerces-c DOM tree from the db).
But I need to be able to load new documents coming from the db from within
my stylesheets.
So I guess one solution would be to write an extension function for the
XalanTransformer that loads a document from the db (or even executes a
XQuery), but I was wandering if it is possible to extend the existing
document() function, in order to be able to do document('
bdbxml://container/document').
And now the question: is it possible to extend the document() function in
such a way and if yes can someone give me some hints on where to start?
--
--Ivan--
Re: Xalan-c, bdbxml and the document() function
Posted by da...@us.ibm.com.
> I am considering the integration of Xalan-c and sleepycat's berkley
> dbxml.
>
> It is no problem to extract a document from the db, and then
> reparse/transform it with Xalan (there is also the possibility to get
> directly a Xerces-c DOM tree from the db). But I need to be able to
> load new documents coming from the db from within my stylesheets.
>
> So I guess one solution would be to write an extension function for
> the XalanTransformer that loads a document from the db (or even executes
> a XQuery), but I was wandering if it is possible to extend the existing
> document() function, in order to be able to do
> document('bdbxml://container/document').
>
> And now the question: is it possible to extend the document() function
in
> such a way and if yes can someone give me some hints on where to start?
What we really need in Xalan-C is a concept like the JAXP URIResolver, but
designed with C++ in mind. We had several proposals on the list a few
years back, but didn't really get anywhere with them. My suggestion is
you take a look at the implementatation of the existing document()
function, because you will see calls to parse URLs go through
XSLTProcessorEnvSupportDefault::parseXML(). You can modify that class to
intercept calls to specific URL schemes and supply the appropriate
document.
Dave