[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

RE: [xsl] spacing issues when working with the Saxon processor with Stylus


Subject: RE: [xsl] spacing issues when working with the Saxon processor with Stylus
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 19 Jul 2005 03:22:09 +0100

I think that the Saxon version packaged with Stylus is a release or two
behind the latest. The XSLT 2.0 spec has changed in this area to remove the
usability problem that you're hitting, and Saxon has changed with it.

Simplest fix is to change this:

<xsl:element
> name="a"><xsl:attribute name="href"><xsl:text>#!--
> #ID:</xsl:text><xsl:value-of select="normalize-space(translate(tlc, '
> ', ''))"/><xsl:text> </xsl:text>--#</xsl:attribute>Table of
> Legislative Changes.</xsl:element>

to this:

<a href="#!-- #ID:{normalize-space(translate(tlc, ' ', ''))} --#">Table of
Legislative Changes.</a>

(though note that if you're generating HTML, the value of the href attribute
is required to be a URI, and this is anything but!).

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

> -----Original Message-----
> From: Spencer Tickner [mailto:spencertickner@xxxxxxxxx] 
> Sent: 18 July 2005 18:27
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] spacing issues when working with the Saxon 
> processor with Stylus
> 
> Hi everyone,
> 
> I am having difficulty with a spacing issue in a link. I've been able
> to recreate the problem with a stripped down verision of my stylesheet
> and xml:
> 
> XSLT
> 
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet version="2.0" 
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> 	<xsl:output method="html" indent="no" omit-xml-declaration="yes"
> encoding="ISO-8859-1" name="html"/>
> 	<xsl:strip-space elements="tlc"/>
> 
> <xsl:template match="/">
> 			<xsl:apply-templates/>
> </xsl:template>
> 
> <xsl:template match="currency">
> 	<html>
> 		<body>
> 		<table>
> 		<xsl:if test="/descendant::tlc">
> 			<tr>
> 				<td colspan="4" 
> class="tabletext">This Act has &quot;Not in
> Force&quot; sections. <em>See</em> the <xsl:element
> name="a"><xsl:attribute name="href"><xsl:text>#!--
> #ID:</xsl:text><xsl:value-of select="normalize-space(translate(tlc, '
> ', ''))"/><xsl:text> </xsl:text>--#</xsl:attribute>Table of
> Legislative Changes.</xsl:element></td>
> 			</tr>
> 		</xsl:if>
> 		</table>
> 		</body>
> 	</html>
> </xsl:template>
> </xsl:stylesheet>
> 
> XML:
> 
> <?xml version="1.0"?>
> <currency>
>  <tlc>E2tlc96159</tlc>
> </currency>
> 
> Results:
> 
> <html><body><table><tr><td colspan="4" class="tabletext">This Act has
> "Not in Force" sections. <em>See</em> the <a href="#!-- #ID:
> E2tlc96159   --#">Table of Legislative
> Changes.</a></td></tr></table></body></html>
> 
> The problem is the link,,
> 
> <a href="#!-- #ID: E2tlc96159   --#">
> 
> should be,
> 
> <a href="#!-- #ID:E2tlc96159  --#">
> 
> If you can't make it out in the email there should be 1 less space
> after the final "9" before the dash, and no space between the "ID:"
> and the "E"..
> 
> Any thoughts would really help me out.
> 
> Spencer


Current Thread
Keywords