I would do
<xsl:template match="e">
<xsl:analyze-string select="." regex="^\s*.*?\s*$">
<xsl:matching-substring>
<xsl:value-of select="regex-group(1)"/>
<e><xsl:value-of select="regex-group(2)"/></e>
<xsl:value-of select="regex-group(3)"/>
</
</
</
Not tested.
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Yves Forkl [mailto:Y(_dot_)Forkl(_at_)srz(_dot_)de]
Sent: 06 February 2007 13:51
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Move leading/trailing spaces outside (XSLT 2.0)
Hi,
I'm looking for an elegant XSLT 2.0 solution to this tiny
problem. When processing
<e> one</e>
<e>two </e>
<e> three </e>
I want to separate the leading and trailing spaces from the
rest of the content but keep them in the output as text
nodes, like if I was saying in XSLT
<xsl:text> </xsl:text><e>one</e>
<e>two</e><xsl:text> </xsl:text>
<xsl:text> </xsl:text><e>three</e><xsl:text> </xsl:text>
normalize-space() won't tell me how much spaces it removed,
and there must be a less awkward way than using xsl:choose
with 3 clauses...
Any suggestions? Should I try with tokenize() or matches()?
Yves
--~------------------------------------------------------------------
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>
--~--