Subject: Re: [xsl] Pattern Substring From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> Date: Wed, 03 Mar 2010 12:02:14 -0500 |
Cheers, Wendell
Hi, My input : <OPTIONS >Text1 X055-0001 Text1 Textx2</OPTIONS> <OPTIONS >Text1 055-0002 Text1 Text3</OPTIONS>
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>
My desired output <OPTION optionNumber=' X055-0001'>Text1 X055-0001 Text1</OPTION> <OPTION optionNumber='055-0001'>Text1 055-0001 Text1</OPTION>
But My actual output using the code <OPTION optionNumber='055-0001'>Text1 X055-0001 Text1</OPTION> <OPTION optionNumber='055-0002'>Text1 055-0001 Text1</OPTION>
I am trying to create a option Number attribute from the Options value. The <OPTIONS> value contains the optionnumber value prefix and suffix by some text value.
I am not sure, How to do this?
Please help.
On Tue, Mar 2, 2010 at 10:17 PM, Ramesh, Marimuthu <M.Ramesh@xxxxxxxxxxx> wrote:
> 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>
====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9635 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ======================================================================
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Pattern Substring, Senthilukvelaan | Thread | Re: [xsl] Pattern Substring, Senthilukvelaan |
Re: [xsl] Math "functions" for XSLT, Dimitre Novatchev | Date | Re: [xsl] Math "functions" for XSLT, Dimitre Novatchev |
Month |