Package: libxslt1.1 Version: 1.1.28-2 Severity: important When indent="no" is used, some newline characters are missing, in particular at the end of the file. This is a regression. And using indent="yes" is not an acceptable workaround as it is not safe, as said by the XSLT spec:
NOTE: It is usually not safe to use indent="yes" with document types that include element types with mixed content. For instance, for the following "copy.xsl" file: <?xml version="1.0" encoding="utf-8"?> <!-- Comment 1 --> <!-- Comment 2 --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="no"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> </xsl:stylesheet> I get with bash: vinc17@xvii:~$ xsltproc copy.xsl copy.xsl <?xml version="1.0"?> <!-- Comment 1 --><!-- Comment 2 --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="no"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> </xsl:stylesheet>vinc17@xvii:~$ The newline characters before and after the root element should be preserved, possibly squashed. And when a DOCTYPE line is generated, there should be a newline character after it. AFAIK the XSLT spec says nothing about these newlines (and more generally spaces) since they have no meaning in the XML tree. So, let's see the pros and cons. Pros: readability; better usability with line-based tools, such as "diff" (to compare generated output), "svn blame" and so on. Cons: very little wasted space. But this should be not be significant in practice, compared to the whole document. Also, if the user has added newlines in the source, this may be for a good reason. More importantly, the final newline character is missing, which can break some tools. Let's recall that for POSIX, a text file must end with a newline character, and POSIX tools are not required to work without it. -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.10-1-amd64 (SMP w/2 CPU cores) Locale: LANG=POSIX, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libxslt1.1 depends on: ii libc6 2.17-91 ii libgcrypt11 1.5.3-1 ii libxml2 2.9.1+dfsg1-2 ii multiarch-support 2.17-91 libxslt1.1 recommends no packages. libxslt1.1 suggests no packages. -- no debconf information -- debsums errors found: sh: 1: /usr/sbin/dpkg-divert: not found -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org