Important SAX Guideline (was: encoding problem fixed)

David Megginson david at megginson.com
Fri Jul 30 12:42:54 BST 1999


James Tauber writes:

 > In short, I changed in my CommandLine (the class run when FOP takes
 > a FOT file as input) code the line:
 > 
 >    SAXProcessor fop = new SAXProcessor(parser, new InputSource(new
 > FileReader(args[0])));
 > 
 > to the line:
 > 
 >    SAXProcessor fop = new SAXProcessor(parser,
 > com.jclark.xsl.sax.Driver.fileInputSource(args[0]));

You could also have tried

  SAXProcessor fop =
    new SAXProcessor(parser, new InputSource(new FileInputStream(args[0])));

Here is a good, general SAX guideline:

  Always use an InputStream in preference to a Reader when you don't
  know the XML document's character encoding in advance.

I know that that seems backwards from ordinary Java usage,
but when you use an InputStream, a SAX parser can often (usually?)
autodetect a document's encoding because it has access to the raw
bytes; when you use a Reader, the SAX parser gets the characters
predigested.


All the best,


David

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list