MinML a minimal XML parser

We wrote MinML so that we could have an XML parser we could run on small embedded systems (~512Kb of RAM) without using all the system resources just to parse the document.

We left some stuff out

  • DTDs read but ignored

but we managed to fit quite a lot in

  • Mixed content

  • Attributes

  • Empty elements

  • Entity references (&, etc)

  • Character references (©, etc)

  • CDATA sections

We support SAX1 and have added a simple extension (by subclassing org.xml.sax.DocumentHandler and org.xml.sax.Parser) that allows character data to be processed by a user supplied subclass of java.io.Reader.

MinML is quite small. The jar file is ~14Kb and the more compact tini archive is ~9Kb.

We are making the source available under a BSD style licence. 

You can download the latest stable version (1.7 released 18th November 2001) from here.

We are very keen to get feedback on this code. If you find a bug please tell us!