[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] replacing of characters based on position
Subject: Re: [xsl] replacing of characters based on position From: Hermann Stamm-Wilbrandt <STAMMW@xxxxxxxxxx> Date: Tue, 16 Nov 2010 20:18:18 +0100 |
> > step1:550e8400-e29b-41d4-a716-446655440000 to > 550e84000e29b041d40a7160446655440000 > > > > > step2:550e84000e29b041d40a7160446655440000 to > 550e8400-e29b-41d4-a716-446655440000 What about this? step1 (as described by others): translate('550e8400-e29b-41d4-a716-446655440000','-','0') step2: <xsl:variable name="inp" select="'550e84000e29b041d40a7160446655440000'"/> <xsl:value-of select="concat(substring($inp, 1, 8),'-', substring($inp,10, 4),'-', substring($inp,15, 4),'-', substring($inp,20, 4),'-', substring($inp,25,12))"/> $ xsltproc uuid.xsl uuid.xsl 550e8400-e29b-41d4-a716-446655440000 $ Mit besten Gruessen / Best wishes, Hermann Stamm-Wilbrandt Developer, XML Compiler, L3 Fixpack team lead WebSphere DataPower SOA Appliances ---------------------------------------------------------------------- IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martin Jetter Geschaeftsfuehrung: Dirk Wittkopp Sitz der Gesellschaft: Boeblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 From: ram <ram_kurra@xxxxxxxxxxx> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Date: 11/16/2010 04:51 PM Subject: Re: [xsl] replacing of characters based on position well, Its part of the requirement where i have replace 0 in place of '-', so that when we get this uuid back, we will replace '0' with '-'. The reason of this mq is replacing - with 0 because - is not a right hexadecimal value. before droping this uuid in mq, i want to replace it with 0 then once i get the response from mq i want to replace 0 with - so that i will make sure that uniqueness of uuid. --- On Tue, 16/11/10, Imsieke, Gerrit, le-tex <gerrit.imsieke@xxxxxxxxx> wrote: > From: Imsieke, Gerrit, le-tex <gerrit.imsieke@xxxxxxxxx> > Subject: Re: [xsl] replacing of characters based on position > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Date: Tuesday, 16 November, 2010, 11:55 AM > On 16.11.2010 07:09, ram wrote: > > well, i am using xslt 2.0. i need the position based > replacement rather than regexp. > > The > reason is i want reverse back '0' with - later > at some point , so thaat i can guarente that same uuid is > going to be generated after reversal. > > > > step1:550e8400-e29b-41d4-a716-446655440000 to > 550e84000e29b041d40a7160446655440000 > > > > > step2:550e84000e29b041d40a7160446655440000 to > 550e8400-e29b-41d4-a716-446655440000 > > Bookkeeping (saving the positional data and later acting > upon this > separately stored information) is quite cumbersome. > If you tell us why there need to be zeros in the middle of > the process, > we might come up with an alternative solution that is less > expensive in > terms of bookkeeping, such as: > - replacing '-' with a different unique character > - wrapping the whole uuid in a newly created element (by > virtue of > xsl:analyze-string) so that its content may be treated > differently than > the surroundings > - generating an element in lieu of '-' (also using > xsl:analyze-string) > - ... > > -Gerrit > > > > > > > --- On Tue, 16/11/10, David Carlisle<davidc@xxxxxxxxx> > wrote: > > > >> From: David Carlisle<davidc@xxxxxxxxx> > >> Subject: Re: [xsl] replacing of characters based > on position > >> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > >> Cc: "ram"<ram_kurra@xxxxxxxxxxx> > >> Date: Tuesday, 16 November, 2010, 4:40 AM > >> On 15/11/2010 22:44, ram wrote: > >>> Hi, > >>> I > have xsl > >> variable which holds the following uuid value > >> (550e8400-e29b-41d4-a716-446655440000) which has > '-' at > >> 9-14-19-24 positions. > >>> I want to go these > positons > >> 9-14-19-24 and replace the characters '-' with > zero's. > >>> Is there > any function > >> such as replace(position values,character,replace > character) > >> available in xslt. > >>> > >>> > >>> > >> you should always say whether you are using xslt 1 > or 2, > >> especially if asking about string handling, > >> > >> do you actually need position based replace, (that > would be > >> easy using xslt 2 regexp, or only slightly more > verbose > >> using a mixture of substring and concat) but your > original > >> problem statement could be solved by > translate(.,'-','0') > >> > >> David
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] with or without namespace, Michael Kay | Thread | Re: [xsl] replacing of characters b, ram |
Re: [xsl] with or without namespace, Lars Huttar | Date | Re: [xsl] with or without namespace, ac |
Month |