I know the current approach to emitting indented output is kind of a hack. I embarked on a quest to make an indenting XMLStreamWriter which is attached. I'm not sure the best way it should be integrated into data.xml so I've not actually done that part, but I have included a demo, which is kind of a hacked version of clojure.data.xml/emit and clojure.data.xml.jvm.emit/write-document. I don't think there is a clean place to insert the wrapping IndentingWriter at the moment so that's something that needs to be resolved. But feel free to use this contribution as you will in implementing this feature.