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>

Я надеюсь, что эта попытка будет работать для вас, а также для меня.

Другие вопросы по тегам