xsl-list
[Top] [All Lists]

Re: [xsl] converting a sequence of text nodes into one

2007-01-04 04:42:42
On 1/4/07, Georges Schmitz <georges(_dot_)schmitz(_at_)heitec(_dot_)de> wrote:
What is the "fastest" way to convert a sequence of text nodes into one
single text node in XPath2.0?

I could do it outside of an XPath expression by applying xsl:value-of

    <xsl:param name="text" as="xs:string">
       <xsl:value-of select="@name"/>
    </xsl:param>

but I would like to have it more compact, something like:

    <xsl:param name="text" select="mysterious-function(@name)"
as="xs:string"/>

(mysterious-function should be a standard function, not one by me that
encapsulates xsl:value-of :-), but I don't know if such a construct exists)

Use string-join() with a space for the separator value (or leave it empty)

In XSLT 2.0 you can use <xsl:value-of> without a select eg

<xsl:value-of>
 <xsl:text>foo</xsl:text>
 <xsl:text>bar</xsl:text>
</xsl:value-of>

...will result in a sequence of length 1.

In your example though, how would an attribute return a sequence of
multiple text nodes?

--~------------------------------------------------------------------
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>