[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: why no indent here

Subject: RE: why no indent here
From: "Tony Graham" <tgraham@xxxxxxxxxx>
Date: Mon, 12 Dec 2011 09:12:13 -0000 (GMT)
RE:  why no indent here
On Mon, December 12, 2011 8:42 am, Roelof Wobben wrote:
...
>> > <body>Naam : Tamara Wobben
>> > Geboorte gewicht : 2000 gram
>> > Geboorte lengte : 44 cm.
>> > Geboortedatum : 1 september 2005
>> >
>> > </body>
...
> and in the xhtml there are no <br> tags so to my knowlegde the linebreaks
> are not there.

I wouldn't expect there to be, but I would expect that the line breaks in
the original would be there if you did viewed 'Page Source' in your web
browser or opened the XHTML in a text editor.

>> 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

Neither approach is all that difficult, and the choice probably depends on
whether you need to show the indent of the second and subsequent lines:

---------------------------------
<xsl:stylesheet
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">

<xsl:output
     method="xml"
     doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
     doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
     omit-xml-declaration="yes"
     encoding="UTF-8"
     indent="yes" />

<xsl:template match="body">
  <div>
    <pre style="font-family: serif">
      <xsl:apply-templates />
    </pre>

    <p>
      <xsl:call-template name="add-br" />
    </p>
  </div>
</xsl:template>

<xsl:template name="add-br">
  <xsl:param name="text" select="." />

  <xsl:choose>
    <xsl:when test="contains($text, '&#10;')">
      <xsl:value-of select="substring-before($text, '&#10;')" />
      <br />
      <xsl:text>&#10;</xsl:text>
      <xsl:call-template name="add-br">
	<xsl:with-param name="text" select="substring-after($text, '&#10;')" />
      </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$text" />
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

</xsl:stylesheet>
-----------------------------------------

produces:

-----------------------------------------
<!DOCTYPE div PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<div>
  <pre style="font-family: serif">Naam : Tamara Wobben
         Geboorte gewicht : 2000 gram
         Geboorte lengte : 44 cm.
         Geboortedatum : 1 september 2005

</pre>
  <p>Naam : Tamara Wobben <br />
         Geboorte gewicht : 2000 gram <br />
         Geboorte lengte : 44 cm. <br />
         Geboortedatum : 1 september 2005<br />
<br />
</p>
</div>
-------------------------------------------

Regards,


Tony Graham                                   tgraham@xxxxxxxxxx
Consultant                                 http://www.mentea.net
Mentea       13 Kelly's Bay Beach, Skerries, Co. Dublin, Ireland
 --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --
    XML, XSL-FO and XSLT consulting, training and programming

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.