2017-02-12 37 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