Subject: Re: [xsl] Special string manipulation From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Sat, 8 Sep 2007 22:22:37 +0530 |
Hi Ken, Thanks for pointing the mistake. Below is the modified XSLT 2.0 solution, which works.. <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="text" /> <xsl:template match="/"> <xsl:variable name="result"> <xsl:analyze-string select="SomeTag" regex="[A-Z][a-z]*"> <xsl:matching-substring> <xsl:value-of select="." /><xsl:text> </xsl:text> </xsl:matching-substring> <xsl:non-matching-substring> <xsl:value-of select="." /><xsl:text> </xsl:text> </xsl:non-matching-substring> </xsl:analyze-string> </xsl:variable> <xsl:value-of select="normalize-space($result)" /> </xsl:template> </xsl:stylesheet> Though your solution is very concise, and I myself would prefer that. On 9/4/07, G. Ken Holman <gkholman@xxxxxxxxxxxxxxxxxxxx> wrote: > I believe the approach below adds an extra space at the end of the > result ... not sure if that is acceptable to the original poster or > not. He does only mention splitting them, not suffixing them. > > I hope this helps. > > . . . . . . . . . . Ken > > At 2007-09-04 23:07 +0530, Mukul Gandhi wrote: > >With XSLT 2.0, you can do as following: > > > ><?xml version="1.0"?> > ><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > >version="2.0"> > > > > <xsl:output method="text" /> > > > > <xsl:template match="/"> > > <xsl:analyze-string > > select="SomeTag" > > regex="[A-Z][a-z]*"> > > > > <xsl:matching-substring> > > <xsl:value-of select="." /><xsl:text> </xsl:text> > > </xsl:matching-substring> > > <xsl:non-matching-substring> > > <xsl:value-of select="." /><xsl:text> </xsl:text> > > </xsl:non-matching-substring> > > </xsl:analyze-string> > > </xsl:template> > > > ></xsl:stylesheet> > > > >On 9/4/07, Meyer, Roland 1. (NSN - DE/Germany - MiniMD) > ><roland.1.meyer@xxxxxxx> wrote: > > > Hi, > > > > > > my XML file contains single strings with upper and lower letters and I > > > need to split them into several words, always just before the first > > > upper letter starts. > > > > > > Example: > > > <SomeTag>thisTextNeedToBeSplit</SomeTag> > > > > > > My output should look like: > > > > > > this Text Need To Be Split > > > > > > Is there any possibility to do this with XSL methods? > > > > > > > > > Best Regards, > > > Roland > > > >-- > >Regards, > >Mukul Gandhi > > > -- > Upcoming public training: XSLT/XSL-FO Sep 10, UBL/code lists Oct 1 > World-wide corporate, govt. & user group XML, XSL and UBL training > RSS feeds: publicly-available developer resources and training > G. Ken Holman mailto:gkholman@xxxxxxxxxxxxxxxxxxxx > Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/ > Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995) > Male Cancer Awareness Jul'07 http://www.CraneSoftwrights.com/s/bc > Legal business disclaimers: http://www.CraneSoftwrights.com/legal -- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Special string manipulati, G. Ken Holman | Thread | Re: [xsl] Special string manipulati, G. Ken Holman |
Re: [xsl] a weird bug today, tree s, Abel Braaksma | Date | Re: [xsl] Special string manipulati, Dimitre Novatchev |
Month |