title: Preserve whitespace between attributes in XSLT transformation
body: <p>I have the following XML:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;products&gt;
      &lt;product at1="a"
               at2="b"
               at3="c"&gt;
      &lt;/product&gt;
  &lt;/products&gt;
  </code></pre>
  
  <p>and the following XSLT:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
  
      &lt;xsl:template match="@*|node()"&gt;
              &lt;xsl:copy&gt;
                      &lt;xsl:apply-templates select="@*|node()"/&gt;
              &lt;/xsl:copy&gt;
      &lt;/xsl:template&gt;
  
  &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>In theory, the xslt should leave the input xml unchanged. However, the output I get after processing is:</p>
  
  <pre><code>&lt;?xml version="1.0"?&gt;
  &lt;products&gt;
      &lt;product at1="a" at2="b" at3="c"&gt;
      &lt;/product&gt;
  &lt;/products&gt;
  </code></pre>
  
  <p>Is there I way I can prevent the transformer from reformatting the spacing between the attributes. I understand that both the input and output xml are functionally equivalent but I would like to preserve the attribute per line format for human-readability purposes. If it matters, I'm using ubuntu's xsltproc to do this transformation:</p>
  
  <pre><code>xsltproc -o test2.xml test.xslt test.xml
  </code></pre>