In short:
- download the latest saxon.jar (saxon 8+), free available for non-commercial
use i believe..
- add the following to the cocoon.xconf:
<!--+
| Saxon XSLT Processor
| For old (6.5.2) Saxon use:
| <parameter name="transformer-factory"
value="com.icl.saxon.TransformerFactoryImpl"/>
| For new (7.x?) Saxon use:
| <parameter name="transformer-factory"
value="net.sf.saxon.TransformerFactoryImpl"/>
+-->
<!-- configured for saxon 8 -->
<component logger="core.xslt-processor"
role="org.apache.excalibur.xml.xslt.XSLTProcessor/saxon"
class="org.apache.excalibur.xml.xslt.XSLTProcessorImpl">
<parameter name="use-store" value="true"/>
<parameter name="incremental-processing" value="false"/>
<parameter name="transformer-factory"
value="net.sf.saxon.TransformerFactoryImpl"/>
</component>
(a similar section is already there)
- add the following to the top-level sitemap (if you want to have it available
everywhere):
<map:transformer logger="sitemap.transformer.saxon" name="saxon" pool-grow="2" pool-max="32"
pool-min="8" src="org.apache.cocoon.transformation.TraxTransformer">
<use-request-parameters>false</use-request-parameters>
<use-session-parameters>false</use-session-parameters>
<use-cookie-parameters>false</use-cookie-parameters>
<use-browser-capabilities-db>false</use-browser-capabilities-db>
<xslt-processor-role>saxon</xslt-processor-role>
<check-includes>true</check-includes>
</map:transformer>
- and use <transform type="saxon" ... /> instead of <transform type="xslt" ...
/>
Fun thing is that you can use Xalan and Saxon beside each other and choose for each conversion which
parser to use...
I recommend to stick to Xalan (type xslt) for XSLT 1 type stylesheets. Makes it easier to recognize
where you are using Saxon exactly.
HTH,
Geert
Roberto Marra wrote:
Hi Geert & thanx,
pls, can you give me some tips&tricks how to do that?
Cheers
Roberto
----- Original Message -----
From: "Geert Josten" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, June 21, 2005 3:50 PM
Subject: Re: XPath function
Hi,
That function doesn't exist in XPath 1.0:
http://www.w3.org/TR/xpath#section-String-Functions
But is a XPath 2.0 function:
http://www.w3.org/TR/xquery-operators/
If you want to use XPath 2.0 functions, you need to configure a XSLT 2
compliant parser. For
instance the latest Saxon parser.
Cheers,
Geert
Roberto Marra wrote:
Hi guys,
I don't know why with Cocoon some xpath function in an XSLT file works
some other not. Let say for instance that " string-length(/string/)"
works but if I try to use " string-join(/(string,string,...),sep/)"
Cocoon return me:
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
=====================================
NB: het Daidalos kantoor is sinds 22 april
jl. gevestigd op een nieuw adres:
Daidalos BV
Hoekeindsehof 1 - 4
2665 JZ Bleiswijk
tel: +31 (0)10 850 12 00
fax: +31 (0)10 850 11 99
Bovenstaand adres is tevens het postadres.
======================
[EMAIL PROTECTED]
IT-consultant at Daidalos BV
http://www.daidalos.nl/
GPG: 1024D/12DEBB50
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]