我有以下 xsl。
<xsl:param name="ip"/>
<xsl:for-each select="log/event[@ip=$ip]">
<!--content-->
</xsl:for-each>
我正在传递ip
参数。在某些情况下,我需要选择每个log/event
不依赖于ip
. 例如我想通过ip="*"
,在这种情况下我想选择所有log/event
节点。我怎样才能做到这一点?谢谢
我有以下 xsl。
<xsl:param name="ip"/>
<xsl:for-each select="log/event[@ip=$ip]">
<!--content-->
</xsl:for-each>
我正在传递ip
参数。在某些情况下,我需要选择每个log/event
不依赖于ip
. 例如我想通过ip="*"
,在这种情况下我想选择所有log/event
节点。我怎样才能做到这一点?谢谢
<xsl:for-each select="log/event[$ip = '*' or @ip = $ip]">...</xsl:for-each>
应该做。只需确保星号*
不是ip
属性可以具有的值之一。
如果您不关心该属性,请使用:
<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>