XSLT使用一组过滤器计算子节点

时间:2013-07-19 08:58:10

标签: xslt count nodes

我希望在计算所有节点时删除所有使用normalize space()的空格,并对这些节点使用过滤器。

我想要的是这样的:

<{namespace}:Text>
  <{namespace}:Info>This is text from Info Node</{namespace}:Info>
  Here is text which i want to find
</{namespace}:Text>

我想计算来自{namespace}的所有孩子:Text,但我想忽略{namespace}:Info和[namespace}:otherelement,这些内容也应该被忽略。 我想从计数1得到结果,以便我知道有必须处理的节点,所以我可以调用模板workwithcontent或workwithempty。

但我当然希望找到其他不适合过滤器的节点。

1 个答案:

答案 0 :(得分:0)

听起来你想要像

这样的东西
<xsl:template match="{namespace}:Text">
  <xsl:variable name="count"
          select="count(child::node()[not(self::{namespace}:Info)])" />
  ...

这将计算<{namespace}:Text>的所有子节点,包括文本和元素节点,<{namespace}:Info>元素除外。

如果那不是您所需要的,请澄清。

child::轴是可选的,但更明显的是XPath表达式将选择什么。