2013-10-15 13 views

Trả lời

6

Tôi đã nhận được câu trả lời của mình. TransformerFactory có lớp khả năng cắm. JAXP cung cấp một giao diện Java phổ biến cho phép linh hoạt bổ sung các triển khai khác nhau của các bộ xử lý XSLT tiêu chuẩn được hỗ trợ.

TransformerFactory tFactory = TransformerFactory.newInstance(); 

Quy trình tìm kiếm này để định vị bộ xử lý XSLT.AS chúng tôi không xác định bất kỳ thông tin nào sẽ có sẵn hoặc mặc định.

Bây giờ, tôi đang thêm bộ xử lý SAXON XSLT. Tôi đã thêm nó .jar tập tin trong dự án của tôi và chỉ cần thêm

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

Vậy là xong. bây giờ nó sẽ sử dụng bộ vi xử lý Saxon XSLT

0

Một cách linh hoạt hơn nữa là khởi động ứng dụng của bạn với thông số VM như thế này -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl xác định việc triển khai Nhà máy nào (tức là bộ xử lý XSLT mặc định).

Bằng cách này, bạn không phải thay đổi một dòng mã riêng của mình.

Điều này là tốt, nếu bạn nhúng FOP vào mã của mình (như bạn đã làm). Nếu bạn muốn chạy FOP như phân phối độc từ dòng lệnh, tuy nhiên, bạn có thể

  1. sao chép các tập tin jar cần thiết với bộ xử lý XSLT (như ví dụ Saxon.jar) đến lib thư mục của phân phối của bạn ($LOCAL_FOP_HOME/lib trên Linux, %LOCAL_FOP_HOME%lib trên Windows)

  2. và thêm paramater để kịch bản bắt đầu (fop trên Linux, fop.bat trên Windows) tại dòng nơi org.apache.fop.cli.Main được gọi.

Các vấn đề liên quan