Re: replacing of characters based on position
It sounds like the real requirement is "convert the UUID string to a string containing only valid hexadecimal characters without losing information, uniqueness or reversibility". If so, then why not just drop the '-' characters with translate(., '-', '') and put them back in fixed positions later with either substring (XSLT 1.0) or regex (XSLT 2.0) functions? -Brandon :) On Tue, Nov 16, 2010 at 10:51 AM, ram <ram_kurra@xxxxxxxxxxx> wrote: > 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: 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: 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format