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: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 30 Jul 2004 12:16:51 -0400

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">
    <xsl:call-template name="mark-string">
      <xsl:with-param name="string-left" select="string(.)"/>

<xsl:template name="mark-string">
<xsl:param name="string-left" select="string(.)"/>
<xsl:if test="$block">
<xsl:variable name="segment">
<xsl:when test="contains($string-left,$delim)">
<xsl:value-of select="substring-before($string-left,$delim)"/>
<xsl:value-of select="$string-left"/>
<xsl:value-of select="$segment"/>
<xsl:call-template name="mark-string">
<xsl:with-param name="string-left" select="substring-after($string-left,$delim)"/>

This is fully documented in the FAQ at (look for "CLRF to BR").

In XSLT 2.0, where a tokenize() function is available, this is much easier.


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:

I have a problem, i have a file XML like :

      Article 1
   <Body Articulate>
      - Line
      - Another Line
      - Another line
      Another Line
   </Body Articulate>

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

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

Current Thread