RE: XSL transforming XML to HTML

Subject: RE: XSL transforming XML to HTML
From: Kay Michael <Michael.Kay@xxxxxxx>
Date: Mon, 10 Jul 2000 09:46:25 +0100
> Kien Phan asks:
> >Can anyone tell me if there are any built-in XSL functions that will
> >allow me to avoid the <SPAN> and <FONT> tags from being outputted on
> >the next line after the <DIV> tag.
> 
> Note that <font> is a literal result element (LRE). Try changing this
> <div id="gold">
>     <xsl:choose>
>         <xsl:when test="$contract='yearly'">
>             <font>
>             <xsl:value-of
> 
> to this:
> <div id="gold">
>     <xsl:choose>
>         <xsl:when test="$contract='yearly'"><font>
>             <xsl:value-of
> 
> Since the XSL stylesheet is getting parsed as XML, the item between
> <xsl:when test="$contract='yearly'"> and <xsl:value-of...> is being
> read in as a piece of text. ("Text node" is a term often used.)

This advice is wrong. Whitespace-only text nodes in XSLT stylesheets are
ignored, unless they appear within an <xsl:text> element.

If you are using <xsl:output method="html">, the default is indent="yes",
which allows the processor to add spaces anywhere that they will be ignored
by the browser. If your processor is adding spaces that make a difference to
the final appearance in the browser, it's a bug.

When you suspect a bug like this in an XSLT processor, it's worth seeing
what a different XSLT processor does with it.
 
Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread