RE: [xsl] Accessing External Java Library

Subject: RE: [xsl] Accessing External Java Library
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Thu, 1 Nov 2007 12:59:07 -0000
> Before calling the external Java library I need to set some 
> attributes, e.g.
> 
> pgp.setArmor(true)
> pgp.setConventional(true)
> pgp.setInputIsText(true)
> pgp.setOutputIsText(true)
> 
> Is it possible to do this within the style sheet?

Yes, if you're careful. The problem is that these methods don't generate any
output, so there's a risk that they can get optimized away (or called in the
wrong order). The trick is to use them as if they were returning something,
and that something were written to your result tree, for example

<out>
  <xsl:value-of select="PGP:setArmor(true()), PGP:setConventional(true()),
PGP: ...etc"/>
> 
> Also the XSLT programmers reverence seems to imply that only 
> static types are supported - is this the case?
> 
No. The behaviour of extension functions varies from product to product and
release to release. The documentation for Saxon 8.9 is at 

http://www.saxonica.com/documentation/extensibility/functions.html

Michael Kay
http://www.saxonica.com/

Current Thread