2012-05-17 1 views
0

Я использую версию XSL 1.0. У меня есть master.xsl, который принимает xml как ввод и создает в html.It будет генерировать html-файл с метками и значениями.XSLT 1.0 динамический импорт разных xsl в master 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

Несомненно. Но решение о том, какая таблица стилей для вызова из вашего приложения ничем не отличается от решения, какие системные свойства задавать. –