Subject: [xsl] XSLT processor adds unwanted HTML attributes From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx (by way of Mulberry Technologies List Owner) Date: Sun, 16 Feb 2003 12:52:01 -0800 |
From: Graham Hannington <Ghannington@xxxxxxx> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: XSLT processor adds unwanted HTML attributes Date: Sun, 16 Feb 2003 13:22:48 -0000 I'm splitting a single, large XML (well, XHTML) file into multiple files, breaking at the <h1> elements. I'm using the following stylesheet: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version="1.1" > <xsl:preserve-space elements="*" /> <xsl:output method="xml" /> <xsl:template match="h1"> <xsl:variable name="file_name" select="concat(., '.htm')" /> <xsl:message>Splitting <xsl:copy-of select="$file_name" /> ...</xsl:message> <xsl:document href="{$file_name}" > <html> <xsl:text>
</xsl:text> <head> <xsl:text>
	</xsl:text> <link rel="StyleSheet" href="style/default.css" /> <xsl:text>
	</xsl:text> <script src="style/default.vbs" language="VBScript"></script> <xsl:text>
</xsl:text> </head> <xsl:text>
</xsl:text> <body> <xsl:text>
</xsl:text> <xsl:copy-of select="." /> <xsl:text>
</xsl:text> <xsl:call-template name="followingElements"/> <xsl:text>
</xsl:text> </body> <xsl:text>
</xsl:text> </html> </xsl:document> </xsl:template> <xsl:template name="followingElements"> <xsl:for-each select="following-sibling::*[1][not(self::h1)]"> <xsl:copy-of select="." /> <xsl:text>
</xsl:text> <xsl:call-template name="followingElements"/> </xsl:for-each> </xsl:template> </xsl:stylesheet> (I wish I knew a better way to have line breaks than to code all that 
 stuff. Maybe call a named template each time instead, I guess. Stuart Brown: you'll probably recognize some of your code in that followingElements template... thanks again :-) Here's the problem (with apologies, I realize this dips into XSLT processor-specific behaviour): - MSXSL (the command-line interface to MSXML) appears to not support the <xsl:document> element. - Saxon works fine, but - here's the annoying bit - adds colspan and rowspan attributes to my <td> tags (even though I'm specifying XML as the output method). I interpret Saxon as doing something "naughty" here, or am I wrong? How do I stop these well-meaning additions? (To - hopefully - avoid flames for discussing processor-specific implementation issues: I don't know for sure that this is a Saxon-specific thing... it could be that XSLT processors in general are allowed to do this stuff unless they're told otherwise; I just don't know how to tell them otherwise ;-) Graham Hannington XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Progress indicator in Xal, Joseph Kesselman | Thread | Re: [xsl] XSLT processor adds unwan, Tobias Reif |
RE: [xsl] MSIE - XSL transform -> ., Ilya Khandamirov | Date | Re: [xsl] XSLT processor adds unwan, Tobias Reif |
Month |