[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: replacing of characters based on position
step1:550e8400-e29b-41d4-a716-446655440000 to 550e84000e29b041d40a7160446655440000 This one we can fix by writing the following xsl in xslt 1.0 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <xsl:variable name="inputtext" select="/Number" /> <xsl:variable name="searchContent" select="'-'"/> <xsl:variable name="replacetext" select="'0'"/> <xsl:message> input <xsl:value-of select="$inputtext"/> </xsl:message> <xsl:message> search <xsl:value-of select="$searchContent"/> </xsl:message> <xsl:message> replace <xsl:value-of select="$replacetext"/> </xsl:message> <xsl:call-template name="search-and-replace" > <xsl:with-param name="input" select="$inputtext" /> <xsl:with-param name="search-string" select="$searchContent" /> <xsl:with-param name="replace-string" select="$replacetext" /> </xsl:call-template> </xsl:template> <xsl:template name="search-and-replace"> <xsl:param name="input" /> <xsl:param name="search-string"/> <xsl:param name="replace-string"/> <xsl:choose> <xsl:when test="$search-string and contains($input,$search-string)"> <xsl:message> inside when </xsl:message> <xsl:value-of select="substring-before($input,$search-string)"/> <xsl:value-of select="$replace-string"/> <xsl:call-template name="search-and-replace"> <xsl:with-param name="input" select="substring-after($input,$search-string)"/> <xsl:with-param name="search-string" select="$search-string"/> <xsl:with-param name="replace-string" select="$replace-string"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <xsl:value-of select="$input"/> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- <xsl:template match="text"> <xsl:call-template name="search-and-replace"> <xsl:with-param name="input" select="text()" /> <xsl:with-param name="search-string" select="'-'" /> <xsl:with-param name="replace-string" select="'0'" /> </xsl:call-template> </xsl:template>--> </xsl:stylesheet> step2:550e84000e29b041d40a7160446655440000 to 550e8400-e29b-41d4-a716-446655440000 how can i do this based on position number/index[9] --- On Tue, 16/11/10, ram <ram_kurra@xxxxxxxxxxx> wrote: > From: ram <ram_kurra@xxxxxxxxxxx> > Subject: Re: replacing of characters based on position > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Date: Tuesday, 16 November, 2010, 9:21 PM > 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 > > > > > --~------------------------------------------------------------------ > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > > or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > > --~-- > > > > > > > > --~------------------------------------------------------------------ > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/ > or e-mail: <mailto:xsl-list-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx> > --~--
|
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
|