XSLT 3.0: условная настройка <xsl: аккумулятор>

Я обычно хотел бы установить разные <xsl:accumulator> в ответ на результаты <xsl:if test="foo">,

Проблема: <xsl:accumulator> должен быть ребенком <xsl:stylesheet> или же <xsl:transform>,

Иными словами, аккумулятор не может быть в шаблоне, где могут быть выполнены тесты условий.

Вопрос: Есть ли способ изменить спецификации аккумулятора во время выполнения, основываясь на том, что находится в исходном документе?

Аккумулятор похож на:

<xsl:accumulator 
    name="f:accumulate-string-length"
    post-descent="f:accum-string-length"
    as="xs:integer"
    initial-value="0">
    <xsl:accumulator-rule 
        match="*" 
        new-value="$value + string-length()"/>
</xsl:accumulator>

Что я хотел бы изменить во время выполнения на основе исходного документа, так это @match="",

Обновление (ответ на комментарии): если документ проверяется на наличие article/div структура, я хотел бы, чтобы аккумулятор @match был article/div Если документ тестирует, чтобы иметь section/div структура, я бы хотел, чтобы аккумулятор @match был section/div,

Иногда мои документы меняются, и мне нравится, как настроить на лету.

0 ответов

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