2012-05-17 71 views
0

我正在使用XSL 1.0版本。我有一個master.xsl,它將XML作爲輸入並在html中創建。它將生成帶有標籤和值的html文件。XSLT 1.0動態導入不同的xsl到主xsl

現在我想用不同語言的標籤生成html。假設輸入中的語言代碼是「EN」,標籤應該是英文,否則其他語言。

我嘗試使用

<xsl:importhref="en.xsl" 
use-when="system-property('xsl:languageCode')='EN'"/> 

但它不工作在XSL 1.0。

是否有任何其他方式在XSLT中執行此操作,或者是否有更好的非xslt解決方案。

回答

1

use-when屬性需要XSLT 2.0。

對此的答案是顛倒您的導入層次結構。而不是將特殊用途代碼(en.xsl)導入包含通用代碼(master.xsl)的模塊中,而是反過來執行(使用en.xsl import master.xsl)。然後將特殊用途模塊en.xsl作爲您的樣式表入口點。

+0

但是我們必須在代碼級決定是使用en.xsl還是fi.xsl。這不是這種情況嗎? – C4CodeE4Exe

+0

當然。但是決定從應用程序中調用哪個樣式表與決定要設置哪些系統屬性沒什麼區別。 –