2008-10-20 65 views
27

我有一個Java servlet生成xml,用xslt樣式表翻譯它,然後顯示生成的HTML。這是我第一次使用xslt。什麼是調試xslt的好方法?我有(或可以獲取)一些示例XML文件來應用轉換。但是我並不確定語法,所以會給我語法警告的東西會很棒。用於調試的工具xslt

回答

8

當您嘗試使用無效的XSLT時,Xalan應該爲您提供有用的錯誤。如果您想要更強大的功能,則用於調試XSLT的一個選項是Oxygen XML Editor。它與Xalan和Saxon轉換引擎集成在一起。其調試模式允許您設置斷點,監視變量,並提供其他基本的調試功能。它可能是你想要的矯枉過正,但它非常好。

2

學習時,一個語法高亮編輯器通常是足以讓我(當然與裁判文檔上的另一個窗口中打開。

凱特是XML和XSLT一個偉大的編輯。

+0

語法高亮顯示是有幫助的。我現在在我的服務器上使用VI,因爲我沒有完成設置我的開發環境。但我真正想要的是能夠通過處理器運行xml和xslt,並獲取錯誤消息或其他內容,而無需運行整個servlet進程。 – 2008-10-20 14:07:07

+0

嘗試命令行xslt處理器;我使用xalan,但任何人都會這樣做。我確定vi可以運行它,如果它甚至可以像編譯器一樣解析錯誤輸出,它不會被超過。 – Javier 2008-10-20 14:31:11

+0

哦,你絕對想要在你的IDE中執行轉換並查看它們的輸出。我不認爲調試器是非常重要的,但這是至關重要的。 – 2008-10-21 01:02:36

7

我曾經到編寫和調試一些複雜的XSLT文檔,當時我通過輸出大量中間值來使用調試過的「printf-style」,後來我發現有一種更簡單的方法來實現這一點 - Altova XMLSpy,它允許你單獨通過風格應用程序的步驟,觀看中間輸出等等。

VS8也有XSLT調試支持。看到這裏:http://msdn.microsoft.com/en-us/library/ms255605(VS.80).aspx

我還應該提到,XMLSpy和VS8都有語法突出顯示。如果您在XML中指定了XSD,VS8甚至會爲您提供智能感知!

+0

不幸的是,我現在無法證明我的上司花費了我有限的使用費用。如果這變成了一個較長期的項目,我可能會得到一個或另一個。 – 2008-10-20 14:27:15

3

我幾乎每天都在使用XSLT,並且已經有六七年的時間了。

我發現XSLT的「printf-style」調試非常有效,我從來沒有從使用任何其他調試機制(我試過XMLSpy和Visual Studio)中獲益。有時候我會想要檢查一個變量的值,並建立輸出它的邏輯是一件麻煩事。但這很少見。

這可能是因爲擁有一個調試器會使得XSLT更容易學習學習。 (任何必須)

2

Xselerator是太好了XSL調試工具,它會:

  • 讓您逐步執行XSLT DOM
  • 創建手錶聲明
  • 評估XPath語句對你的XML DOM
  • IDE與智能感知

我已經使用了多年,這是一個很好的工具。

8

如果要執行「printf-style」調試並且不想用調試數據丟棄輸出,請使用<xsl:message>標籤在處理樣式表時生成調試輸出。使用terminate="yes"屬性,您甚至可以暫停樣式表的處理。

0

Microsoft Visual Studio也是一款用於xslt調試器的強大工具。但是您必須安裝