[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Re: help with xslt
> * Florent Georges <yvfgf@strbetrf.bet> [2008-09-14 23:54:50 +0200]:
>
> Sam Steingold wrote:
>
>> > concat('sec_', translate(substring-before(substring-after(
>> > '#(11 1 2 1 2)', '#('), ')'), ' ', '-'))
>
>> cool - this takes care of the old version (sec_11-1-2-1-2).
>> how about 11_abab?
>
> concat(
> substring-after(
> substring-before('#(11 1 2 1 2)', ' '),
> '#('),
> '_',
> translate(
> substring-before(
> substring-after('#(11 1 2 1 2)', ' '),
> ')'),
> '123456789 ',
> 'abcdefghi'))
>
> You can see both in the following XQuery, for what is worth:
>
> let $in := '#(11 1 2 1 2)'
> let $nums := substring-before(substring-after($in, '#('), ')')
> let $old := concat('sec_', translate($nums, ' ', '-'))
> let $letters := translate(substring-after($nums, ' '),
> '123456789 ', 'abcdefghi')
> let $new := concat(substring-before($nums, ' '), '_', $letters)
> return
> <res>
> <old>{ $old }</old>
> <new>{ $new }</new>
> </res>
>
> ==>
>
> <?xml version="1.0" encoding="UTF-8"?>
> <res>
> <old>sec_11-1-2-1-2</old>
> <new>11_abab</new>
> </res>
cool - what software do I type these to?
> This works only if you have digits from 1 to 9. If you can
> have 10+, I think you would parse $nums to integers then map
> integers to letters. And definitively write a function to
> encapsulate and document the funtionality.
exactly! that's the biggie!
--
Sam Steingold (http://sds.podval.org/) on Fedora release 9 (Sulphur)
http://openvotingconsortium.org http://truepeace.org http://dhimmi.com
http://thereligionofpeace.com http://memri.org http://mideasttruth.com
People with a good taste are especially appreciated by cannibals.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]