lbane / wonder

Project Wonder
http://wiki.objectstyle.org/confluence/display/WONDER/Home
1 stars 0 forks source link

Remove xercesJ dependency #19

Open lbane opened 2 years ago

lbane commented 2 years ago

WebObject has a dependency on xercesJ for certain operations (esp. for communication with the Monitor app). As even the most recent version of xercesJ (2.12.2) is not quite compatible with the one provided in Java (some features for secure processing are unsupported), it would useful to remove the dependency on xercesJ.

lbane commented 2 years ago

_WOMessageHelper uses _WODocumentType (a subclass of org.apache.xerces.dom.DocumentTypeImpl) to store the raw DTD string from an XML document. This is only of use when the Document is read by WOMessage.contentAsDOMDocument and the same document subsequently set with WOMessage.setContentAsDOMDocument or WOMessage.appendContentDOMDocumentFragment. Those methods do not seem to be used anywhere currently. Maybe leave them as is in a broken state. (There seems to be a bug, that would prevent any other Document with a DocumentType other than the custom _WODocumentType from being used in WOMessage.setContentAsDOMDocument or WOMessage.appendContentDOMDocumentFragment without throwing an exception). A way to fix this, is by using the standard Node.setUserData and Node.getUserData methods and associate the raw dtd string with the DocumentType by this way.

WOXMLCoder and WOXMLDecoder use a Base64 decoding feature of Xerces. These classes could be either reimplemented withjava.util.Base64 or the xerces classes could be used as is, as those do not import any other package.