at some point the Parser reads in exactly 2048 characters and
terminates.
Please clarify what you mean by "terminates".
If you mean "that's all that gets delivered in a single characters()
call", this may be normal operation; SAX reservers the right to split
text content over multiple calls to characters(), and it's the
application's responsibility to deal with that.
If you mean "parsing stops", that's not expected, but also not
diagnosable without a lot more info.
--
Joe Kesselman / Beware the fury of a patient man. -- John Dryden