The systemId referenced by the Locator is pushed onto the stack of base URIs.
It is illegal if the same Locator object is pushed twice without it being popped in between.
8283848586878889909192
cup.setNextProcess(process); cup.startProcess(); XMLPipelineContext context = pipeline.getPipelineContext(); Locator playLocator = player.getLocator(); context.pushLocator(playLocator); manager = context.getFlowControlManager(); try { player.setContentHandler(cup); player.setFlowController(this); player.play();
93949596979899100101102103
try { if (locator != null) { XMLPipelineContext pipelineContext = getPipelineContext(); // store the locator away in the XMLPipelineContext. The Locator // is useful when reporting errors pipelineContext.pushLocator(locator); pipelineContext.pushBaseURI(locator.getSystemId()); } else if (!allowNullLocator) { warning(new XMLPipelineException("The document does not " + "have an associated Locator.", null)); }