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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--