RE: [xsl] why no indent here

Subject: RE: [xsl] why no indent here
From: Roelof Wobben <rwobben@xxxxxxxxxxx>
Date: Mon, 12 Dec 2011 08:42:04 +0000
----------------------------------------
> Date: Mon, 12 Dec 2011 08:35:16 +0000
> From: tgraham@xxxxxxxxxx
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: [xsl] why no indent here
>
> On Mon, December 12, 2011 7:59 am, Roelof Wobben wrote:
> ...
> > But it don't work well. If I do the <xsl:text> then the sentence after
> > that will be without the line-break.
>
> Sorry, but I didn't understand that.
>
> ...
> > When I have a xml piece of this :
> >
> > <body>Naam : Tamara Wobben
> > Geboorte gewicht : 2000 gram
> > Geboorte lengte : 44 cm.
> > Geboortedatum : 1 september 2005
> >
> > </body>
> >
> > And I do <xsl:value-of select="body" or I do <xsl:copy-of select="body">
> > Then all the text will be displayed as this :
> >
> > Tamara Wobben Geboorte gewicht : 2000 gram Geboorte lengte : 44 cm
> > Geboortedatum : 1 september 2005
> >
> > And not as the text in the xml file.
>
> I expect that the line breaks and extra whitespace are in the XHTML but
> aren't being shown by your web browser: text nodes containing both
> whitespace and non-whitespace text are not stripped, nor stripped of their
> 'extra' whitespace (unless you've slipped in a normalize-space() that you
> haven't told us about, that is).



No, I have give you the exact commands I have used.

and in the xhtml there are no <br> tags so to my knowlegde the linebreaks are
not there.


>
> You could output the content in a <pre>, though by default that would come
> out as monospaced text. You could then add CSS styles to use a
> proportionally-spaced font with the <pre> if that's what you want.
>
> If you were using XSLT 2.0, you could use xsl:analyse-string to replace
> the line breaks with <br /> elements. With XSLT 1.0, you could do much
> the same thing with a recursive template that uses substring-before() to
> find the text before the first line break, outputs that text and a <br />,
> then calls itself with the substring-after() the first line break. When
> there's no more line breaks, the template would just output the remaining
> text.


Oke, then I have to find or write myself such a recursive template that do
that. Symphomny works with xslt 1.0

and to my knowlegde there are no plans to switch to xslt 2.0 because Symphony
uses the xslt from php.



Regards,



Roelof Wobben

Current Thread