Subject: [xsl] Using a TransformerHandler strips comments but a Transformer keeps them From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Wed, 13 Feb 2008 10:54:02 +0000 |
Does anyone know why a transform using a TransformerHandler strips comments but the "stardard" Tranformer keeps them. For example: sourceXML: <?xml version="1.0" encoding="UTF-8"?> <!-- test outer comment --> <foo> <!-- inner comment --> foo</foo> The stylesheet is the identity transform. The first transformation technique is using a TransformerHandler: SAXTransformerFactory stf = (SAXTransformerFactory)TransformerFactory.newInstance();; TransformerHandler handler = stf.newTransformerHandler(new StreamSource(stylesheet)); handler.setResult(new StreamResult(System.out)); XMLReader xmlReader = XMLReaderFactory.createXMLReader(); xmlReader.setContentHandler(handler); xmlReader.parse(sourceXML.toURI().toString()); The second is using a Transformer: stf.newTransformer(new StreamSource(stylesheet)). transform(new StreamSource(sourceXML), new StreamResult(System.out)); Produces this output: TransformerHandler: <?xml version="1.0" encoding="UTF-8"?><foo> foo</foo> Transformer: <?xml version="1.0" encoding="UTF-8"?><!-- test outer comment --><foo> <!-- inner comment --> foo</foo> I would expect the two to produce identical results. Has anyone come across this before? thanks andrew
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Preserving space, Michael Kay | Thread | Re: [xsl] Using a TransformerHandle, David McKain |
RE: [xsl] Preserving space, Michael Kay | Date | Re: [xsl] Using a TransformerHandle, David McKain |
Month |