2012-04-13 40 views
1

我有以下的選擇,其工作原理:XSLT 1 - 尋子節點,在節點具有不區分大小寫的值

parent::node()/myNS:expField[myNS:Nam='NAMETOFIND']/myNS:Val 

我要的是做對myNS:Nam值不區分大小寫的匹配,所以我會可以從以下任何一項選擇<Val>

<expField> 
    <Nam>NAMETOFIND</Nam> 
    <Val>the value I want</Val> 
</expField> 
<expField> 
    <Nam>NameToFind</Nam> 
    <Val>the value I want</Val> 
</expField> 
<expField> 
    <Nam>nametofind</Nam> 
    <Val>the value I want</Val> 
</expField> 
<expField> 
    <Nam>nAmEtOFInD</Nam> 
    <Val>the value I want</Val> 
</expField> 

我使用XSLT 1,所以我不能使用lower-case()

回答

1

translate()會做這項工作,它不是很漂亮,但它的工作原理。如果你知道你想要處理什麼語言,那就是。

+1

好的,我將如何將'translate()'工作到'[myNS:Nam ='NAMETOFIND']'?只是'[translate(myNS:Nam,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')='NAMETOFIND']'?我會嘗試的。 – 2012-04-13 21:18:06

+0

是的,就是這個想法。 – biziclop 2012-04-13 21:19:05

+0

是的,那工作!我在我的XSLT的其他地方使用了'translate()',但從來沒有想過在類似的節點選擇器中使用它。謝謝! – 2012-04-13 21:21:08

相關問題