Re: [xsl] Indentation question

Subject: Re: [xsl] Indentation question
From: knocte <knocte@xxxxxxxxx>
Date: Fri, 2 Sep 2005 13:54:09 +0200
2005/9/2, Michael Kay <mike@xxxxxxxxxxxx>:
> Use the normalize-space() function.

Thank you very much for your response.

But, isn't the normalize-space function for just trimming the string?
In case not, how can I use it in this case? Because I need to write
the paragraph in the XSLT file, not the XML file. So the thing I want
to normalize is in the stylesheet, not in the incoming XML data.

>
> > -----Original Message-----
> > From: knocte [mailto:knocte@xxxxxxxxx]
> > Sent: 02 September 2005 10:30
> > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> > Subject: Re: [xsl] Indentation question
> >
> > 2005/9/2, Joris Gillis <roac@xxxxxxxxxx>:
> > > Hi,
> > >
> > > Tempore 09:06:47, die 09/02/2005 AD, hinc in
> > xsl-list@xxxxxxxxxxxxxxxxxxxxxx scripsit knocte <knocte@xxxxxxxxx>:
> > >
> > > > Sometimes when I deal with XSLT, if I use this indent method:
> > > >
> > > > <xsl:output method="xml" indent="no" />
> > > >
> > > > Then I obtain all the results in one line, no EOL's.
> > > >
> > > > But I have found a case where this is not true, why?
> > >
> > > Because your xslt snippet contains non-whitespace-only text
> > nodes with line-breaks, which are copied in an unaffected
> > matter (whitespaces preserved) to the result tree.
> > >
> > > To avoid this, change
> > >
> > > >             <xsl:when test="LoginName">
> > > >               1
> > > >             </xsl:when>
> > >
> > > to
> > >
> > > <xsl:when test="LoginName">1</xsl:when>
> > >
> > > or to
> > >
> > > <xsl:when test="LoginName">
> > >         <xsl:text>1</xsl:text>
> > > </xsl:when>
> > >
> > >
> > > regards,
> > >
> >
> > Thanks Joris. I have fixed some annoying whitespaces with this advice.
> > But now I have another related issue:
> >
> > In HTML I have the advantage of writing a paragraph using EOL's and
> > don't worrying about the end view of the page because EOL's will be
> > converted to whitespaces.
> >
> > Example:
> >
> >   <p>
> >     This is a easy-to-edit paragraph because
> >     I can break it into multiple lines.
> >   <p>
> >
> > The result in the browser will not contain any line-breaks.
> >
> > Now, doesn't XSLT provide a "similar" way to edit paragraphs without
> > sending unnecessary line-breaks to the final result?
> >
> > I mean, given this:
> >
> >   <xsl:when test="whatever">
> >     <p>
> >       This is my paragraph which I want to break in multiple
> >       lines so as to edit it later more easily.
> >     </p>
> >   </xsl:when>
> >
> > If I use this, I obtain the unnecessary blank spaces which are present
> > between the words "multiple" and "lines". If I use <xml:text> with the
> > whole paragraph I will obtain the same because I still use
> > line-breaks:
> >
> >   <xsl:when test="whatever">
> >     <p>
> >       <xsl:text>
> >         This is my paragraph which I want to break in multiple
> >         lines so as to edit it later more easily.
> >       </xsl:text>
> >     </p>
> >   </xsl:when>
> >
> > The unique solution I have is to use <xsl:text> for EVERY LINE. This
> > is not very comfortable to maintain and also I have to worry about
> > putting a final whitespace at the end of each line (except the last
> > one) so as not to concatenate incorrectly:
> >
> >   <xsl:when test="whatever">
> >     <p>
> >       <xsl:text>This is my paragraph which I want to break in multiple
> > </xsl:text>
> >       <xsl:text>lines so as to edit it later more easily.</xsl:text>
> >     </p>
> >   </xsl:when>
> >
> > Is there any better solution out there for this issue?
> >
> >   Thanks,
> >
> >     Andrew
> >
> > --

Current Thread