Hi,

I'm having a problem using Xalan with documents with non-ascii characters.

I do the following where args[0] is a stylesheet with no templates and
args[1] is a simple XML document with
encoding="Shift_JIS and a two character shift-jis string:

    transformFactory_ = TransformerFactory.newInstance();
    stylesheet_ = transformFactory_.newTemplates(new StreamSource(args[0]));

    errorHandler_ = new XsltErrorListener();
    transformFactory_.setErrorListener(errorHandler_);
    Reader stream = new FileReader(args[0]);
    Transformer processor = stylesheet_.newTransformer();

    processor.setErrorListener(new XsltErrorListener());

    StringWriter writer = new StringWriter();

    processor.transform(new StreamSource(args[1]),
                        new StreamResult(writer));

    System.out.println(writer.getBuffer().toString());

The resulting string has question marks (??) for the shift-jis string.

If I process this with org.apache.xalan.xslt.Process I get the shift-jis
string
correctly encoded as UTF-8.  As far as I can tell I'm doing the same thing
that
the Process class is doing.

Is there something that I'm doing wrong?

Thanks,
Allen

Reply via email to