2011-08-30 1 views
4

Apache FOP 1.0의 임베디드 사용에서 XSLT 2.0의 일부 기능을 사용하는 데 문제가 있습니다. 특히 "current-group()"을 사용할 때 예외가 발생합니다.XSLT 2.0을 사용하는 Java의 Apache FOP ...?

FOP가 예외를 던지는 xalan 2.6을 사용하고 있습니다.

xalan 2.6의 전이 종속성을 제외하고 2.7.1로 대체했지만 도움이되지 않았습니다. 더 많은 2.0 기능을 지원하는 다른 XSLT 프로세서에서 Apache FOP를 사용할 수 있습니까?

답변

1

XSLT, XPath에 2.0 기능이 필요한 경우 ... Saxon과 같이 JDK 또는 Xalan에서 제공하지 않는 다른 XSLT 프로세서/엔진을 사용해보십시오. 스키마 인식을 원한다면 무료 버전과 상용 버전이 있습니다. XML 데이터에서 PDF를 생성하기 위해 Apache-FOP와 함께 사용하며 잘 작동하며 날짜 및 숫자 형식화와 같은 2.0의 새로운 기능을 추가로 제공합니다. 그냥 saxon9.jar을 사용하고 사용 된 XSLT 엔진 (saxon)을 지정하십시오.

0

당신은 명령 줄에서 독립 유통로 FOP를 실행하는 경우, 수의 lib 디렉토리 (예 : saxon9he.jar 같은) XSLT 프로세서

  1. 사본 필요한 jar 파일 (들) 귀하 FOP 배포.

  2. 프로세서 구현을 지정

    어디 라인 org.apache.fop.cli.Main에서 ( 윈도우에서 리눅스에 fop, fop.bat) 시작 스크립트에이 -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl (색슨 예) 같은 VM 매개 변수를 추가하여 FOP에서 사용할 호출됩니다. 당신이 당신의 자바 코드에서 FOP를 포함하면

, 단순히 VM 매개 변수를 사용하여 응용 프로그램을 시작 (및 필요한 jar 파일이 CLASSPATH에 있는지 확인).