RE: RE: [xsl] remove <b> and <br>+merge nodes

Subject: RE: RE: [xsl] remove <b> and <br>+merge nodes
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 22 Jan 2004 08:36:24 -0500
At 2004-01-22 13:37 +0100, Fabrice Estiévenart wrote:
that's it,
the main difficulty is to merge resulting text nodes into an unique one :

for example :
<p>my <b>tailor</b> is <br/> rich</p>

should become :
<p>
#text : my tailor is rich
<p>

Where did the newline sequences at the start and end come from in the above example?


and NOT :
<p>
#text : my
#text : tailor
#text : is
#text : rich
<p>

But the result was given to you earlier: <xsl:value-of /> for an element node in the source node tree adds to the result tree the concatenation of all of the descendant text nodes.


I note that XSLT 1.0 section 7.2 states "Adjacent text nodes in the result tree are automatically merged." but perhaps your processor isn't doing this.

If you wanted to coerce the creation of the result tree to be a single string,

<p><xsl:value-of select="string(.)"/></p>

... may give you the result as a single string. But I haven't accommodated the newline sequences that you show in your example you have asked us to work with.

I hope this helps.

..................... Ken


-- Public courses: sign up for one or both soon to reserve your seat! Each week: Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO Washington, DC: 2004-03-15 San Francisco, CA: 2004-03-22 Hong Kong, China: 2004-05-17 Bremen, Germany: 2004-05-24 World-wide on-site corporate, government & user group XML training

G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/s/bc


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread