/** * Initiates reading an XML source and invokes the registered handlers. * * @param source * the source. * @throws XMLStreamException * if error occurs. */ public void read(final InputSource source) { Set<QName> qnames = qnameToChunkHandler.keySet(); XMLChunkIterator chunkIterator = new XMLChunkIterator(source, qnames.toArray(new QName[qnames.size()])); while (chunkIterator.hasNext()) { XMLChunk chunk = chunkIterator.next(); if (chunk.isStart()) { handleChunkStart(chunk); } else { handleChunkEnd(chunk); } } }