2017-07-21 36 views
1

我试图写测试,如果外部参数值等于输入XML文档中的特定值的XSL文档XSLT的<xsl:当测试=”

的输入XML文档具有在多个元件。我需要测试每个相同级别的元素以查看它们是否与ID字符串匹配,例如,可能有5个元素称为“WBScode”,并且每个元素都需要测试,如果任何元素匹配值,则需要返回xsl when语句,如果不是,则返回其他语句。

下面是我有的代码,但会发生什么,它只是测试它在文档中找到的第一个元素。它来测试th的每个元素电子文档?

<xsl:choose> 
     <xsl:when test="//Projects/Project/WBSs/WBS/WBSCode = $idStr">update</xsl:when> 
     <xsl:otherwise>create</xsl:otherwise> 
    </xsl:choose> 
+0

您描述的行为与XPath不一致。如果你的处理器实际上表现出这种行为,那么它就会被破坏,但我倾向于怀疑它并没有表现出这种行为。因此,如果事实上你有一个*善意的问题,那么你就没有有效地传达它。在这种情况下,提出一个可以再现问题的[mcve]。 –

回答

2

它只是测试它找到的文件

你是错了的第一个元素。它依次测试每个WBSCode元素,并在任意其中一个匹配值时返回true。

+0

谢谢,我意识到,就像你发布你的回复。我在Oxygen测试文档,并且缺少要测试的外部参数。当我通过声明一个变量手动测试时,我发现它工作。感谢您的澄清! – gwrichard