Change History:

0.07 (enno) 9/10/1999
- Fixed checking of NOTATION tokens in an ATTLIST. It would allow only valid
  XML Name ($ReName) values instead of NmTokens ($ReNmToken)
  (Thanks to Laurent Caprani <caprani@multimania.com>)
- Added error 115: "ELEMENT [$name] already defined"
  (Thanks to Laurent Caprani <caprani@multimania.com>)
- Added 'Element' to the error context of error 124
- Fixed checking of #REQUIRED attributes (error 159.)
  I had to add another handler to XML::Checker, called 'EndAttr', to support 
  checking of #REQUIRED attributes. 
  It should be called after all attributes are passed with Attr().
  If the user forgets to call this method, missing #REQUIRED attributes (i.e.
  error 159) will not be generated.
  XML::Checker::Parser and XML::DOM::ValParser have been updated accordingly,
  so users of these classes don't need to make any code changes. Only people
  using XML::Checker directly have to add a call to EndAttr().
  (Thanks to Jim Anderson <jander@ml.com>)
- Default attribute values were stored in ARule as $arule->{$attr}->{Default}.
  This could wipe out other ARule fields (like Elem, Checker and Required) if
  your XML file contained attributes with those names. Now they are stored as
  $arule->{Default}->{$attr}.

0.06 (enno) 8/10/1999
- Added option to detect insignificant whitespace. 
  See the section 'INSIGNIFICANT WHITESPACE' in the XML::Checker maual page
  and the SkipInsignifWS option in XML::Checker::Parser.
- Added Comment handler to XML::Checker for completeness. It currently
  doesn't do anything.
- Added t/filterInsignifWS.pl script that filters insignificant whitespace
  using XML::DOM::ValParser (see script for USAGE)

0.05 (enno) 8/2/1999
- Fixed the regular expressions for XML tokens to include Unicode values > 127

0.04 (enno) 6/29/1999
- Fixed splitting of Enumeration tokens in ATTLIST.
  It used to split the tokens with /\s+/, instead of /\s*\|\s*/ and it would
  produce error 134.
  (Thanks to Philippe Verdret <pverdret@sonovision-itep.fr>)
- When parsing the external DTD in XML::Checker::Parser, the XML::Parser now
  copies the ErrorContext from the XML::Checker::Parser.
  (Thanks to Philippe Verdret <pverdret@sonovision-itep.fr>)
- When parsing the external DTD in XML::Checker::Parser, it now prefixes the
  System ID with 'file:' because HTTP::Request is used to retrieve the external 
  DTD and it expects 'file:' prefixes for file URLs.
  (Thanks to Stephane Bortzmeyer <stephane@sources.org>)
- It no longer generates error 156: unexpected root Element [doc], expected []
  when no DTD is available and it doesn't know what the root element is.
- Cleaned up some warnings when running with perl -w.
  (Thanks to Beau Simensen <altern8@dnai.com>)
- Added CAVEATS section to XML::Checker::Parser POD regarding external DTDs.

0.03 (enno) 6/23/1999
- Fixed message 154 to print out better Buf and RE parameters.
- Fixed the RE (regular expression) that is used to check valid element names.
  (Thanks to Matt Sergeant <matt@sergeant.org>)
- Added code that reads external DTDs using LWP.
  This can be disabled by setting the XML::Checker property SkipExternalDTD.
  (Thanks to Matt Sergeant <matt@sergeant.org> for writing the code!)

0.02 (enno) 5/28/1999
- Updated the regular expressions for the following tokens: Name, NmToken, 
  AttValue. For now, I copied some of them from XML::DOM, but they should probably
  be in a separate module. (Thanks to John Posner <jjp@oreilly.com>)
- XML::DOM::EntityReference::expat_iter was using getName instead of getEntityName
- fixed bugs in XML::Checker::EntityRef
- XML::DOM::Notation::expat_iter was calling the Entity handler
- implemented the XML::Checker::Entity method to check for duplicate ENTITY
  definitions and added error 114 - ENTITY [$entity] already defined
- modified the test scripts to pass (KeepCDATA => 1, NoExpand => 1) to XML::Parser

0.01 (enno) 5/27/1999
- First release.