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

RE: Whitespace around comments

Subject: RE: Whitespace around comments
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 9 Oct 2007 00:26:56 +0100
RE:  Whitespace around comments
In XSLT 1.0, with <xsl:output method="xml" indent="yes">, you are pretty
much at the mercy of the implementation. If you care about whitespace, don't
use indentation.

XSLT 2.0 is stricter, but it still says nothing about this case -
implementations can insert whitespace between a comment node and a start or
end tag, though they are advised against it if the content model is known to
be mixed.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Anderson, Paul [mailto:Paul.Anderson@xxxxxxxxxxxxx] 
> Sent: 09 October 2007 00:13
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  Whitespace around comments
> 
> Greetings All,
> 
> I'm having some trouble convincing my XSL code to make a 
> comment an inline structure rather than starting a new line 
> with the start of the comment. Here is the template doing the work:
> 
> <xsl:template name="bold">
>  <xsl:variable name="content">
>   <xsl:value-of select="normalize-space(.)"/>  </xsl:variable>
>   <xsl:choose>
>    <xsl:when test="contains(.,'&gt;')"><menu><xsl:call-template
> name="parsemenu"/></menu></xsl:when>
>    <xsl:when test="$content = 'OK' or $content = 
> 'Cancel'"><gui><xsl:apply-templates/></gui></xsl:when>
>    
> <xsl:otherwise><b><xsl:apply-templates/></b><xsl:comment>Comme
> nt text here.</xsl:comment></xsl:otherwise>
>   </xsl:choose>
>  </xsl:choose>
> </xsl:template>
> 
> In the output, I'm seeing the following (as an example):
> 
> <para>All Probes in the load-sharing setup must be assigned 
> the same value for <b>Segment Name</b> <!--Comment text 
> here.-->.</para>
> 
> The newline after the </b> tag introduces whitespace between 
> the bolded word "Name" and the following period. This is a 
> bad thing. I cannot figure out how the newline is getting in 
> between the </b> end tag and the start of the comment. The 
> only thing I can think of is that it is caused by 
> indent="yes" on the output element for this stylesheet.
> 
> Any help is appreciated.
> 
> Best regards,
> 
> Paul
> The contents of this e-mail are intended for the named 
> addressee only. It contains information that may be 
> confidential. Unless you are the named addressee or an 
> authorized designee, you may not copy or use it, or disclose 
> it to anyone else. If you received it in error please notify 
> us immediately and then destroy it.

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.