Я пытаюсь написать функцию EXSLT, но по какой-то причине она, похоже, не возвращает результат. Функция должна искать узел в другом документе:Функция EXSLT (в lxml) не возвращает результат
<func:function name="toc:element">
<xsl:param name="id" />
<xsl:for-each select="$toc">
<func:result select="key('id', $id)" />
</xsl:for-each>
</func:function>
С xsl:message
я могу видеть, что он действительно получает действительный $id
и key()
возвращает один узел; но когда я вызываю его из другого шаблона, он, похоже, не дает результата.
Окружающая среда: libxml2
/libxslt
, не уверены, как проверить версию; Я использую их от lxml
v3.2.3.
Поскольку это выглядит скорее как ошибка, для будущих читателей было бы полезно документировать, какой XSLT-процессор вы используете. Фактически, когда вы используете расширения, подобные этому, это важно. –
@MichaelKay Добавлена заметка об окружающей среде; это 'libxslt', я использую его из Python через' lxml' 3.2.3. –
Я ничего не знаю о реализации функции func: libxslt, но теперь у нас есть эта информация, кто-то может помочь. –