Xslt XSL使用参数选择具有任意属性值的节点
我有以下xslXslt XSL使用参数选择具有任意属性值的节点,xslt,Xslt,我有以下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:param
<xsl:param name="ip"/>
<xsl:for-each select="log/event[@ip=$ip]">
<!--content-->
</xsl:for-each>
我正在传递
ip
参数。在某些情况下,我需要选择每个log/event
,而不取决于ip
。例如,我想传递ip=“*”
,在这种情况下,我想选择所有log/event
节点。我该怎么做?谢谢如果您不关心该属性,请使用:
<xsl:param name="ip"/>
<xsl:for-each select="log/event">
<!--content-->
</xsl:for-each>
如果不关心属性,请使用:
<xsl:param name="ip"/>
<xsl:for-each select="log/event">
<!--content-->
</xsl:for-each>
…
应该可以。只需确保星号*
不是ip
属性可以具有的值之一。..
应该可以。只需确保星号*
不是ip
属性可以具有的值之一。是,这就是解决方案@hek2mgl您的“解决方案”根本不依赖于参数值。@hr_117是否依赖于属性值?顺便说一句,OP写道:在某些情况下,我需要选择不依赖于ip的每个日志/事件
。。。疯狂的评论,对不起@hek2mgl,我认为log/event[@ip]
根本没有考虑参数$ip
,就我所理解的问题而言,应该使用参数来过滤event
元素,除非参数具有值*
@MartinHonnen,我已经引用了这个问题。我认为这不能被误解。@hek2mgl,这个问题有一个名为ip
的参数和一个名为ip
的属性,所以我认为这就是你对这个问题的不同解释。据我所知,海报希望为ip
参数传入一个参数值,并根据该参数过滤掉事件。为此,他已经使用了select=“log/event[@ip=$ip]。但有时他需要选择所有事件,在这种情况下,他希望传入参数值
*。您的解释似乎仅限于
ip`属性。是的,这就是解决方案。@hek2mgl您的“解决方案”“完全不依赖于参数值。@hr_117是否依赖于属性值?顺便说一句,OP写道:在某些情况下,我需要选择不依赖于ip的每个日志/事件
。。。疯狂的评论,对不起@hek2mgl,我认为log/event[@ip]
根本没有考虑参数$ip
,就我所理解的问题而言,应该使用参数来过滤event
元素,除非参数具有值*
@MartinHonnen,我已经引用了这个问题。我认为这不能被误解。@hek2mgl,这个问题有一个名为ip
的参数和一个名为ip
的属性,所以我认为这就是你对这个问题的不同解释。据我所知,海报希望为ip
参数传入一个参数值,并根据该参数过滤掉事件。为此,他已经使用了select=“log/event[@ip=$ip]。但有时他需要选择所有事件,在这种情况下,他希望传入参数值
*。您的解释似乎仅限于
ip`属性。