xsl-list
[Top] [All Lists]

RE: <xsl:value-of select="for ..." separator=", ">

2005-05-06 14:58:45
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(_dot_)rodgers(_at_)ihs(_dot_)com] 
Sent: 06 May 2005 21:04
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
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


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>