xmlgraphics-fop-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Delmelle <andreas.delme...@telenet.be>
Subject Re: Saxon - XSLT 2.0 and Apache FOP
Date Wed, 31 Dec 2008 15:26:02 GMT
On 31 Dec 2008, at 13:44, Simon Pepping wrote:

Hi Simon, Phil,

> This can be achieved by manipulating your classpath. If you ensure
> that saxon's jar file is before xalan in the classpath, the correct
> definition as quoted below is ensured automatically. This is achieved
> because the jar file has this setting in its META-INF/services
> directory.

Correct, but ... this is only true in case the Java runtime does not  
come bootstrapped with its own XSLT processor. Sun and IBM both bundle  
Xalan, which becomes the preferred implementation unless you either  
override it using the JAXP system property. GNU Classpath is an  
example of a Java runtime that does not bundle its own XSLT processor.

Another option to force Saxon to be the chosen XSLT implementation at  
runtime, is to specify the 'bootclasspath' system property, and make  
sure Saxon's JAR ends up before the 'native' Xalan version.

Same for the parser. Fiddling with the normal classpath alone is not  
sufficient to ensure that another version than the bundled one is used  
at runtime.

To sum it up, the options are:
1° set the related system properties via the command-line
2° set them in a jaxp.properties file (should be located in $JRE_HOME$/ 
lib)
3° force the bootclasspath via the command-line, so that the desired  
implementations appear before their 'native' counterparts
4° override the implementations by dropping the related JARs in  
$JRE_HOME$/lib/endorsed

Both option 1° and 3° affect only one particular run of one application.
Option 2° and 4° will affect all Java-XML applications running on the  
system.


Cheers, and all the best for 2009!

Andreas


Mime
View raw message