mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-22 04:43:53 +00:00
Estimated hours taken: 1 Add a sample directory in the XML parser directory extras/xml/README update the README file extras/xml/tryit.m modify the file to print out all output messages as well as any error messages extras/xml/samples a sample directory containing instructions on how to run the parser and some sample files extras/xml/samples/README README file extras/xml/samples/newsarticles.xml sample XML file for running the XML parser extras/xml/samples/newsarticles.dtd sample DTD file for running the XML parser extras/xml/samples/catalog a catalog file
42 lines
1.6 KiB
Plaintext
42 lines
1.6 KiB
Plaintext
|
|
This directory contains an XML parsing library.
|
|
|
|
The parser is implemented using higher order parsing combinators.
|
|
It follows the grammar in the XML 1.0 recommendation (see
|
|
http://www.w3c.org for more on the recommendation). Unfortunately
|
|
this means that it isn't quite conformant because the english text
|
|
of the recommendation contradicts the given grammar in a number of
|
|
places, some of which I have fixed, and some I will fix when I know
|
|
how to.
|
|
|
|
The parser includes external parsed entities, but doesn't deal very
|
|
well with non-parsed external entities very well yet (due to some
|
|
of the afore-mentioned contradictions in the recommendation). It
|
|
is non-validating at this stage, but it does parse the DTD and
|
|
expand entity and parameter-entity references.
|
|
|
|
The files in this directory are:
|
|
README this file.
|
|
|
|
xml.m a wrapper module
|
|
xml.cat.m implements catalog file parsing
|
|
xml.doc.m defines the types for representing documents
|
|
xml.dtd.m defines the types for representing DTDs
|
|
xml.encoding.m implements algorithms used for manipulating
|
|
different encoding mechanisms (eg ASCII, UTF-8)
|
|
xml.parse.m the main parser
|
|
xml.parse.chars.m a piece of the parser which is split off for
|
|
compile time performance
|
|
|
|
unicode.m defines a bunch of functions that return the
|
|
unicode number for various ascii characters
|
|
parsing.m defines the parsing combinators used by the
|
|
parser
|
|
|
|
tryit.m a sample driver program which parses documents
|
|
and prints any error messages
|
|
Mmakefile a control file for mmake to build the sample program
|
|
|
|
samples a directory including instructions on how to run the
|
|
XML parser and some sample files
|