If I'm not mistaken, that XHTML DTD requires the document to have an <html> element as its root element. Yours doesn't and therefore it's not valid. I expect the SAX parser threw an exception that you didn't notice (or ignored).
Edit: actually Peter is correct about your DTD. The correct DTD for XHTML transitional isWhich is not what you have. My comments were about this DTD. [ October 31, 2007: Message edited by: Paul Clapham ]
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com