All the parsers I have looked at always return a document object which has a document element as the root. I want to pass in my document object to associate with the nodes and I want the parser to just return the element root, but use my document to create the nodes as well. Also my document would be detached from the element tree. Is this possible with any parsers or do I have to write my own handlers to force sax to create elements this way? Oh I need a java parser as well.