From: Andrea B. <an...@ds...> - 2002-07-01 05:34:31
|
Hi guys, I was trying to store a document in eXists (latest cvs version) using xmldb api in the following way: XMLResource document = (XMLResource)col.createResource(docId, "XMLResource"); org.w3c.dom.Document xmlDom = parseXmlFile(fileName); document.setContentAsDOM(xmlDom); The setContentAsDOM method (that should accept a Node as input parameter) throws a ClassCastException. Having a look at the source code I found out that the XMLResourceImpl.setContentAsDOM(Node root) method casts the "root" parameter to "Element" without any check on the actual Node type. I guess that to behave properly it should check the type and if a) the Node is an Element node, than cast directly b) the Node is a Document node (and I think this is the most common case during a storing procedure), call ((Document)root).getDocumentElement() Obviously, if in my source code I had called document.setContentAsDOM(xmlDom.getDocumentElement()); everything would have worked fine, but that wasn't the expected behaviour. This is just a suggestion anyway. Cheers, Andrea ------------------------------------------- Andrea Broglia an...@ds... +61 7 3365 4310 DSTC Pty Ltd, Level 7 General Purpose South The University of Queensland QLD 4072, Australia ------------------------------------------- |