How do I make XSL transformation indent the output XML?

indentation, xalan, xslt

Solution

For indentation you need to use a different namespace: `http://xml.apache.org/xslt` (see this issue)

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:redirect="http://xml.apache.org/xalan/redirect"
extension-element-prefixes="redirect"
xmlns:xalan="http://xml.apache.org/xslt">
<xsl:output method="xml" indent="yes" xalan:indent-amount="4"/>

Problem

I'm using xalan with the following xsl header: ``` <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:redirect="http://xml.apache.org/xalan/redirect" extension-element-prefixes="redirect" xmlns:xalan="http://xml.apache.org/xalan"> <xsl:output method="text" indent="yes" xalan:indent-amount="4"/> ``` And the output is not indented. Anyone with ideas?

Original source