2013-08-05 17 views
-1

我有一個有趣而奇怪的問題。當我運行XSLT轉換程序使用Eclipse IDE,我得到所需的輸出如下:XSLT在Windows和Unix中轉換結果不同

 <Schedule> 
     <Date>10/13/2013</Date> 
     <Amount>2000</Amount> 
     </Schedule> 

而在我的Solaris系統使用相同的XSLT,改造的結果是:

 <Schedule> 
     <Amount>2000.0</Amount> 
     </Schedule> 

謎現在是

 <Date>10/13/2013</Date> 

塊在UNIX中不可見。現在的數量是2000.0,與我在Eclipse輸出中獲得的2000相比。 我非常肯定,在這兩個操作系統中都可以找到相同的XSLT。我真的很困惑,爲什麼轉換輸出在Windows(理想)與Solaris(不受歡迎)中是不同的。期待解開所有Guru那裏的奧祕。

+2

歡迎來到SO。請閱讀[FAQ]和[Ask]。除非你編輯你的文章幷包含XSLT和輸入,並告訴我們你使用了哪些特定的轉換引擎,否則這個問題可能會被關閉。 –

+0

你「很確定」它是一樣的XSLT?我會先檢查一下。我很確定它不是。 – harpo

+0

嗨Harpo,我確定我使用了相同的XSLT,因爲我查看了日誌。我正在使用Xalan 2.7.1進行處理。我如何檢查發動機正在被拾起。如果因爲我對XSLT不熟悉而無法回答所有問題,我深表歉意。 –

回答

0

好的。我終於找出原因。在Unix中,xslt正在針對要求Date字段爲DateType的XSD進行驗證,即YYYY-MM-DD,而我以MM/DD/YYYY傳遞日期。具有諷刺意味的是,當我在eclipse IDE中運行它時,它毫不抱怨地花費了MM/DD/YYYY值。無論如何,現在,我的問題得到解決,並感謝所有人對此進行調查。