Subject: Re: [xsl] A function that tokenizes a string, wrapping each token in start-tag , end-tag pairs? From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 21 Apr 2016 12:52:12 -0000 |
You rock Martin! Fantastic! Okay, I changed the implementation as you suggested, see below. The new implementation is much shorter and much clearer. Can it be improved even further? <!-- Create an element for each non-empty token in $line. $line is tokenized using the sequence of symbols denoted by $line-delimiter. For the token at position i, name the element using the string in headers[$i] --> <xsl:function name="f:line" as="element()*"> <xsl:param name="line" as="xs:string" /> <xsl:param name="delimiter" as="xs:integer+" /> <xsl:param name="headers" as="xs:string+" /> <xsl:for-each select="tokenize($line, codepoints-to-string($delimiter))"> <xsl:if test=". ne ''"> <xsl:variable name="pos" select="position()" /> <xsl:element name="{$headers[$pos]}"> <xsl:sequence select="."/> </xsl:element> </xsl:if> </xsl:for-each> </xsl:function>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] A function that tokenizes, Dimitre Novatchev dn | Thread | Re: [xsl] A function that tokenizes, Martin Honnen martin |
Re: [xsl] A function that tokenizes, Martin Honnen martin | Date | Re: [xsl] A function that tokenizes, Martin Honnen martin |
Month |