SAX.setDocumentLocator() SAX.startDocument() SAX.internalSubset(doc, , ) SAX.entityDecl(ent1, 1, (null), (null), ) SAX.getEntity(ent1) SAX.entityDecl(ent2, 1, (null), (null), ) SAX.getEntity(ent2) SAX.externalSubset(doc, , ) SAX.startElement(doc) SAX.characters( , 5) SAX.startElement(a, xmlns='urn:a') SAX.getEntity(ent1) SAX.startElement(elem) SAX.endElement(elem) SAX.reference(ent1) SAX.endElement(a) SAX.characters( , 5) SAX.startElement(b, xmlns='urn:b') SAX.getEntity(ent1) SAX.startElement(elem) SAX.endElement(elem) SAX.reference(ent1) SAX.endElement(b) SAX.characters( , 5) SAX.startElement(a, xmlns:ns='urn:a') SAX.getEntity(ent2) SAX.startElement(ns:elem) SAX.endElement(ns:elem) SAX.reference(ent2) SAX.endElement(a) SAX.characters( , 5) SAX.startElement(b, xmlns:ns='urn:b') SAX.getEntity(ent2) SAX.startElement(ns:elem) SAX.endElement(ns:elem) SAX.reference(ent2) SAX.endElement(b) SAX.characters( , 1) SAX.endElement(doc) SAX.endDocument()