2013-10-15 2 views

답변

6

나는 내 대답을 얻었다. TransformerFactory에는 플러그 가능 레이어가 있습니다. JAXP는 지원되는 표준 XSLT 프로세서의 다양한 구현을 유연성있게 허용하는 일반적인 Java 인터페이스를 제공합니다.

TransformerFactory tFactory = TransformerFactory.newInstance(); 

여기에는 XSLT 프로세서를 찾기위한 검색 절차가 있습니다. 우리는 정의하지 않았으므로 사용 가능하거나 기본값을가집니다.

이제 SAXON XSLT 프로세서를 추가하고 있습니다. 나는 의 .jar 내 프로젝트에서 파일 단지 그것 뿐이다

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

추가의 추가했습니다. 지금은 또 다른 더 유연한 방법으로 만들 수있는 공장 구현을 결정이 -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl (즉, 기본 XSLT 프로세서)와 같은 VM 매개 변수를 사용하여 응용 프로그램을 시작하는 것입니다 색슨 XSLT 프로세서를

0

을 사용합니다.

이렇게하면 코드 한 줄만 변경할 필요가 없습니다.

코드에 FOP를 포함 시키면 좋습니다 (분명히했듯이). 당신은 그러나, 명령 줄에서 독립 유통로 FOP를 실행하려는 경우, 당신이 할 수

  1. 복사 배포의 lib 디렉토리 (예 : Saxon.jar 같은) XSLT 프로세서에 필요한 jar 파일 (리눅스에 $LOCAL_FOP_HOME/lib, %LOCAL_FOP_HOME%lib Windows의 경우)

  2. org.apache.fop.cli.Main가 호출 될 줄에서 시작 스크립트 (리눅스에 fop, Windows에서 fop.bat )에 paramater를 추가합니다.