Hello all,
I have a problem with getting the intended output encoding with Xalan-j 2.2
as simple DOM-to-XML selializer.
My wish is to get output XML encoded as "windows-1251". The only results I
could achieve are:
1. Desired output encoding in the output with wrong encoding declaration in
the XML header:
<?xml version="1.0" encoding="UTF-8"?>
2. The desired encoding declaration in the header with this encoding being
really absent in the output (all non-ascii output goes as &#NNNN;):
<?xml version="1.0" encoding="windows-1251"?>
<root><child>Это
тест</child></root>
Do I miss something or is it a bug?
The code fragment is:
TransformerFactory tFactory = TransformerFactory.newInstance ();
Transformer transformer = tFactory.newTransformer ();
// transformer.setOutputProperty (OutputKeys.ENCODING, "windows-1251");
DOMSource source = new DOMSource (document);
FileOutputStream fos = new FileOutputStream ("E:\\test.xml");
OutputStreamWriter out = new OutputStreamWriter (fos, "windows-1251" );
StreamResult result = new StreamResult (out);
transformer.transform (source, result);
With commented line remaining commented I get result #1, with uncommented -
result #2.
My environment is:
- Windows 2000 Prof with Russian locale
- JDK 1.3.1_01
Regards,
Sergey Ushakov