xsl-list
[Top] [All Lists]

Re: Sablotron and PHP

2003-11-14 01:42:08
Hi Paul,

Fair enough. Then, mostly for the benefit of anyone searching the
archives, I'll just say: a number of limitations of XSLT and XPath 1
can be overcome by use of scheme handlers if you're using PHP's XSLT
functions via the Sablotron engine. The relevant function is
xslt_set_scheme_handlers; it enables you to create custom functions
to handle the document() function.
[snip]
I wonder, tho, if other XSL engines have a similar callback
capability.

Those XSLT processors that support the TrAX API (i.e. most of the Java
XSLT processors, including Saxon and Xalan) have this capability. You
can set the URIResolver of a Transformer object to anything that
implements the URIResolver interface. The URIResolver.resolve() method
takes a URI and a base URI and returns a Source object, which is used
to create the document node that is returned by the document()
function.

Of course, you have to make sure that the results returned for a
particular URI are stable during a particular transformation. And
using this technique can limit the portability of a particular
stylesheet to other XSLT processors or environments.

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>