|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Move leading/trailing spaces outside (XSLT 2.0)
Subject: Re: Move leading/trailing spaces outside (XSLT 2.0)
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Tue, 06 Feb 2007 16:11:49 +0100
|
Martin Honnen wrote:
Yves Forkl wrote:
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,
This should do:
<xsl:template match="e">
<xsl:analyze-string select="." regex="^\s+">
<xsl:matching-substring>
<xsl:value-of select="."/>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:analyze-string select="." regex="\s+$">
<xsl:matching-substring>
<xsl:value-of select="."/>
</xsl:matching-substring>
<xsl:non-matching-substring>
<e><xsl:value-of select="."/></e>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:non-matching-substring>
</xsl:analyze-string>
</xsl:template>
You can make this easier by doing it in one pass:
<xsl:analyze-string select="." regex="^\s+|\s+$">
....
Greedy matching (which it is always) will ensure that the
matching-substring is always either the leading or the trailing.
Non-matching-substring is always the middle part.
-- Abel

| Current Thread |
Martin Honnen - 6 Feb 2007 14:23:33 -0000
- Abel Braaksma - 6 Feb 2007 15:13:35 -0000 <=
Abel Braaksma - 6 Feb 2007 15:49:55 -0000
|
|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
| RSS 2.0 |
|
| Atom 0.3 |
|
|