Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xslt XSL使用参数选择具有任意属性值的节点_Xslt - Fatal编程技术网

Xslt XSL使用参数选择具有任意属性值的节点

Xslt 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

<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`属性。