Grrr. I mentioned before that hpricot downcases element names when parsing HTML, but it does when parsing XML as well. It doesn't claim to be a conforming parser, but it makes it a little less useful.