[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: replacing of characters based on position

Subject: Re: replacing of characters based on position
From: ram <ram_kurra@xxxxxxxxxxx>
Date: Wed, 17 Nov 2010 01:28:50 +0530 (IST)
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>
> --~--

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.