Subject: RE: [xsl] Whitespace between nodes From: "Michael Kay" <mhk@xxxxxxxxx> Date: Thu, 13 May 2004 09:11:28 +0100 |
> I suspect that your input document has the carriage returns > and so they are being carried to your output document > correctly. Since you didn't supply the source I can't be > sure. I think one of your processors is "helpfully" removing > the carriage returns improperly. If you show us the input and > name the processors it will be easy to help. MSXML by default strips whitespace text nodes while building a DOM from source input files. Other processors don't. There have been many debates about whether the MSXML behavior is conformant or not, and the consensus seems to be that it is against the spirit of the rules but not against the letter: this is a detail of the design of Microsoft's API for constructing a DOM from a source XML file, which is a proprietary API outside the control of any W3C specs, so they can do what they like (so long as the customers keep paying their money). The XSLT specification explicitly says that implementations can build a source tree as input to the transformation any way they like. If whitespace text nodes in your source document are not significant, you should remove them by writing <xsl:strip-space elements="*"/> in your stylesheet. If they are significant, you should take care when using MSXML to set the preserveWhitespace option so they are retained. Michael Kay
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Whitespace between nodes, Andreas L. Delmelle | Thread | RE: Re: [xsl] Whitespace between no, cknell |
RE: [xsl] Concatenating multiple in, Michael Kay | Date | RE: [xsl] Whitespace between nodes, Michael Kay |
Month |