2008-10-20 39 views
27

Tôi có một servlet Java tạo xml, dịch nó bằng một biểu định kiểu xslt và sau đó hiển thị HTML kết quả. Đây là lần đầu tiên tôi làm việc với xslt. Cách tốt để gỡ lỗi xslt là gì? Tôi có (hoặc có thể nhận được) một số tệp XML mẫu để áp dụng biến đổi. Nhưng tôi thậm chí không thực sự chắc chắn về cú pháp vì vậy một cái gì đó mà sẽ cho tôi những cảnh báo cú pháp sẽ là tuyệt vời.Công cụ gỡ lỗi xslt

Trả lời

8

Xalan sẽ cung cấp cho bạn các lỗi hữu ích khi bạn cố gắng sử dụng XSLT không hợp lệ. Nếu bạn muốn thứ gì đó mạnh hơn, một tùy chọn để gỡ lỗi XSLT là Oxygen XML Editor. Nó được tích hợp với động cơ biến đổi Xalan và Saxon. Chế độ gỡ lỗi của nó cho phép bạn thiết lập các điểm ngắt, xem các biến và cung cấp các chức năng gỡ lỗi cơ bản khác. Nó có thể là overkill cho bạn muốn, nhưng nó rất tốt.

2

khi học, một nổi bật trình soạn cú pháp thường là đủ cho tôi (tất nhiên với ref doc mở trên một cửa sổ khác.

Kate là một trình soạn thảo tuyệt vời cho XML và XSLT.

+0

Công cụ đánh dấu cú pháp rất hữu ích. Tôi đang sử dụng VI trên máy chủ của tôi ngay bây giờ vì tôi không thực hiện thiết lập môi trường dev của tôi. Nhưng những gì tôi thực sự muốn là có thể chạy xml và xslt thông qua một bộ xử lý và nhận được thông báo lỗi hoặc bất cứ điều gì mà không cần phải chạy toàn bộ quá trình servlet. –

+0

thử một bộ xử lý dòng lệnh xslt; tôi sử dụng xalan, nhưng bất cứ ai cũng làm. Tôi chắc chắn vi có thể chạy nó và sẽ không được surpriesed nếu nó thậm chí có thể phân tích các kết quả đầu ra lỗi như nó với trình biên dịch – Javier

+0

Oh, bạn hoàn toàn muốn được thực hiện các biến đổi của bạn và xem đầu ra của họ trong IDE của bạn. Tôi không nghĩ rằng một trình gỡ rối rất quan trọng, nhưng đó là điều cần thiết. –

7

Có lần tôi đã phải viết và gỡ lỗi một số tài liệu XSLT phức tạp, lúc đó tôi đã sử dụng "printf-style" được gỡ rối bằng cách xuất ra rất nhiều giá trị trung gian, sau đó tôi đã tìm ra cách dễ dàng hơn để làm điều này - Altova XMLSpy. -chuyển qua quy trình ứng dụng theo phong cách, xem đầu ra trung gian, v.v.

VS8 cũng có XSLT debugg hỗ trợ. Xem tại đây: http://msdn.microsoft.com/en-us/library/ms255605(VS.80).aspx

Tôi cũng nên đề cập đến cả XMLSpy và VS8 đều có cú pháp tô sáng. Nếu bạn chỉ định một XSD trong XML của bạn, VS8 thậm chí cung cấp cho bạn intellisense!

+0

Thật không may, tôi không thể biện minh cho chi phí cho sếp của mình vì mục đích sử dụng hạn chế mà tôi nhận được, hiện tại. Nếu điều này trở thành một dự án dài hạn, tôi có thể có được một dự án khác. –

+0

Chỉ cần tải xuống phiên bản Express của Visual Studio sau đó. Nó miễn phí. –

+0

Một bài đăng tuyệt vời về hỗ trợ gỡ lỗi XSLT của Visual Studio tại đây: http://www.codeproject.com/Articles/41992/Debugging-XML-Transforms-XSLT-with-Visual-Studio – Merenzo

3

Tôi làm việc với XSLT gần như mỗi ngày và có sáu hoặc bảy năm.

Tôi đã nhận thấy rằng việc gỡ lỗi "kiểu printf" của XSLT rất hiệu quả đến mức tôi chưa bao giờ thu được lợi ích từ việc sử dụng bất kỳ cơ chế gỡ lỗi nào khác (và tôi đã thử XMLSpy và Visual Studio). Nó đôi khi xảy ra rằng tôi muốn để có thể kiểm tra giá trị của một biến và xây dựng logic mà kết quả đầu ra nó là một rắc rối. Nhưng điều đó khá hiếm.

Có thể có một trình gỡ lỗi sẽ làm cho việc học được XSLT dễ dàng hơn. (. Bất cứ điều gì sẽ có)

2

Xselerator là s công cụ gỡ lỗi XSL tuyệt vời mà sẽ:

  • Hãy để bạn bước qua dom XSLT của bạn
  • Tạo báo cáo hồ
  • Đánh giá báo cáo XPath chống lại bạn XML DOM
  • IDE với Intellisense

Tôi đã sử dụng điều này trong nhiều năm và nó là một công cụ tuyệt vời.

8

Nếu bạn muốn thực hiện "gỡ lỗi kiểu" printf "và không muốn xả đầu ra của bạn bằng dữ liệu gỡ lỗi, hãy sử dụng thẻ <xsl:message> để tạo kết quả gỡ lỗi trong khi xử lý biểu định kiểu. Với thuộc tính terminate="yes", bạn thậm chí có thể tạm dừng việc xử lý biểu định kiểu.

+2

A) Sử dụng dòng lệnh 'xmllint mytransform.xsl' như một trình kiểm tra cú pháp cơ bản rất hữu ích để bắt các dấu ngoặc không khớp, vv .. B) Cũng chạy một bộ xử lý dòng lệnh trong chế độ tiết có thể thực sự hữu ích. khi bạn không biết tại sao xslt bị nghẹt thở trên mã của bạn. 'xsltproc -v mytransform.xsl input.xml &> log.txt' gộp rất nhiều thông tin từ bộ xử lý xsltprocessor. Lọc ra nhiễu bằng cách sử dụng tìm kiếm với vim hoặc grep cho các thông báo gỡ lỗi của bạn như "DEBUG: Bắt đầu mã của tôi" hoặc các mẫu chuỗi hữu ích như 'áp dụng mẫu'. – GuruM

2

PHPStorm và các hỗ trợ IntelliJ IDE khác (thương mại) debugging XSLT. Bạn có thể bước qua tài liệu và xem kết quả được tạo ra từng bước.

0

Microsoft Visual Studio cũng là một công cụ tuyệt vời cho trình gỡ lỗi xslt. Nhưng bạn phải cài đặt

+0

Cài đặt thành phần studio trực quan, thành phần phát triển văn phòng – Pratzz

+0

Bạn có thể chỉnh sửa câu trả lời. Mặc dù tôi không thấy rằng điều này thêm bất cứ điều gì cho câu hỏi mười tuổi này, chưa được đề cập đến. – MrT

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