[xsl] XSLT engines and terminal newline

Subject: [xsl] XSLT engines and terminal newline
From: "Michael(tm) Smith" <smith@xxxxxxxxxxxxxxxxxx>
Date: Wed, 20 Sep 2006 00:46:41 +0900
When I do an XSLT transformation with xsltproc, the output is
always newline-terminated (final byte is a newline character).
When I do the same transformation with Saxon 6.5, the output is
not newline-terminated.

For most purposes the difference doesn't matter. But to diff and
some other text-processing tools, it does (diff considers any line
that doesn't end with a newline to be an "incomplete line"; it
goes ahead processes such a line as if they did end in a newline,
but emits a "No newline at end of file" message in the diff).

I know I can make changes within my stylesheet to ensure that the
terminal newline gets added to the Saxon output, but the problem
is that if I then use the same stylesheet with xsltproc, I end up
with two newlines at the end of the file (and so an unnecessary
blank line at the end). I also know that for the case of XML
output, I can do a postprocessing step to run it through a tool
that produces canonical XML -- which will ensure that it ends with
single newline -- but that does me no good for HTML output.

Has anybody else run into this issue? Any suggestions about how to
deal with it?

  --Mike

-- 
Michael(tm) Smith
xmpp:smith@xxxxxxxxxxxxxxxxxx
irc://irc.freenode.net/mobile-web

Current Thread