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

Re: Added whitespace

Subject: Re: Added whitespace
From: "Kaarle Kaila" <kaarle.kaila@xxxxxx>
Date: Sat, 24 Apr 2004 21:59:56 +0300
libxml2 whitespace
Hi,

I am using libxml2 as my processor. It might be good to have an alternative
one for experiments.
Here is my complete xml-file with comma after </person> and </place>

<?xml version="1.0" encoding="UTF-8"?>
<raport type="D"><tables><table number="1">
<section type="MAIN" gen="1"><person sex="M">
<name><givenname>Kalle</givenname></name><notices>
<notice tag="NOTE">
<para>Erikoismerkkikoetta. Ensiksi henkilv <person
sex="U"><name><givenname>Kalle</givenname><surname>Kaila</surname></name></p
erson>, jonka perdssd piste ja sitten paikka <place>Bromarf</place>, jonka
perdssd piste. Lopussa on piste.</para>
</notice><notice
tag="OCCU"><para>Suunnittelija</para></notice></notices></person></section><
section type="CHIL" gen="2"><relation type="CHIL"><person
sex="F"><name><givenname>Camilla</givenname></name></person></relation></sec
tion></table></tables></raport>
===========
My xslt files are too big to add to the list but a few templates are:

<xsl:template match="text()">
<xsl:if test="local-name(..)!='givenname'">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:value-of select="."/>
</xsl:template>

<xsl:template match="notice">
<xsl:text> </xsl:text>
<xsl:value-of select="@text"/>
<xsl:if test="@text">
<xsl:text> </xsl:text>
</xsl:if>
<xsl:apply-templates/>
<xsl:if test="@source != ''">
<xsl:variable name="sname" select="@source"/>
<a href="sources.html#S{$sname}" target="idx">[<xsl:value-of
select="@source"/>]</a>
</xsl:if>
<xsl:if test="substring(.,string-length())!='.'">
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:template>

==============
the resulting html looks like this:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>suku-testiraportti</title>
<link href="tables.css" rel="stylesheet" type="text/css">
</head>
<body>
<a name="T1"></a><div class="hdr">Taulu 1</div>
<div class="table">
<p>I.
<span class="name"> Kalle</span>  Erikoismerkkikoetta. Ensiksi henkilv <span
class="name"> Kalle  Kaila</span> , jonka perdssd piste ja sitten paikka
Bromarf , jonka perdssd piste. Lopussa on piste.  Suunnittelija.</p>II
Lapset<div class="child"><span class="name"> Camilla</span></div>
</div>
</body>
</html>

=========
The problem now is the whitespace after Bromarf  and after the Kaila</span>
before the comma.
place does not have any specific template but name tags have.


----- Original Message ----- 
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Saturday, April 24, 2004 9:17 PM
Subject: Re:  Added whitespace


At 2004-04-24 20:48 +0300, Kaarle Kaila wrote:
>I have an xml-structure that contains mixed text like this. The comma is
>after the place element
>and it is transformed using the default rules as I have no template for
>place.

The evidence you show does not indicate this to be true:

>sitten paikka <place>Bromarf</place>,  jonka perdssd pilkku
>
>The result in html is
>
>  ja sitten paikka  Bromarf , jonka perdssd pilkku
>
>-------------
>I have a similar case where I have a template for the element with similar
>result.
>How can I avoid the whitespace between Bromarf and the comma?

The Recommendation does not provide for those spaces you are
witnessing.  You do not say which processor you are using, but the evidence
as presented is that your processor is not conforming to the spec.

Section 5.8 of the spec explicitly indicates that no spaces are to be added:

   <xsl:template match="*|/">
     <xsl:apply-templates/>
   </xsl:template>

So it sounds like a bug in your processor or there is a template rule in
your stylesheet that is catching the element and adding the spaces to the
result tree.  Check for a template rule that matches all elements.

I hope this helps.

.................... Ken

--
Public courses: Spring 2004 world tour of hands-on XSL instruction
Each week:   Monday-Wednesday: XSLT/XPath; Thursday-Friday: XSL-FO

Hong Kong May 17-21; Bremen Germany May 24-28; Helsinki June 14-18

World-wide on-site corporate, govt. & user group XML/XSL training.
G. Ken Holman                 mailto:gkholman@xxxxxxxxxxxxxxxxxxxx
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0    +1(613)489-0999 (F:-0995)
Male Breast Cancer Awareness  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

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.