package alma.xercesj.test;
import java.io.FileReader;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
public class DumpXML {
/**
* @param args
*/
public static void main(String[] args) throws Throwable {
if (args.length != 1)
{
System.err.println("Usage: java " + DumpXML.class.getName() + " <xml file>");
System.exit(1);
}
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
// XercesJ 2.9.1 rejects this, it supports it by default
//factory.setXIncludeAware(true);
DocumentBuilder builder = factory.newDocumentBuilder();
Document xmldoc = builder.parse(new InputSource(new FileReader(args[0])));
Source src = new DOMSource(xmldoc);
Result dest = new StreamResult(System.out);
TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer transformer = tranFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.transform(src, dest);
}
}