предотвратить замену Java-трансформатора - PullRequest
0 голосов
/ 10 января 2012

У меня есть этот XML-файл

<test>&#13; &#xD; &lt;</test>

, и я преобразую его с помощью приведенного ниже кода Java, файл xslt просто делает копию XML

public class XMLTransform {

    public static void main(String[] args) {

        try {
            StreamSource source = new StreamSource(new File("file.xml"));
            StreamSource stylesource = new StreamSource(new File("trans.xsl"));
            SAXTransformerFactory transformFactory = (SAXTransformerFactory) TransformerFactory.newInstance(); 
            Transformer transformer = transformFactory.newTransformer(stylesource);
            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");         
            transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 
            StreamResult result = new StreamResult(System.out);
            transformer.transform(source,result);
        }
        catch (Exception e) {
            e.printStackTrace();
        }

    }
}

. Моя проблемачто Java заменяет канонический возврат каретки на , который является символом ascii.

Любая помощь в том, как сохранить каноническое имя для возврата каретки?

Ответы [ 2 ]

2 голосов
/ 10 января 2012

вы понимаете, что это точно такой же символ, только в десятичной (&#13) и шестнадцатеричной (&#xD) (ничего не делать с ascii как таковой).

1 голос
/ 02 февраля 2012

Я обнаружил, что SAXON трансформатор не делает эту модификацию.спасибо за ваши ответы.

...