2017-07-21 35 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