|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: String extraction
Hi Mukul,
thanks a lot, excellent work!
Sven
Mukul Gandhi wrote:
> Hi Sven,
> Please try this XSL -
>
> <?xml version="1.0" encoding="UTF-8"?>
> <xsl:stylesheet version="1.0"
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
> <xsl:output method="html" indent="yes"/>
>
> <xsl:template match="/top">
> <xsl:variable name="str1"
> select="substring-before(., '(')"/>
> <xsl:variable name="str2">
> <xsl:choose>
> <xsl:when test="contains(substring-after(.,
> '('), ',')">
> <xsl:value-of
> select="substring-before(substring-after(., '('),
> ',')"/>
> </xsl:when>
> <xsl:otherwise>
> <xsl:value-of
> select="substring-before(substring-after(., '('),
> ')')"/>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:variable>
> <xsl:variable name="str3"
> select="substring-before(substring-after(., ','),
> ')')"/>
> <html>
> <head>
> <title/>
> </head>
> <body>
> <table>
> <tr>
> <td>
> <xsl:value-of select="$str1"/>
> </td>
> <td>
> <xsl:value-of select="$str2"/>
> </td>
> </tr>
> <xsl:call-template name="generateTRs">
> <xsl:with-param name="str" select="$str3"/>
> <xsl:with-param name="delim" select="','"/>
> </xsl:call-template>
> </table>
> </body>
> </html>
> </xsl:template>
>
> <!-- a recursive template to generate <tr>s -->
> <xsl:template name="generateTRs">
> <xsl:param name="str"/>
> <xsl:param name="delim"/>
>
> <xsl:choose>
> <xsl:when test="contains($str, ',')">
> <tr>
> <td/>
> <td>
> <xsl:value-of select="substring-before($str, ',')"/>
> </td>
> </tr>
> <xsl:call-template name="generateTRs">
> <xsl:with-param name="str"
> select="substring-after($str, ',')"/>
> <xsl:with-param name="delim" select="$delim"/>
> </xsl:call-template>
> </xsl:when>
> <xsl:otherwise>
> <tr>
> <td/>
> <td>
> <xsl:value-of select="$str"/>
> </td>
> </tr>
> </xsl:otherwise>
> </xsl:choose>
> </xsl:template>
>
> </xsl:stylesheet>
>
> Regards,
> Mukul
>
> --- Sven Waibel <sven.waibel@xxxxxxxx> wrote:
>
>
>>Hi Mukul,
>>
>>that's a very good example, but i don't know how
>>many p exist. So i don't know how many variables i
>>have to create.
>>
>>Sven
>>
>>Mukul Gandhi wrote:
>>
>>
>>>Hi Sven,
>>> Please try this XSL -
>>>
>>><?xml version="1.0" encoding="UTF-8"?>
>>><xsl:stylesheet version="1.0"
>>>xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>>><xsl:output method="html" indent="yes"/>
>>>
>>><xsl:template match="/top">
>>> <xsl:variable name="str1"
>>>select="substring-before(., '(')"/>
>>> <xsl:variable name="str2"
>>>select="substring-before(substring-after(., '('),
>>>',')"/>
>>> <xsl:variable name="str3"
>>>
>>
> select="substring-before(substring-after(substring-after(.,
>
>>>'('), ','), ',')"/>
>>> <xsl:variable name="str4"
>>>
>>
> select="substring-before(substring-after(substring-after(substring-after(.,
>
>>>'('), ','), ','), ')')"/>
>>> <html>
>>> <head>
>>> <title/>
>>> </head>
>>> <body>
>>> <table>
>>> <tr>
>>> <td><xsl:value-of select="$str1" /></td>
>>> <td><xsl:value-of select="$str2" /></td>
>>> </tr>
>>> <tr>
>>> <td/>
>>> <td><xsl:value-of select="$str3" /></td>
>>> </tr>
>>> <tr>
>>> <td/>
>>> <td><xsl:value-of select="$str4" /></td>
>>> </tr>
>>> </table>
>>> </body>
>>> </html>
>>></xsl:template>
>>>
>>></xsl:stylesheet>
>>>
>>>When the above XSL is applied to XML -
>>>
>>><?xml version="1.0" encoding="UTF-8"?>
>>><top>person(p1,p2,p3)</top>
>>>
>>>it produces the desired output.
>>>
>>>Regards,
>>>Mukul
>>>
>>>--- Sven Waibel <sven.waibel@xxxxxxxx> wrote:
>>>
>>>
>>>
>>>>Hello,
>>>>
>>>>how can i extract a string from a string:
>>>>
>>>>person(p1,p2,p3)
>>>>
>>>>I need a table:
>>>>
>>>>person p1
>>>> p2
>>>> p3
>>>>
>>>>I don't know anything about length of p1,p2 or p3.
>>>>
>>>>Is is possible?
>>>>
>>>>Regards
>>>>Sven
>
>
>
>
> _______________________________
> Do you Yahoo!?
> Declare Yourself - Register online to vote today!
> http://vote.yahoo.com
|
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
|

Cart








