Hi
I’m just struggling a bit with java agents and xml. It seems the built-in domino XML classes do not support SAX2 or DOM2 (?) so I want to use Apache Xerces for my java xml processing. There is also little or no available documentation for the IBM/Lotus XML vendor specific XML classes needed and no JAXP API. In other words, this just won’t do (unless I’m missing something here?)
I have put the XercesImpl.jar and xml-apis.jar from the Xerces distribution in my <>\jvm\lib\ext directory. I though this might be sufficient, but this doesn’t resolve issues surrounding getting past NOT using the XML classes/interfaces distributed with domino, most of them old and lacking newer functionality, most noticably org.w3c.dom.DOMImplementation.createDocumentType() and org.w3c.dom.DOMImplementation.createDocument() from the DOM interface.
Also, when writing a simple java agent using domino designer, it seems it can’t find certain methods in the jar files when they are only available in the jvm\lib\ext and also conflict with the built-in XML classes. I was having trouble getting the designer java compiler to find certain methods in the org.apache.xml.serialize.OutputFormat class distributed in the XercesImpl.jar file. I hadn’t specified this file in the JavaUserClasses ini variable and therefore it seemed designer was finding an instance of OutputFormat in the LotusXSL.jar file. Yes, I know Lotus actually gave away parts of what is today the Xalan distribution, but I didn’t think the package name would mention apache. I couldn’t understand why this wasn’t working until I looked inside LotusXSL.jar to see if this could be true.
Anyway, my question is will the settings in the JavaUserClasses interfere with normal usage of XML4j.jar and LotusXSL.jar? I mean, I’m not the only one using the domino server for XML processing and there are people running LotusScript agents etc. also processing XML using the classes available to them. Will they still be able to access the built-in xml functionality or will they now be using classes/interfaces from the Xerces distribution?
It seems for all other jar classes NOT conflicting with any available jar files distributed with domino do not need to be specified in the JavaUserClasses. These need only to be popped into the jvm\lib\ext directory. Correct?
Another thing, just why aren’t the XML4j.jar and LotusXSL.jar classes supporting newer parsing functionality? DOM3 is just around the corner and domino doesn’t even support DOM2, SAX2 or JAXP? What gives? Is there a good reason?
Not too impressed… the documentation on xml parsing/processing is also seriously lacking. Why are there no javadocs available for the distributes jar files? I’m also missing javadocs for the contents of notes.jar. The designer help database is far too inconsistent in my opinion. It also assumes you have to have a notes client installed to be able to use the documentation.
Comments?