我有以下 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>