Changes in core SAX pre-releases -------------------------------- * Changes from 1.0gamma to 1.0 public release: - allow Parser.parse(...) to throw IOException as well as SAXException; this change does not apply to most handlers (but see the next change) - allow EntityResolver.resolveEntity to throw IOException as well as SAXException (since this is where the application will create new byte or character streams) - allow the methods in DTDHandler to throw SAXException, like the methods in DocumentHandler - note wherever appropriate that system IDs that are URLs must be fully resolved when passed from the parser to the application or vice-versa - explicitly forbid (rather than allowing) a change of error-reporting locale in the middle of a parse with Parser.setLocale - clarify that any parser may return "CDATA" for AttributeList.getType if it does not support reporting attribute types - add setAttributeList and removeAttribute methods to AttributeListImpl * Changes from 1.0beta to 1.0gamma release: - bug fix: changed parameter to Parser.setLocale to java.util.Locale (a single string is insufficient) - bug fix: added default constructor to InputSource - bug fix: remove "extends IOException" from InputSource (it was retained accidentally from an earlier revision) - bug fix: in the ParserFactory helper class, use "org.xml.sax.parser" instead of "sax.parser" for the system property name - doc fix: clarify that attributes in AttributeList are zero-indexed - doc fix: clarify that Parser objects are non-re-entrant but reusable - doc fix: clarify that the parser should never modify the InputSource provided by the application - doc fix: clarify that the parser should not deliver the endDocument event until EOF or a non-recoverable error - moved sample drivers to com.megginson.sax package * Changes from 1998-04-20 to version 1.0beta release: - everything that used to throw java.lang.Exception now throws SAXException; SAXException can embed any other kind of exception - use Java-specific InputStream and Reader classes wherever ByteStream and CharacterStream were used before - removed custom stream classes: ByteStream and CharacterStream in core; and ByteStreamAdapter, CharacterStreamAdapter, InputStreamAdapter, ReaderAdapter, and IOExceptionWrapper in helpers - added support for specified byte-stream encoding in InputSource - added helper classes AttributeListImpl and LocatorImpl - updated much documentation * Changes from 1998-04-18 to 1998-04-20: - added parse(String systemId) convenience method to Parser - removed single-character read() method from CharacterStream, ReaderAdapter, and CharacterStreamAdapter - remove single-byte read() method from ByteStream, InputStreamAdapter, and ByteStreamAdapter * Changes from 1998-04-16 to 1998-04-18: - added InputSource class to hold a public id, system id, byte stream, and/or character stream - added a ByteStream interface, similar to CharacterStream - modified methods in Parser and EntityResolver to support the new InputSource - added Java-specific helpers ByteStreamAdapter and InputStreamAdapter - modified sample Lark and MSXML drivers so that they can support byte streams and character streams (though not very efficiently) * Changes from 1998-04-10 to 1998-04-16: - stripped "SAX" prefix from all class names except SAXException (and SAXParseException) - added a new core interface org.xml.sax.CharacterStream - added a new core class SAXParseException - added three optional Java-specific classes: org.xml.sax.helpers.ParserFactory, org.xml.sax.helpers.ReaderAdapter, and org.xml.sax.helpers.CharacterStreamAdapter - reworked EntityResolver to use two methods: resolveSystemId() and openEntity() - changed parse() methods in Parser interface (byte stream removed, and Reader replaced with CharacterStream) - changed default behaviour for warnings and recoverable errors in HandlerBase to no-op - updated much documentation