Subject: RE: [xsl] tokenize() a string and then create a node-set From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 1 Jun 2007 15:42:11 +0100 |
Yes, you can do <xsl:if test="position()=1"> <firstname><xsl:value-of select="."/></firstname> </xsl:if> Alternatively, <xsl:variable name="t" select="tokenize(...)"/> <first><xsl:value-of select="$t[1]"/></first> <xsl:for-each select="2 to count($t)-1"> <middle><xsl:value-of select="subsequence($t, ., 1)"/></middle> </xsl:for-each> <last><xsl:value-of select="$t[last()]"/></last> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: hajduk@xxxxxxxx [mailto:hajduk@xxxxxxxx] > Sent: 01 June 2007 15:21 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] tokenize() a string and then create a node-set > > Haven't used the tokenize() function and just wanted a bit of insight. > > Note, could create a called-template plus a user defined > function(s) to do the following but want to see if there is > an easier/other way to do it. > > I want to take a string containing a person's name and break > it apart based on a space. Then parse the result as follows. > If position is first then <firstname>, if position is last > then <lastname> else <midname>. > > Can this be done using a <for-each select="tokenize($string, > ' ')"> with a <choose>|<if> statement inside? > > Any ideas will be greatly appreciated. > > Marijan Madunic
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] tokenize() a string and then , hajduk | Thread | RE: [xsl] tokenize() a string and t, Mario Madunic |
RE: [xsl] FW: Getting a flat mappin, Michael Kay | Date | RE: [xsl] tokenize() a string and t, Bjorndahl, Brad |
Month |