我一直在嘗試國際化一些XSLT和得到它的使用屬性文件。 我得到的地方,我覺得我有一些代碼應該工作,但我得到的是我發現這裏的原因的錯誤點: Java/XSLT: Cannot find a matching 1-argument function是「Java的:類的標準使用XSL的命名空間?
我,因爲它說,使用撒克遜(版本8),並試圖確定是否使用如下代碼: xmlns:lcl="java:com.mycode.localisation.LocaleUtilities" xmlns:resource="java:java.util.ResourceBundle.getBundle('taskStrings', lcl:getCurrentLocale())"> ...
是「標準」XSL的一部分,或者僅由某些解析器支持的非官方/專有擴展。我需要知道這一點,因爲我需要提供所使用的解析器一定程度的靈活性,而只能證明不支持撒克遜如果不支持這一點,因爲它是不完全符合標準。
它引起的錯誤是這樣的方式
Cannot find a matching 1-argument function named
{java:java.util.ResourceBundle.getBundle('taskStrings', lcl:getCurrentLocale())}getString()
進一步深挖表明撒克遜不支持我想要什麼,以及存在的問題進行了使用實例方法,這會導致併發症出現。我現在重新使用靜態方法調用來完成所有任務,以保持簡單並且一切正常。 – user1111284 2011-12-22 15:35:09
正如您所建議的那樣,java:x.y.z URI格式不是一種標準,而是由幾個基於Java的XSLT處理器用於定義與Java方法綁定的約定。從一個處理器到另一個處理器的詳細規則差別很大 – 2011-12-22 17:56:03
如果您在這裏找到解決方案,您可以爲自己的問題添加答案。 – 2012-03-15 21:27:27