Removing Accented Letters in Oracle Waveset (Sun IDM)


Rob Jackson 21/10/2011

Have you ever needed to clean-up entries with accented letters and wondered  if Oracle Waveset (formerly Sun IDM) could manage this for you?

There are many cases in Identity Management when you need to remove accented letters in userId’s, email addresses, etc.

Removing unwanted characters such as apostrophes, dashes, etc is an easy 1-step inexpensive process that can replace all characters you don’t want with nothing.

Changing accented letters into non-accented characters is not so simple.  Sending a string through a rule that iterates over every possible accented letter that you may encounter in a name, and replacing it with it’s non-accented counterpart is an expensive task – not to mention ugly XPRESS code in Oracle Waveset.
I Googled and found a relatively common Java sample for removing accents from characters and converted it to XPRESS:

(Sun JDK 1.5 version)
            <Rule name=’normalizeLetters’>
                <Comments>Removes accents etc</Comments>
                <RuleArgument name=’str’/>
                <invoke name=’replaceAll’>
                    <invoke name=’decompose’ class=’sun.text.Normalizer’>
                        <ref>str</ref>
                        <Boolean>false</Boolean>
                        <i>0</i>
                    </invoke>
                    <s>\p{InCombiningDiacriticalMarks}+</s>
                    <s></s>
                </invoke>
            </Rule>

I hope you find this as handy as I did!

– Rob Jackson

No Results