Re: [xsl] translate array delimiters in XSLT

Subject: Re: [xsl] translate array delimiters in XSLT
From: JBryant@xxxxxxxxx
Date: Fri, 18 Mar 2005 11:18:07 -0600
I was thinking that, too, Wendell, but some quick testing revealed a 
problem. Because translate substitutes only one character, the semi-colon 
is replaced with a comma but no space. To get a space after each comma 
requires a different approach. I suppose a recursive template that uses 
substring functions would be the 1.0 solution. I think the 2.0 solution 
would be to tokenize the input string and then reassemble with a for-each 
on the tokens, adding the comma and space along the way.

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)

Wendell Piez <wapiez@xxxxxxxxxxxxxxxx> 
03/18/2005 10:43 AM
Please respond to


Re: [xsl] translate array delimiters in XSLT


At 11:36 AM 3/18/2005, you wrote:
><xsl:for-each select="translate(@software,';',', ')">
>     <xsl:value-of select="."/>

You want

<xsl:value-of select="translate(@software,';',', ')"/>

The translate() function operates on strings and returns a string. Since 
for-each iterates over a set of nodes, it requires a node-set to be 
returned by the expression in its @select: hence the error when you give 
a string.


Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc.      
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
   Mulberry Technologies: A Consultancy Specializing in SGML and XML

Current Thread