SAX.setDocumentLocator()
SAX.startDocument()
SAX.internalSubset(x, , )
SAX.elementDecl(x, 4, ...)
SAX.elementDecl(test, 1, ...)
SAX.attributeDecl(test, att, 1, 1, attvalue, ...)
SAX.entityDecl(test.ent, 1, (null), (null), <test/>)
SAX.getEntity(test.ent)
SAX.externalSubset(x, , )
SAX.startElement(x)
SAX.characters(
    , 5)
SAX.startElement(test)
SAX.endElement(test)
SAX.characters(
    , 5)
SAX.getEntity(test.ent)
SAX.startElement(test)
SAX.endElement(test)
SAX.reference(test.ent)
SAX.characters(
, 1)
SAX.endElement(x)
SAX.endDocument()
