2017-02-12 60 views
3

我想爲我的下面XML的XSLT:如何在XSLT(IBM Watson Explorer)中使用xsl:中的「或條件」?

<?xml version="1.0" encoding="UTF-8"?> 
    <results> 
       <headline> 
        <a href="/bin-public/xyz/documents/customer-service/durable-power-of-bank.pdf"></a> 
        </headline>  
        <linkPDF><a href="www.xyz.com"></a></linkPDF> 
    </results> 
    <results> 
        <headline> 
        <a href="www.example.com"></a> 
        </headline>  
        <linkPDF></linkPDF> 
    </results> 
    <results> 
        <headline> 
        <a href="www.example.html"></a> 
        </headline>  
        <linkPDF><a href="www.abc.com"></a></linkPDF> 
    </results> 

我要添加兩個條件:其中標題/ HREF包含非PDF端點URL或者linkPDF包含任何值。

這是我的XSLT條件,但它不工作:

<xsl:when test="not(viv:test(./headline/a/@href,'*.pdf','wc')) or 'linkPDF/a/href'"> 
<!-- do something --> 
</xsl:when> 

所以,我怎麼可以使用VIV 「OR」 條件:測試?或者我可以在XSLT中使用viv:test來做同樣的事情嗎?任何幫助將不勝感激。

+0

爲什麼單引號中的第二個操作數? – EJP

回答

2

變化

or 'linkPDF/a/href' 

or linkPDF/a/href 

以評價or表達式的第二項,而不是一個字符串的XPath。

+0

它工作。謝謝 – Rose