[fptools/libraries/HaXml: changeset 2002-08-08 12:52:45 by malcolm
malcolm**20020808125245
Significant improvements to the documentation.
] {
addfile ./docs/changelog.html
hunk ./docs/Combinators.html 16
-Text.Xml.HaXml.Combinators is a combinator library for
-generating, editing, and transforming XML documents in a generic
-setting. It includes a small library for functions specifically
-for generating HTML from XML. Input files are parsed as HTML if the
-filename ends in .html or .htm - otherwise they are parsed as XML.
+Text.Xml.HaXml.Combinators is a combinator library
+for generating, editing, and transforming XML documents in
+a generic setting. Text.Xml.HaXml.Html.Generate is a
+small library of functions specifically for generating HTML
+from XML. Text.Xml.HaXml.Wrappers contains the wrapper
+precessXmlWith, in which input files are parsed as HTML if
+the filename ends in .html or .htm - otherwise they are parsed as XML.
hunk ./docs/Haskell2Xml.html 11
-Haskell2Xml is a library for translating Haskell data from any
-program into a valid XML document (and back again), by generating a DTD
-and the appropriate functions to write and write the XML format. In
-principle, it gives an alternative to the standard Read and Show
-classes, and allows you to use other standard XML-processing tools on
-your Haskell datafiles.
+Text.Xml.HaXml.Haskell2Xml is a library for translating Haskell
+data from any program into a valid XML document (and back again), by
+generating a DTD and the appropriate functions to write and write the
+XML format. In principle, it gives an alternative to the standard Read
+and Show classes, and allows you to use other standard XML-processing
+tools on your Haskell datafiles.
hunk ./docs/Haskell2Xml.html 21
-classes: you must create an instance of the Haskell2Xml class
-for every datatype you wish to use for I/O. However, because this class
-is not a standard one, no Haskell compilers support the
-deriving clause for it yet. Fear not! There is a
-pre-processor tool called DrIFT which derives class instances
-automatically. We have extended DrIFT's ruleset to include the
-Haskell2Xml class. The only remaining thing is to ensure that
-you import the Haskell2Xml module everywhere you use it.
+classes: you must create an instance of the Haskell2Xml
+class for every datatype you wish to use for I/O. However, because
+this class is not a standard one, no Haskell compilers support
+the deriving clause for it yet. Fear not! There is a
+pre-processor tool called
+DrIFT
+which derives class instances automatically. We have extended
+DrIFT's ruleset to include the Haskell2Xml class.
+The only remaining thing is to ensure that you import the
+Text.Xml.HaXml.Haskell2Xml module everywhere you use it.
hunk ./docs/Xml2Haskell.html 16
-DtdToHaskell is a tool (and Xml2Haskell provides the class
-framework) for translating any valid XML DTD into equivalent Haskell
-types. This allows you to generate, edit, and transform documents as
-normal typed values in programs, and to read and write them as
-human-readable XML documents.
+DtdToHaskell is a tool (and Text.Xml.HaXml.Xml2Haskell
+provides the class framework) for translating any valid XML DTD
+into equivalent Haskell types. This allows you to generate, edit,
+and transform documents as normal typed values in programs, and to
+read and write them as human-readable XML documents.
hunk ./docs/Xml2Haskell.html 23
-Usage: DtdToHaskell [xmlfile [outfile]]
+Usage: DtdToHaskell [dtdfile [outfile]]
hunk ./docs/Xml2Haskell.html 28
-The program reads and parses a DTD from xmlfile (in earlier
-versions, it had to be a full XML file including both DTD and some
-content - but now only the DTD is required). It generates into
-outfile a Haskell module containing a collection of type
-definitions plus some class instance declarations for I/O.
+The program reads and parses a DTD from dtdfile (which may be
+either just a DTD, or a full XML document containing an internal DTD).
+It generates into outfile a Haskell module containing a
+collection of type definitions plus some class instance declarations
+for I/O.
hunk ./docs/Xml2Haskell.html 35
-In order to use the resulting module, you need to import it, and also to
-import Xml2Haskell. To read and write XML files as values of
-the declared types, use the functions
+In order to use the resulting module, you need to import it, and also
+to import Text.Xml.HaXml.Xml2Haskell. To read and write
+XML files as values of the declared types, use the functions
hunk ./docs/Xml2Haskell.html 74
-External subset. As of 2000-11-16 (HaXml release 1.0), we support the
+External subset. Since HaXml release 1.00, we support the
hunk ./docs/Xml2Haskell.html 77
-IGNORE conditional sections. These were previously not supported by us.
+IGNORE conditional sections.
hunk ./docs/Xml2Haskell.html 79
-There are some fringe parts of the DTD we may not respect entirely
-correctly - Tokenised Types and Notation Types. These cases are
-not very common at the moment, but you might just trip over them.
-If you find a problem, mail us: Malcolm.Wallace@cs.york.ac.uk
+There are some fringe parts of the DTD we are not entirely sure
+about - Tokenised Types and Notation Types. In particular, there
+is no validity checking of these external references. If you find
+a problem, mail us: Malcolm.Wallace@cs.york.ac.uk
hunk ./docs/changelog.html 1
+
+
+
+I didn't keep detailed changelogs for versions before 1.06, but +here are the highlights. + +
hunk ./docs/index.html 15
-Who wrote HaXml? -Where can I get a copy? +Downloads + |
+Recent news +Contacts +Related Work + |
hunk ./docs/index.html 96 -
+Older versions:
+By FTP:
+
+ftp://ftp.cs.york.ac.uk/pub/haskell/HaXml/
+
+
+To install HaXml, you must have a Haskell compiler or interpreter: +ghc-5.02 or later, nhc98-1.14 or later, Hugs98-Dec2001 or later. If you +are using either of the compilers, you also need hmake-3.05 or later. +Use +
+ ./configure [ -hc=... ] + make + make install ++to configure, build, and install HaXml as a package for your compiler +or interpreter. Afterwards, to gain access to the HaXml libraries, +you only need to add the option -package HaXml to your +compiler commandline (not required for Hugs). Various stand-alone +tools are also built - DtdToHaskell, Xtract, Validate - if you are +going to use them, you should copy these to your final preferred +installation location by hand. + +
+The latest version (1.06) has the following new features:
+
hunk ./docs/index.html 183 -suggestions for improvements, comments, criticisms. Please mail +suggestions for improvements, comments, criticisms, bug reports. Please mail hunk ./docs/index.html 196 -
License: The library is Open Source, i.e., the bits -we wrote are copyright to us, but freely licensed for your use, -modification, and re-distribution, provided you don't restrict anyone -else's use of it. - -
-Related work: Christian Lindig has written an XML parser in O'Caml: - -here. Andreas Neumann of the University of Trier has written a -validating XML parser in Standard ML: -here. -Erik Meijer and Mark Shields have a design for a functional programming -language that treats XML documents as basic data types: -XMLambda. -Benjamin Pierce and Haruo Hosoya have a different but similar design in -XDuce, which is -also implemented. - - -
License: The library is Open Source, i.e., the bits we wrote
+are copyright to us, but freely licensed for your use, modification,
+and re-distribution, provided you don't restrict anyone else's use
+of it. HaXml is distributed under the Artistic License - see file
+LICENSE for more details. (If you don't like the
+licensing conditions, please contact us to discuss your requirements.)
hunk ./docs/index.html 204
-Older versions
-
-
-HaXml version 1.05 release, 2002.05.28
-.tar.gz,
-.zip,
-Hugs .tar.gz,
-Hugs .zip,
-FreeBSD port.
-(In DtdToHaskell, fix some more bugs with empty PE References at the end
-of an element content specification.)
-
-
-
-HaXml version 1.04 release, 2002.04.22
-.tar.gz,
-.zip,
-Hugs .tar.gz,
-Hugs .zip.
-(In DtdToHaskell, fixed a bug whereby an empty PE Reference at the end
-of an element content specification caused a parse error - the DTD is now
-accepted.)
-
-
-
-HaXml version 1.03 release, 2002.04.02
-.tar.gz,
-.zip,
-Hugs .tar.gz,
-Hugs .zip.
-(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.)
-
-
-
-HaXml version 1.02 release, 2001.05.03
-Complete source code and documents:
-.tar.gz,
-.zip,
-Hugs .tar.gz,
-Hugs .zip.
-(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.)
-
-
-
-HaXml version 1.01 release, 2001.01.24
-Complete source code and documents:
-.tar.gz
-.zip
-(Fixed DtdToHaskell's treatment of default values for attributes.)
-
-
-
-HaXml version 1.00, gold release, 2000.11.16
-Complete source code and documents:
-.tar.gz
-.zip
-(Finally added support for the external subset of DTDs.)
-
-
-
-HaXml version 0.9, beta release, 2000.02.22
-Complete source code and documents:
-.tar.gz
-.zip
-(Reworked the Haskell2Xml and Xml2Haskell modules.)
-
-
-
-HaXml version 0.8b, beta release, 2000.01.26
-Complete source code and documents:
-.tar.gz
-.zip
-(Some minor bugfixes to DrIFT, ensuring H'98 compatibility.)
-
-
-
-HaXml version 0.8a, beta release, 2000.01.12
-Complete source code and documents:
-.tar.gz
-.zip
-(No code changes - just some restructuring of the build tree.)
-
-
-
-HaXml version 0.8, beta release, 2000.01.05
-.tar.gz
-.zip
-(Bugfix: some PERefs didn't work.)
-
-
-
-HaXml version 0.7, beta release, 1999.10.12
-.tar.gz
-(Fixed imports for GHC.)
-
-
-
-HaXml version 0.6, beta release, 1999.08.31
-.tar.gz
-(Fixed preprocessor symbols to use the new standard __HASKELL98__.)
-
-
-
-HaXml version 0.5, beta release, 1999.08.27
-.tar.gz
-(Added GE entity reference-handling to parser, tweaked the pretty-printer,
-ensured Haskell'98 compliance.)
-
-
-
-HaXml version 0.4, alpha release, 1999.04.26
-.tar.gz
-(Added separate HTML parser, some other bugfixes.)
-
-
-
-HaXml version 0.3, alpha release, 1999.04.20
-.tar.gz
-(Bugfix release.)
-
-
hunk ./docs/index.html 205
-HaXml version 0.2, alpha release, 1999.04.15
-.tar.gz
-(Added Haskell2Xml and Xml2Haskell. Improved XML parser and printer.)
-
+
-XmlLib version 0.1, alpha release, 1999.01.12
-.tar.gz
-(Initial release.)
-
+