RE: [xsl] Pattern Substring

Subject: RE: [xsl] Pattern Substring
From: "Ramesh, Marimuthu" <M.Ramesh@xxxxxxxxxxx>
Date: Wed, 3 Mar 2010 11:47:24 +0530
Hi,

Your requirement is bit unclear. Your below code gives the output as
below:

<OPTION optionNumber="X055-0001">Text1 X055-0001 Text1 Textx2</OPTION>

<OPTION optionNumber="055-0002">Text1 055-0002 Text1 Text3</OPTION>

But your desired output below does not have any OPTION element, and also
the text inside the elements differ.

<OPTIONS optionNumber='X055-0001'>Text1 X055-0001 Text1</OPTIONS>
<OPTIONS optionNumber='055-0001'>Text1 055-0001 Text1</OPTIONS>

> Using the template I am able to get the second node correctly .

Do you mean the output by the above line.

Make the requirement clear.

Regards,
Rummy

-----Original Message-----
From: Senthilukvelaan [mailto:skumaravelan@xxxxxxxxxxxxxx]
Sent: Wednesday, March 03, 2010 11:02 AM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: [xsl] Pattern Substring

Hi ,
I have xml like below and I want to do pattern match and get option
numbers which is always space delimited. Using the template I am able
to get the second node correctly .
But in the First element, am somehow missing the "X".

Input:

<OPTIONS >Text1 X055-0001 Text1 Textx2</OPTIONS>
<OPTIONS >Text1 055-0002 Text1 Text3</OPTIONS>

my xslt

 <xsl:template match="OPTIONS">
  <xsl:variable name="index"
select="string-length(substring-before(.,'055'))"/>
    <xsl:element name="OPTION">
 <xsl:attribute name="optionNumber"><xsl:value-of
select="normalize-space(substring(.,$index,9))"/></xsl:attribute>
        <xsl:apply-templates/>
    </xsl:element>
 </xsl:template>

desired output:
<OPTIONS optionNumber=' X055-0001'>Text1 X055-0001 Text1</OPTIONS>
<OPTIONS  optionNumber='055-0001'>Text1 055-0001 Text1</OPTIONS>

Current Thread