This has nothing to do with dependencies. The XSLT language allows you to
define arbitrary extension functions which can be called from XSLT.  Since
these functions are arbitrary there can't be a predefined interface for the
functions. So, the only way to load the functions if to load the component
ID, discover the IID of the interfaces in the component, and then go
searching for a method signature that matches the call from the XSLT engine.

Incomplete example...

Define XSLT extension namespace
... xmlns:extension="xpcom:my-component"
A this point XSLT should CreateInstance the component

my-component implements the custom xsIAdder interface
it has one method add(a, b)

from xslt I call
extension::add(x,y)
Now I have to search for an interface containing the add(x,y) function.

The next XSLT sheet may use the multiply component implementing the
xsIMultiply interface

I guess the extension definition could be changed to also  require an IID
but this would make it work different that other XSLT processors. But the
other problems outlined in previous messages would remain.

Jon Smirl
[EMAIL PROTECTED]




Reply via email to