SAX.setDocumentLocator()
SAX.startDocument()
SAX.internalSubset(test, , )
SAX.entityDecl(example, 1, (null), (null), <p>An ampersand (&#38;) may be escaped
 numerically (&#38;#38;) or with a general entity
  (&amp;amp;).</p>)
SAX.getEntity(example)
SAX.externalSubset(test, , )
SAX.startElement(test)
SAX.getEntity(example)
SAX.startElement(p)
SAX.characters(An ampersand (, 14)
SAX.characters(&, 1)
SAX.characters() may be escaped
 numerically , 31)
SAX.characters(&, 1)
SAX.characters(#38;) or with a general entity, 34)
SAX.characters(&, 1)
SAX.characters(amp;)., 6)
SAX.endElement(p)
SAX.reference(example)
SAX.endElement(test)
SAX.endDocument()
