2013-10-15 8 views

risposta

6

Ho ricevuto la mia risposta. TransformerFactory ha uno strato plug-in. JAXP fornisce un'interfaccia Java comune che consente la flessibilità di aggiungere varie implementazioni dei processori XSLT degli standard supportati.

TransformerFactory tFactory = TransformerFactory.newInstance(); 

questo ha avuto procedura di look-up per individuare processors.AS XSLT che non definito alcun, ci vorrà a disposizione o di default.

Ora, sto aggiungendo il processore XSLT SAXON. Ho aggiunto che è file .jar nel mio progetto e appena aggiunto

TransformerFactory tFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl",null); 

Questo è tutto. ora utilizzerà il processore Saxon XSLT

0

Un altro modo più flessibile è avviare l'applicazione con un parametro VM come questo -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl che determina quale implementazione Factory creare (cioè il processore XSLT predefinito).

In questo modo, non è necessario modificare una singola riga del codice stesso.

Questo va bene, se si incorpora FOP nel codice (come apparentemente fatto). Se si desidera eseguire FOP la distribuzione standalone da linea di comando, tuttavia, è possibile

  1. copia i file jar richiesti con il processore XSLT (come ad esempio Saxon.jar) alla lib directory della distribuzione ($LOCAL_FOP_HOME/lib su Linux, %LOCAL_FOP_HOME%lib su Windows)

  2. e aggiungere il paramater allo script di avvio (fop su Linux, fop.bat su Windows) alla linea dove org.apache.fop.cli.Main si chiama.

Problemi correlati