Xproc: как использовать переменную в href
У меня есть переменная, которая содержит имя таблицы стилей, чтобы применить дальше.
Это не работает:
<p:variable name="filename" select="'/home/stylesheets/indent.xsl'"/>
<p:xslt>
<p:input port="stylesheet">
<p:document href="{$filename}"/>
</p:input>
</p:xslt>
Я думаю, что я должен сделать некоторую функцию URI или IRI на $filename
, но я не смог понять это.
ОБНОВЛЕНИЕ: я пошел по ссылке, предоставленной grtjn и поднял <p:declare-step type="ut:xslt" name="current">
обертка.
Теперь применить href из переменной очень просто:
<ut:xslt>
<p:with-option name="href" select="$filename" />
</ut:xslt>
1 ответ
Решение
IMO не возможно использовать переменную в атрибуте href. Я решил это используя <p:load>
шаг как
<p:load name="xslt_from_variable">
<p:with-option name="href" select="$filename" />
</p:load>
В <p:xslt>
Я привязываю его к результирующему порту "xslt_from_variable", например
<p:xslt name="xslt_step">
<p:input port="source">
<p:pipe step="xslt_from_variable" port="result" />
</p:input>
...
</p:xslt>
Я надеюсь, что эта попытка будет работать для вас, а также для меня.