2012-06-08 48 views

回答

6

是IF語句允許或條件?

沒有,但XPath的有一個or運營商 - 做注意,XPath是大小寫敏感的語言。

在所提供的代碼 XPath表達式:

node = '1' or node='2' 

語法正確

orstandard XPath operator並且可用於將兩個子表達式結合。

[33] OperatorName :: = '和' | '或'| 'mod'| '格'

下面是一個完整的XSLT轉換例如:

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output omit-xml-declaration="yes" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="node()|@*"> 
    <xsl:copy> 
    <xsl:apply-templates select="node()|@*"/> 
    </xsl:copy> 
</xsl:template> 

<xsl:template match="num[ . = 3 or . = 5]"/> 
</xsl:stylesheet> 

當下面的XML文檔應用這種轉變:

<nums> 
    <num>01</num> 
    <num>02</num> 
    <num>03</num> 
    <num>04</num> 
    <num>05</num> 
    <num>06</num> 
    <num>07</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 

想要的,正確的結果產生(所有元素複製用的<num>03</num><num>05</num>除外:

<nums> 
    <num>01</num> 
    <num>02</num> 
    <num>04</num> 
    <num>06</num> 
    <num>07</num> 
    <num>08</num> 
    <num>09</num> 
    <num>10</num> 
</nums> 
1

可以使用或者就像你在你的例子一樣。 Here是XSLT中支持的運算符。

+0

Oleksi:XPath語言的操作符在相應的W3C規範中 - 這是XPath唯一的*規範*文檔。 **發佈對w3schools的引用是不恰當的,實際上是對OP **的一個不好的建議。有關w3schools的可信賴性的更多信息,請訪問:http://w3fools.com/ –

+0

現在,鏈接確實有404個。 – dummy