2013-10-15 16 views

cevap

6

Cevabım var. TransformerFactory, bir eklentisi katmanına sahiptir. JAXP, esnek standartların desteklenen standart XSLT işlemcilerin çeşitli uygulamalarını eklemesine izin veren ortak bir Java arabirimi sağlar.

TransformerFactory tFactory = TransformerFactory.newInstance(); 

Bu

biz mevcut veya varsayılan alacak herhangi tanımlı değil XSLT processors.AS bulmak için look-up prosedürü vardı.

Şimdi SAXON XSLT işlemci ekliyorum. Bunun .jar projemde dosya ve sadece var

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

eklendi bulunuyor ekledik. şimdi Diğer bir daha çok esnek bir şekilde oluşturmak için olan fabrika uygulama belirleyen bu -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl (yani varsayılan XSLT işlemci) gibi VM parametresiyle uygulamayı başlatmak için Saxon XSLT işlemciye

0

kullanır.

Bu şekilde, kodunuzun kendisini tek bir satır değiştirmek gerekmez. (Eğer görünüşte yaptığı gibi) kodunuzda ödeme şeklinizi katıştırıyorsanız

Bu, gayet iyi. Eğer bununla birlikte, komut satırından başına dağıtıma olarak ödeme şekli çalıştırmak istiyorsanız, aşağıdakileri yapabilirsiniz

  1. kopyası dağıtımın lib dizinine (örneğin Saxon.jar gibi) XSLT işlemcisi ile gerekli kavanoz dosyalar (Linux üzerinde $LOCAL_FOP_HOME/lib, %LOCAL_FOP_HOME%lib Windows üzerinde)

  2. ve org.apache.fop.cli.Main denir çizgisinde başlangıç ​​komut dosyası (Linux üzerinde fop, Windows üzerinde fop.bat ) için parametrenin yeni ekleyin.