0

我有一个条件,section 元素应该同时具有 num 属性,并且 level 可以是除 level 2 之外的任何属性。如下所示。

<section level="sect2" num="1.">
    <title>Flowchart&#x2014;HKIAC Mediation</title>
</section>  

 <section level="sect3">
    <title>Flowchart&#x2014;HKIAC Mediation</title>
</section>

<section level="sect2">
    <title>Flowchart&#x2014;HKIAC Mediation</title>
</section>

当我使用下面的 xslt 时,它只计算具有数字属性的第一个 xml 并留下第二个和第三个。但我想计算第一和第三,离开第二。

我使用了以下语句

<xsl:number count='section[@num]'/>

但我想要类似于下面的东西

<xsl:number count='section[@num] and section[@level!='sect2']'/>

谢谢

4

2 回答 2

0

试试这个 -

<xsl:number count="section[@num and @level != 'sect2']"/>

对于您在评论中的问题,请尝试这意味着 num 属性不存在 -

<xsl:number count="section[not(@num) and @level = 'sect2']"/>

你的意思是你不在乎 level=sect2 然后像这样删除它 -

<xsl:number count="section[not(@num)]"/>

这将为您提供不存在 num 属性且 level 值不是 sect2 的计数。

<xsl:number count="section[not(@num) and @level != 'sect2']"/>
于 2013-04-16T10:42:50.587 回答
0

据我了解,它更多:

<xsl:number count="section[@num or @level != 'sect2']"/> 

因为:但我想计算第一和第三离开第二。编辑:似乎应该是第一个和第二个什么似乎是“@level!='sect2'”的所有部分和“@num”的所有部分。

于 2013-04-16T11:10:25.287 回答