1

我有以下 xsl。

<xsl:param name="ip"/>

<xsl:for-each select="log/event[@ip=$ip]">
<!--content-->
</xsl:for-each>

我正在传递ip参数。在某些情况下,我需要选择每个log/event不依赖于ip. 例如我想通过ip="*",在这种情况下我想选择所有log/event节点。我怎样才能做到这一点?谢谢

4

2 回答 2

4

<xsl:for-each select="log/event[$ip = '*' or @ip = $ip]">...</xsl:for-each>应该做。只需确保星号*不是ip属性可以具有的值之一。

于 2013-06-27T10:16:17.997 回答
0

如果您不关心该属性,请使用:

<xsl:param name="ip"/>
  <xsl:for-each select="log/event">
  <!--content-->
  </xsl:for-each>

如果您只是不关心 ip 属性的值,但您只想选择至少具有ip属性使用的节点:

<xsl:param name="ip"/>
  <xsl:for-each select="log/event[@ip]">
  <!--content-->
  </xsl:for-each>
于 2013-06-27T10:12:07.493 回答