![]() |
![]() | ![]() | ![]() | Altova Mailing List Archives>Archive Index >xsl-list Archive Home >Recent entries >Thread Prev - [xsl] tokenize() a string and then create a node-set [Thread Next] RE: [xsl] tokenize() a string and then create a node-setTo: Date: 6/1/2007 3:06:00 PM Thanks Michael and Brad, Your help and insight is greatly appreciated. Marijan Madunic Quoting Michael Kay <mike@xxxxxxxxxxxx>: > 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 | ![]() | ![]() | ![]() |
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | |||
|
