Я не буду использовать класс javax.xml.transform.Transformer для выполнения некоторых XSLT переводов, например, так:Как вы предотвращаете трансформацию javax из экранирования пробелов?
TransformerFactory factory = TransformerFactory.newInstance();
StreamSource source = new StreamSource(TRANSFORMER_PATH);
Transformer transformer = factory.newTransformer(source);
StringWriter extractionWriter = new StringWriter();
String xml = FileUtils.readFileToString(new File(sampleXmlPath));
transformer.transform(new StreamSource(new StringReader(xml)),
new StreamResult(extractionWriter));
System.err.println(extractionWriter.toString());
Однако, независимо от того, что я делаю, я не могу показаться, чтобы избежать необходимости трансформатора конвертировать любой вкладки, которые были в исходном документе, эквивалентному их символьной сущности (	
). Я попытался как:
transformer.setParameter("encoding", "UTF-8");
и:
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
, но ни один из тех, кто помощи. У кого-нибудь есть предложения? Потому что:
					<MyElement>
выглядит действительно глупо (даже если он работает).
В этом случае семантическая разность для XML (тогда XSLT) между ссылкой на символ caracter или фактическим символом Unicode. Также это касается Xalan (как кажется, ваш собственный ответ). Итак, тег rigth для этого ответа - 'xsltprocessor'. – 2010-09-10 18:50:01