SAX.setDocumentLocator() SAX.startDocument() SAX.internalSubset(somedoc, , ) SAX.entityDecl(a, 1, (null), (null), something) SAX.getEntity(a) SAX.entityDecl(b, 1, (null), (null), &a;) SAX.getEntity(b) SAX.externalSubset(somedoc, , ) SAX.startElement(somedoc) SAX.characters( , 2) SAX.getEntity(b) SAX.getEntity(a) SAX.startElement(somebeacon, someattribute='&b;') SAX.endElement(somebeacon) SAX.characters( , 2) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.characters( should appear after colon: , 28) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.characters( , 1) SAX.getEntity(b) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.reference(b) SAX.characters( should appear after colon: , 28) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.characters( , 1) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.characters( should appear after colon: , 28) SAX.getEntity(b) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.reference(b) SAX.characters( , 1) SAX.getEntity(b) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.reference(b) SAX.characters( should appear after colon: , 28) SAX.getEntity(b) SAX.getEntity(a) SAX.characters(something, 9) SAX.reference(a) SAX.reference(b) SAX.characters( , 2) SAX.endElement(somedoc) SAX.endDocument()