Issues
  1. Entity references are not supported.
  2. Only UTF-8 and ASCII are supported.
  3. Only ASCII seems to be working correctly now.
  4. Only logging with Log4J is supported now.
  5. There is currently a dependence on Xerces in order to compare two XML documents in their canonical form in unit tests.
  6. Since text lengths are currently specified using a two byte integer, there is a limit on the length of text values, albeit a very big limit.
  7. A worse problem is that if the length limit is exceeded it is possible that no exception will be throw and an invalid length will be written. FIX THIS!