XSLT 3.0:<xsl:accumulator> </xsl:accumulator>的条件设置

时间:2015-01-24 13:38:36

标签: xslt xslt-3.0

我通常会根据<xsl:accumulator>的结果设置不同的<xsl:if test="foo"> s

问题<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 个答案:

没有答案