如何在xsl中使用“或条件”:在XSLT(IBM Watson Explorer)中?

时间:2017-02-12 00:25:02

标签: xml xslt ibm-watson watson

我正在尝试使用以下XML的XSLT:

<?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>

我想添加两个条件:headline / 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:test中使用“OR”条件?或者我可以在不使用viv的情况下做同样的事情:在XSLT中测试吗?任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

更改

or 'linkPDF/a/href'

or linkPDF/a/href

or表达式的第二项而不是字符串文字中评估XPath。