Re: [xsl] To preserve line jumps on having gone on from XML to HTML

Subject: Re: [xsl] To preserve line jumps on having gone on from XML to HTML
From: "Javier de Andrés" <jandres@xxxxxxxxx>
Date: Mon, 2 Aug 2004 13:49:01 +0200
Hello

Excuse me for my way of expressing in English but I am Spanish and my English 
is bad.

Thank you very much.
 Javi

--
DIIC
Facultad de Imformatica
Universidad de Murcia


---------- Original Message -----------
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Sent: Fri, 30 Jul 2004 12:16:51 -0400
Subject: Re: [xsl] To preserve line jumps on having gone on from XML to HTML

> Javi,
> 
> Since the line breaks ("line jumps" is a good but unusual thing to call
> them) are not expressed in your XML, to convert them into markup requires
> processing the string value of the node. In this case, the best XSLT
> solution is to use a recursive template that takes the string and 
> breaks it into pieces one at a time at the Line Break ('jump') 
> character, which is character &#xA; or &#10; (as hexadecimal or 
> decimal character references).
> 
> This could look like:
> 
> <xsl:variable name="delim" select="'&#xA;'"/>
> 
> <xsl:template match="Body">
>    <p>
>      <xsl:call-template name="mark-string">
>        <xsl:with-param name="string-left" select="string(.)"/>
>      </xsl:call-template>
>    </p>
> </xsl:template>
> 
> <xsl:template name="mark-string">
>    <xsl:param name="string-left" select="string(.)"/>
>    <xsl:if test="$block">
>      <xsl:variable name="segment">
>        <xsl:choose>
>          <xsl:when test="contains($string-left,$delim)">
>            <xsl:value-of select="substring-before($string-left,
> $delim)"/>         </xsl:when>         <xsl:otherwise>           
> <xsl:value-of select="$string-left"/>         </xsl:otherwise>       
> </xsl:choose>     </xsl:variable>     <xsl:value-of select="$segment"/>
>      <br/>
>      <xsl:call-template name="mark-string">
>        <xsl:with-param name="string-left"
> select="substring-after($string-left,$delim)"/>
>      </xsl:call-template>
>    </xsl:if>
> </xsl:template>
> 
> This is fully documented in the FAQ at
> http://www.dpawson.co.uk/xsl/sect2/N7240.html (look for "CLRF to BR").
> 
> In XSLT 2.0, where a tokenize() function is available, this is much easier.
> 
> Cheers,
> Wendell
> 
> BTW <Body Articulate>...</Body Articulate> is not well-formed XML; 
> no space can be in the name. Try <Body_Articulate> or maybe <Body 
type="Articulate">.
> 
>   At 06:58 AM 7/30/2004, you wrote:
> >Hello
> >
> >I have a problem, i have a file XML like :
> >
> ><Article>
> >    <title>
> >       Article 1
> >    </title>
> >    <Body Articulate>
> >       - Line
> >       - Another Line
> >       - Another line
> >       Another Line
> >    </Body Articulate>
> ></Article>
> >
> >Then I use a file XSLT to transform it in html, but clear the part of the
> >lines me appears with the line jump, but without a <BR> at the time on 
having
> >seen it in the browser the line jumps do not remain.
> >
> >You know as this might do?
> >
> >Thank you very much
> >  Javi.
> >
> >--
> >DIIC
> >Facultad de Imformatica
> >Universidad de Murcia
> >
> >
> >--
> >DIIC
> >Facultad de Imformatica
> >Universidad de Murcia
> 
> ___&&__&_&___&_&__&&&__&_&__&__&&____&&_&___&__&_&&_____&__&__&&_____&_&&_
>      "Thus I make my own use of the telegraph, without consulting
>       the directors, like the sparrows, which I perceive use it
>       extensively for a perch." -- Thoreau
------- End of Original Message -------

Current Thread