Subject: Re: [xsl] Case-insensitive filter match for template wanted From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 28 Mar 2017 09:57:07 -0000 |
> So I tried: > <x:template match="section[ parameter/@name='Rule' ][ upper-case( parameter/value/@entry ) = 'INPUT' ]" mode="processes" > > > But that gives me (using Saxon HE9.7.0.5): > bA sequence of more than one item is not allowed as the first argument of upper-case() ("INPUT", .....b Well you could write > match="section[ parameter/@name='Rule' ][ parameter/value/upper-case(@entry) = 'INPUT' ]" But the "correct" way to do case-insensitive matching is to use a collation: > match="section[ parameter/@name='Rule' ][ parameter/value@entry = 'INPUT' ]" > default-collation="http://www.w3.org/2013/collation/UCA?strength=2" It depends a bit about whether you care what happens to characters like "dotless i" (which probably aren't going to appear in your input unless you are Turkish). Michael Kay Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Case-insensitive filter m, Eliot Kimber ekimber | Thread | Re: [xsl] Case-insensitive filter m, Flynn, Peter pflynn@ |
Re: [xsl] Case-insensitive filter m, Eliot Kimber ekimber | Date | Re: [xsl] Case-insensitive filter m, Flynn, Peter pflynn@ |
Month |