xsl-list
[Top] [All Lists]

Re: [xsl] Case incensitive key

2017-01-16 21:14:54
Of course!  OK, my mistake was I have variables $ABC and $abc setup for
just these sort of translate operations, but of course you can't use that
in a key definition so the error exception I got was complaining about the
variables in a key actually.

Thanks Dmitri!

Karl..

On Mon, Jan 16, 2017 at 7:02 PM Dimitre Novatchev 
dnovatchev(_at_)gmail(_dot_)com <
xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Is case insensitive keys possible in XSLT 1.0?
Use (for Latin alphabet):

  <xsl:key name="kName" match="row" use="translate(Description/email,
'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')" />

and, of course, you need to call the corresponding key() function like
this (not necessary to use a variable, but the value it needs to be
substituted with must not contain any uppercase letters):

  key('kName', $somenonuppercasevalue)



Cheers,
Dimitre


On Mon, Jan 16, 2017 at 5:35 PM, Karl Stubsjoen kstubs(_at_)gmail(_dot_)com
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hello,

Is case insensitive keys possible in XSLT 1.0?  It isn't the end of the
world, as I can simply abandon the key but would rather not.

For sake of discussion, here's my use of a key:

<xsl:key name="key_goty-email" match="row" use="Description/email"/>

<xsl:if test="count(key('key_goty-email',current()/email)) &gt; 1">
....
</xsl:if>

So the current node, Description/email could have something like:
Myemail(_at_)Email(_dot_)com
Other potentional key matching nodes could be: myemail(_at_)email(_dot_)com 
or
MYEMAIL(_at_)EMAIL(_dot_)COM

Thanks,

Karl..
XSL-List info and archive
EasyUnsubscribe (by email)



--
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
-------------------------------------
Sanity is madness put to good use.
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.


--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>