如何在xsl中使用if语句来检查路径是否有效?

时间:2009-08-27 10:27:27

标签: xml xslt

我正在做的是读取一些xml并使用xsl将其输出到表中以使其更具可读性。

所以一些示例xml:

<example1>
  <sample name="aaa">
    <help1>Help</help1>
    <help2>Me</help2>
  </sample>
  <sample name="bbb">
    <noHelp1>No</noHelp1>
    <noHelp2>Help</noHelp2>
  </sample>
</example1>

所以我有一个for-each循环来遍历每个样本。所以<xsl:for-each select="example1/sample">并使用一些值语句将一些值打印到表中。

现在我想做的是用if语句来说

if for-each sample, example1/sample/help1 = valid path, then do something

所以我认为这将是......

...
<xsl:if test = "something">
  <xsl:for-each select="example1/sample">
    doWork
  </xsl:for-each>
</xsl:if>

问题是我不知道如何测试这个,即。我不知道'某事'应该是什么。我也不确定是否应该在for-each语句中使用if语句。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

<xsl:for-each select="example1/sample">
  <xsl:if test="help1">
    <!-- now we know that this example1/sample has a help1 child -->
  </xsl:if>
</xsl:for-each>