"Jason E. Stewart" <[EMAIL PROTECTED]> writes: > Any ideas what to do?
I finally broke down and read the source code for XMLScanner and XMLReader and I'm convinced that without a major re-writing, this is not possible. Basically, the XMLReader calls readBytes() on the stream to fill up a buffer - so curPos() could never help us as the stream is read in chunks of the buffer size. Then, the XMLReader maintains two internal buffers: one of raw bytes and the other of transcoded characters. When the transcoded buffer starts running low, it transcodes another bufferful from the raw buffer and all the information about how many characters have been read so far is thrown away. Also when the raw buffer is running low it reads in more data from the stream, and it too throws away all the information about how many bytes have been processed so far. It would be possible to save this information when the buffers are refilled, but it *still* wouldn't give us the info that we want. Because the XMLScanner gets all it's data from the transcoded character buffer, at best we could hope to find out at what *character* position we are at in the file. But we can only be sure of the character <-> bytes mapping for fixed width characters, which won't help us for UTF16 or UTF8, but I guess it would work for ISO-8859-1 and ASCII. So I'm out of ideas. jas. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
