Okay, I implemented a SAX parser. It now goes through the tags until it gets to a partial one, and then raises an exception. The exception gives me zero information that I can use to cache the incomplete tag. REXML sucks. Kind of stuck at the moment.