HaXml change log
Changes for 1.07b
- The code generated by DtdToHaskell had a minor cut-and-paste error.
Changes for 1.07a
- The file `script/echo.c' was missing from the distribution.
This only affected the configuration step on systems where
`echo -n' is not recognised (e.g. Solaris).
Changes for 1.07
- The hierarchical namespace Text.Xml was incorrect.
It should be Text.XML
- The ghc package now also works in GHCi (but only for ghci-5.02.3
and later).
- If you have both ghc and nhc98 compilers available, the package
is built for both. However, now the configure --buildwith=
option is available to choose to build for only one of them.
Changes for 1.06
- HaXml now uses the new hierarchical namespace for modules,
specifically under the tree Text.Xml.HaXml.
- The HaXml libraries now install as a separate `package' in both ghc
and nhc98. Use -package HaXml to access them.
- The library APIs are now documented using Haddock.
- Due to popular request, we have added a new validator for checking
generic document content against a DTD. This is available both as
a library function, and as a command-line tool.
- DrIFT is now distributed separately by John Meacham, with much better
configuration and build support. You still only need it if you
want to derive the Haskell2Xml class.
- Bugfix: the lexer and parser now accept NOTATION declarations in the DTD.
- Bugfix: a PublicId in a NOTATION decl is now correctly recognised by the
keyword PUBLIC, not PUBLICID.
- Bugfix: the HTML parser now correctly accepts stand-alone tags like IMG.
- Bugfix: instances of XmlContent now accept an empty string where #PCDATA
is expected. Likewise, comments, processing instructions, and
character/entity references are now permitted to be scattered
thoughout some #PCDATA text.
- Bugfix: the OneOfN types used in code generated by DtdToHaskell are
now supplied by default up to size 20, and a utility for
automatically generating larger sizes is included.
I didn't keep detailed changelogs for versions before 1.06, but
here are the highlights.
Changes for 1.05
- In DtdToHaskell, fix some more bugs with empty PE References at the
end of an element content specification.
Changes for 1.04
- In DtdToHaskell, fix a bug whereby an empty PE Reference at the end
of an element content specification caused a parse error - the DTD
is now accepted.
Changes for 1.03
- In DtdToHaskell, added tagname prefixes to the attribute names of
enumeration types, to disambiguate when attributes of the same name
have different value-sets within different tags.
- DtdToHaskell also now accepts Tokenized and Notation types, mapping
them to Strings.
- Added an instance of Xml2Haskell for the Maybe type.
Changes for 1.02
- Added instances of Haskell2Xml for Float and Double.
- Fixed a fault in DtdToHaskell's treatment of default attribute values.
- Dtd parser now accepts (#PCDATA)* as a valid element content specification.
Changes for 1.01
- Fixed DtdToHaskell's treatment of default values for attributes.
Changes for 1.00
- Finally added support for the external subset of DTDs.
Changes for 0.9
- Reworked the Haskell2Xml and Xml2Haskell modules.
Changes for 0.8b
- Some minor bugfixes to DrIFT, ensuring H'98 compatibility.
Changes for 0.8a
- No code changes - just some restructuring of the build tree.
Changes for 0.8
- Bugfix: some PERefs didn't work.
Changes for 0.7
Changes for 0.6
- Fixed preprocessor symbols to use the new standard __HASKELL98__.
Changes for 0.5
- Added GE entity reference-handling to parser.
- Tweaked the pretty-printer.
- Ensured Haskell'98 compliance.
Changes for 0.4
- Added separate HTML parser, some other bugfixes.
Changes for 0.3
Changes for 0.2
- Added Haskell2Xml and Xml2Haskell.
- Improved XML parser and printer.
Release 0.1