[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] why no indent here
Subject: RE: [xsl] why no indent here From: Roelof Wobben <rwobben@xxxxxxxxxxx> Date: Mon, 12 Dec 2011 12:25:37 +0000 |
I found a answer here (http://www.dpawson.co.uk/xsl/sect2/N7240.html#d10122e376) but it seems no to work here. So I have this xslt : <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <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="/"> <xsl:apply-templates select="data/params" mode="top" /> <body> <div id="outer"> <div id="container"> <div id="search"> <form method="get" id="searchform" action="http://www.notepadchaos.com/"> <input type="text" value="" name="s" id="s" class="txtField" /> <input type="submit" id="searchsubmit" class="btnSearch" value="Find It " /> </form> </div> <div id="title"> <h2><xsl:text>Tamara Wobben</xsl:text></h2> </div> </div> <div id="content"> <div class="col01"> <xsl:apply-templates select="data/section/entry" /> </div> <div class="side-columns"> <div class="col02"> <div class="pages"> <!-- hier komen de losse pagina's --> </div> <div class="categories"> <!-- hier komt het menu --> </div> </div> <div class ="col03"> <!-- hier komen de recente posts --> </div> </div> </div> </div> </body> </xsl:template> <xsl:template match="data/params" mode="top" > <head> <title> <xsl:value-of select="root"/> </title> <link rel="stylesheet" href="http://www.notepadchaos.com/wp-content/themes/notepad-chaos-v2/style.cs s" type="text/css" media="screen" /> </head> </xsl:template> <xsl:template match="section/entry"> <div class="post"> <h3><xsl:value-of select="title"/> </h3> <div class="post-inner"> <xsl:apply-templates select="data/section/entry/body/text()" /> </div> </div> </xsl:template> <xsl:template match="body//text()"> <xsl:call-template name="make-verbatim"> <xsl:with-param name="text" select="."/> </xsl:call-template> </xsl:template> <xsl:template name="make-verbatim"> <xsl:param name="text" select="''"/> <xsl:variable name="starts-with-space" select="substring($text, 1, 1) = ' '"/> <xsl:variable name="starts-with-nl" select="substring($text, 1, 1) = '
'"/> <xsl:variable name="before-space"> <xsl:if test="contains($text, ' ')"> <xsl:value-of select="substring-before($text, ' ')"/> </xsl:if> </xsl:variable> <xsl:variable name="before-nl"> <xsl:if test="contains($text, '
')"> <xsl:value-of select="substring-before($text, '
')"/> </xsl:if> </xsl:variable> <xsl:choose> <xsl:when test="$starts-with-space"> <xsl:text> </xsl:text> <xsl:call-template name="make-verbatim"> <xsl:with-param name="text" select="substring($text,2)"/> </xsl:call-template> </xsl:when> <xsl:when test="$starts-with-nl"> <br/><xsl:text>
</xsl:text> <xsl:call-template name="make-verbatim"> <xsl:with-param name="text" select="substring($text,2)"/> </xsl:call-template> </xsl:when> <!-- if the string before a space is shorter than the string before a newline, fix the space...--> <xsl:when test="$before-space != '' and ((string-length($before-space) < string-length($before-nl)) or $before-nl = '')"> <xsl:value-of select="$before-space"/> <xsl:text> </xsl:text> <xsl:call-template name="make-verbatim"> <xsl:with-param name="text" select="substring-after($text, ' ')"/> </xsl:call-template> </xsl:when> <!-- if the string before a newline is shorter than the string before a space, fix the newline...--> <xsl:when test="$before-nl != '' and ((string-length($before-nl) < string-length($before-space)) or $before-space = '')"> <xsl:value-of select="$before-nl"/> <br/><xsl:text>
</xsl:text> <xsl:call-template name="make-verbatim"> <xsl:with-param name="text" select="substring-after($text, '
')"/> </xsl:call-template> </xsl:when> <!-- the string before the newline and the string before the space are the same; which means they must both be empty --> <xsl:otherwise> <xsl:value-of select="$text"/> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> And this is my full xml : <?xml version="1.0" encoding="utf-8" ?> <data> <params> <today>2011-12-09</today> <current-time>13:22</current-time> <this-year>2011</this-year> <this-month>12</this-month> <this-day>09</this-day> <timezone>+01:00</timezone> <website-name>Tamara Wobben</website-name> <page-title>Home</page-title> <root>http://test.tamarawobben.nl</root> <workspace>http://test.tamarawobben.nl/workspace</workspace> <root-page>home</root-page> <current-page>home</current-page> <current-page-id>4</current-page-id> <current-path>/home/?debug&symphony-page=home/</current-path> <parent-path>/</parent-path> <current-url>http://test.tamarawobben.nl/home/?debug&symphony-page=home/< /current-url> <upload-limit>2097152</upload-limit> <symphony-version>2.2.5</symphony-version> <cookie-username>admin</cookie-username> <cookie-pass>bd619be1eb114dce7512fc0c5af1487c58074ab4</cookie-pass> <site-mode>live</site-mode> <ds-section> <item handle="1"><span class="order">1</span></item> </ds-section> </params> <events /> <section> <section id="6" handle="sections">Sections</section> <entry id="9"> <title handle="even-voorstellen">Even voorstellen</title> <body>Naam : Tamara Wobben Geboorte gewicht : 2000 gram Geboorte lengte : 44 cm. Geboortedatum : 1 september 2005 </body> </entry> </section> </data> But no not a single character is shown. Roelof ---------------------------------------- > Date: Mon, 12 Dec 2011 09:15:56 +0000 > From: mike@xxxxxxxxxxxx > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] why no indent here > > >So I can't preserve the linebreaks in the xml file into the html file ? > > If you do "view source" you'll see that the line breaks are indeed > present in your HTML. The problem is that line breaks in HTML aren't > displayed as line breaks by the browser. To get a line break in the > browser output, you need a <br> element in the HTML. > > The question "how do I convert linebreaks into <br> elements" is FAQ > and you should be able to find an answer by googling. > > Michael Kay > Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] why no indent here, Michael Kay | Thread | Re: [xsl] why no indent here, David Carlisle |
Re: [xsl] Removing a single namespa, Andrew Welch | Date | Re: [xsl] why no indent here, David Carlisle |
Month |