SAX.setDocumentLocator()
SAX.startDocument()
SAX.internalSubset(item, , )
SAX.entityDecl(sampleEnt, 4, (null), (null), <!ELEMENT item (para)+>)
SAX.getParameterEntity(sampleEnt)
SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl)
SAX.getEntity(sampleEnt)
SAX.getParameterEntity(sampleEnt)
SAX.elementDecl(item, 4, ...)
SAX.elementDecl(para, 3, ...)
SAX.externalSubset(item, , )
SAX.startElementNs(item, NULL, NULL, 0, 0, 0)
SAX.startElementNs(para, NULL, NULL, 0, 0, 0)
SAX.characters('they called me , 16)
SAX.getEntity(sampleEnt)
SAX.characters(the hyacinth girl, 17)
SAX.reference(sampleEnt)
SAX.characters(', 1)
SAX.endElementNs(para, NULL, NULL)
SAX.endElementNs(item, NULL, NULL)
SAX.endDocument()
