Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Java 1.5 doesn't want to indent XML output?

843834Oct 13 2004 — edited Jul 23 2009
I can't make Java 1.5 to indent my XML output. With Java 1.4 the same code works fine
For Java 1.5, using the older 'xslt' instead of 'xalan' apache property doesn't matter. Setting both props doesn't work either.

Am I doing anything wrong or is there some kind of bug with Java 1.5 XML indentation?
// Set up
TransformerFactory transfabrik  = TransformerFactory.newInstance(); 
Transformer        sTransformer = transfabrik.newTransformer(); 

sTtransformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
sTransformer.setOutputProperty("{http://xml.apache.org/xalan}indent-amount", "2"); 
 
// Fill Xml elements
DocumentBuilderFactory fabrik   = DocumentBuilderFactory.newInstance(); 
DocumentBuilder        sBuilder = fabrik.newDocumentBuilder(); 

Document sDokument = sBuilder.newDocument(); 
Element dokuElement = (Element) sDokument.createElement("root"); 
sDokument.appendChild(dokuElement); 
 
Element someElement = sDokument.createElement("Mainelement"); 
someElement.setAttribute("Name", "Myname-" + i); 
 
Element anotherElmement = sDokument.createElement("Subelement"); 
anotherElmement.setAttribute("Bla", "60"); 
someElement.appendChild(anotherElmement); 
// etc 
dokuElement.appendChild(someElement); 
dokuElement.appendChild(sDokument.createTextNode("\n\n")); 

// Write file
DOMSource    domsource = new DOMSource(sDokument); 
StreamResult output    = new StreamResult(System.out); // new File("File.xml")); 
sTransformer.transform(domsource, output); 
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 20 2009
Added on Oct 13 2004
40 comments
5,113 views