0

下面是我的 xml 示例。这就是我想要的

  1. 循环遍历所有汽车
  2. 如果汽车具有“运动”风格,则显示它们,否则,忽略它

因此,在下面的示例中,我将显示 Ferrari 以及 Convertible 和 Sport 的 2 个值

我有<for-each>Car</end-for-each>。我想检查一辆车是否具有“运动”风格。我怎么做?我必须在<for-each>Style</end-for-each>里面有另一个<for-each>Car</end-for-each>吗?如果我找到了一种运动风格,那么我正在初始化一个变量并分配它,例如

<?xdoxslt:set_variable($_XDOCTX, ’car’, 1)?> --- initialize to 1 if Sport style found
<?xdoxslt:get_variable($_XDOCTX, ’car’)?> --- retrieve

<Car>
<Brand>Honda</Brand>
<Style>Coupe</Style>
<Style>Sedan</Style>
</Car>
<Car>
<Brand>Ferrari</Brand>
<Style>Convertible</Style>
<Style>Sport</Style>
</Car>
4

1 回答 1

0

这就是我想要的

  1. 循环遍历所有汽车
  2. 如果汽车具有“运动”风格,则显示它们,否则,忽略它

通常,在 XSLT 中,您将处理这个问题:

  1. 选择所有具有“运动”风格的汽车;
  2. 显示它们。

例如:

<xsl:for-each select="Car[Style='Sport']">
    <!-- whatever "display" means -->
</xsl:for-each>

或者,如果“显示”是所有节点的默认值(例如,如果您正在应用身份转换模板),您可以应用一个空模板来匹配所有没有“运动”风格的汽车,以抑制它们。

于 2014-09-05T02:46:19.003 回答