小编Eri*_*ric的帖子

从引用元素中,获取祖先中先前元素出现的计数

我试图从对图形的引用中确定当前章节中包含的图形编号。

要求:

  • 每章的图号都应重置。
  • 图参考,<figure_reference>,可能出现在任何深度。
  • XSLT 1.0

XML:

<top>
    <chapter>
        <dmodule>
            <paragraph>
                <figure>figure</figure>
            </paragraph>
            <figure>figure</figure>
        </dmodule>
    </chapter>
    <chapter>
        <dmodule>
            <figure>figure</figure>
            <paragraph>
                <figure>figure</figure>
            </paragraph>
        </dmodule>
        <dmodule>
            <figure>figure</figure>
            <paragraph>
                <figure>figure</figure>
                <paragraph>
                    <figure>figure</figure>
                </paragraph>
            </paragraph>
            <figure_reference id="c"/>
            <figure id="c">figure</figure>
        </dmodule>
    </chapter>
</top>
Run Code Online (Sandbox Code Playgroud)

XSL:

<xsl:template match="figure_reference">
    <xsl:value-of select="count(ancestor::dmodule//figure[@id = current()/@id]/preceding::figure)+1"/>

</xsl:template>
Run Code Online (Sandbox Code Playgroud)

当前计数结果:8

期望计数结果:6

xml xslt xpath xslt-1.0

2
推荐指数
1
解决办法
2373
查看次数

标签 统计

xml ×1

xpath ×1

xslt ×1

xslt-1.0 ×1