Xslt 计数前面的元素忽略节点
我有下面的XMLXslt 计数前面的元素忽略节点,xslt,xslt-2.0,Xslt,Xslt 2.0,我有下面的XML <nd> <fn> <fnn>*</fnn> <fnt> <p> <i>ftn 1</i> </p> </fnt>
<nd>
<fn>
<fnn>*</fnn>
<fnt>
<p>
<i>ftn 1</i>
</p>
</fnt>
</fn>
<ti>
<fn>
<fnn>*</fnn>
<fnt>
<p>
<i>ftn 1</i>
</p>
</fnt>
</fn>
</ti>
<tx>
<fn>
<fnn>1</fnn>
<fnt>
<p>
<i>ftn2</i>
</p>
</fnt>
</fn>
<fn>
<fnn>2</fnn>
<fnt>
<p>
<i>ftn3</i>
</p>
</fnt>
</fn>
</tx>
</nd>
在这里,我可以使用忽略ti,但在t计数中,它考虑了ti内部的fnn,在这里,我想忽略它并计数。在脚注部分,我不能忽略它
这里是头部
在ftn.0之后,它将生成ftn.2,但我希望它是ftn.1
在脚注部分有ftn.1和ftn.2,这是ti的脚注,应该忽略
请让我知道如何解决这个问题
这是你的电话号码
谢谢。我想您可以通过以下方式更改计数器:
<xsl:variable name="count" select="count(preceding::fnn[not(ancestor::ti)])"/>
我不确定是否完全理解objectif,但请尝试以下方法:。它当然有一种更简单的方法,但不需要更改整个代码。对于模式脚注,有必要更改计数器并将其导出为模板,并将谓词添加到fnt。
<xsl:variable name="count" select="count(preceding::fnn[not(ancestor::ti)])"/>