2011-12-16 42 views
13

Tôi muốn thực hiện phép chuyển đổi XSLT 2.0 bằng cách sử dụng các thực thi dòng lệnh. Tôi nghe nói rằng tôi có thể sử dụng thư viện Saxon bằng lệnh shell như java -jar sax.jar -input foo.xml -xsl foo.xsl -output bar.xml. Có ai biết chính xác tôi có thể đạt được mục tiêu đó không?Chuyển đổi XSLT 2.0 qua vỏ linux

Nhân tiện, tôi không giới hạn ở Java. Bất kỳ giải pháp vỏ khác là tốt.

+3

Hãy nhận biết rằng một phân tích cú pháp Sax không thực hiện XSLT. Trình phân tích cú pháp Sax phân tích cú pháp XML trong luồng và sự kiện cháy. Saxon là một bộ xử lý XSLT. Hầu hết thời gian bộ xử lý XSLT không truyền. Saxon (trong phiên bản thương mại của mình) có khả năng truyền trực tuyến với các hướng dẫn mới nhất được cung cấp bởi XSLT 3.0. –

+0

cảm ơn bạn đã làm rõ cách đặt tên chính xác – Alp

Trả lời

11

Tài liệu của Saxon trực tuyến: http://www.saxonica.com/documentation/using-xsl/commandline.xml. Vì vậy, bạn cần java -jar saxon9he.jar -xsl:foo.xsl -s:foo.xml -o:bar.xml.

+3

cảm ơn rất nhiều. tôi cũng tìm thấy điều này: http://manpages.ubuntu.com/manpages/oneiric/man1/saxonb-xslt.1.html cũng tốt hay bạn muốn gì hơn? – Alp

+1

Phiên bản Saxon được phân phối với bản phân phối Ubuntu của bạn có lẽ khá cũ. Nó có lẽ tốt hơn để tải về phiên bản mới nhất (mặc dù nếu bạn là một người mới bắt đầu có thể bạn sẽ không nhận thấy sự khác biệt nhiều). –

+0

tải xuống phiên bản gia đình từ http://saxon.sourceforge.net – akostadinov

2

Tôi vừa viết this bash script để sử dụng các lớp com.sun.org.apache.xalan.internal.xsltc.cmdline để chuyển đổi XML. Làm việc với openjdk tốt. Không phải là một giải pháp cho các trường hợp sử dụng sản xuất nhưng tiện dụng để gỡ lỗi.

P.S. lấy ý tưởng từ this blog

GIẢI PHÁP 2: sử dụng xalan command line

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