Subject: RE: [xsl] <xsl:value-of select="for ..." separator=", "> From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 6 May 2005 22:58:45 +0100 |
I suspect that your function returns a sequence of text nodes rather than a sequence of strings. To make other cases behave more predictably, for example <xsl:value-of select="x:f()"/> <xsl:function name="x:f"> <xsl:text>[</xsl:text><xsl:value-of select="13"/><xsl:text>]</xsl:text> </xsl:function> We decided that separators would only be used between atomic values, not between text nodes. My guess is that your function is returning text nodes because (a) it uses xsl:value-of to create its result, rather than xsl:sequence, and (b) it doesn't declare its return type Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Kevin Rodgers [mailto:kevin.rodgers@xxxxxxx] > Sent: 06 May 2005 21:04 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] <xsl:value-of select="for ..." separator=", "> > > In my XSLT 2.0 stylesheet processed by Saxon 8.3, I had this: > > <xsl:value-of > select="for $relation in $relation-list > return esd:xref-doc-num($mb3-connection, $relation)" > separator=", "/> > > But the results of the function calls were concatenated, without the > separator string between them. Using string-join() like this > yields the > desired results: > > <xsl:value-of > select="string-join(for $relation in $relation-list > return > esd:xref-doc-num($mb3-connection, $relation), > ', ')"/> > > But why is that necessary? Why doesn't the xsl:value-of separator > attribute work as I expect? > > Thanks, > -- > Kevin Rodgers
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] <xsl:value-of select="for ..., Kevin Rodgers | Thread | [xsl] minor grouping issue, Bruce D'Arcus |
Re: [xsl] A challenge.. Group Perio, David Carlisle | Date | RE: [xsl] minor grouping issue, Michael Kay |
Month |