Re: Xerces 1.4.4

Jacob Kjome <[email protected]> Mon, 06 Oct 2003 10:31:33 -0500
Newsgroups gmane.comp.java.enhydra.xmlc
Message-ID <[email protected]>
At 10:19 AM 10/6/2003 +0900, you wrote:
>Add the xml-api.jar from the XMLC distribution to your class path. This 
>has to do with the DOM's API change between 1.x and 2.x. Jake would have 
>more information on this.

David is correct.  We removed the standard api's that came with 
xerces-1.4.4 because they included unofficial versions of the html dom and 
the standard api should not be included with the xmlc.jar because of 
clashes with the same api in parent classloaders.  1.4.4 actually used a 
snapshot of of the html2 dom which, later, changed to the package 
org.w3c.dom.html2 to solve the namespace versioning issues.  We now use 
xml-apis.jar which ships with Xerces2 (2.5.0, specifically).  This contains 
the official standard versions of the latest released specs.

On caveat that was pointed out in earlier messages on the list is that XMLC 
seems to also have a dependency on Xerces2 (which isn't so bad, since 
almost everything uses Xerces2 now anyway).  The reason for this is that 
XMLC uses a non-standard part of the api which recent versions of Xerces2 
include.  It is part of the html dom level2 API which is 
org.w3c.dom.html.HTMLDOMImplementation.  Note that j2sdk1.4.x contains 
this, so unless you are running under a JDK previous to 1.4, you may not 
notice the dependency.  Note also that the latest Xerces-2.5.0 contains 
HTMLDOMImplementation, but some previous versions don't.  It was added 
because so many people used it, but wasn't added to the xml-apis.jar 
because they want to keep that purely standard.   I'm not sure when they 
started including it, so I'd recommend that you use 2.5.0 or whatever the 
latest version is.

One other thing to mention is that the xerces-1.4.4 dependency is internal 
to XMLC because XMLC references the 1.4.4 implementation using its own 
package structure: org.enhydra.apache.xerces.   This means that you will 
need another dom implementation existing in order to run DOM operations in 
your own app.  This is recommended to be Xerces-2.5.0+.  So, use 
xml-all-runtime.jar + xml-apis.jar + xerces-2.5.0.jar in your environment.

Hope that clears things up.  Let me know if you have more questions.

Jake


>On Monday, Oct 6, 2003, at 09:18 Asia/Tokyo, David Corbin wrote:
>
>>I mean, that when I did a quicktest with the xerces 2.x stuff, I got errors
>>looking for a class called DocumentRange.  When I use the standard
>>xerces-1.4.4.jar, I didn't get it.  (Note: I am compiling XHTML)
>>
>>It's certainly possible that I made a mistake and I'll look closer if you
>>think that we are NOT dependent on xerces-1.4.4.
>>
>>On Sunday 05 October 2003 20:04, David Li wrote:
>>>What do you mean by dependency on 1.4? The xml-api.jar?
>>>
>>>David
>>>
>>>On Monday, Oct 6, 2003, at 00:33 Asia/Tokyo, David Corbin wrote:
>>>>XMLC seems to still be dependent on Xerces 1.4.4 (though not the
>>>>patched
>>>>version).  What's the likehood of this changing soon?
>>>>--
>>>>David Corbin <[email protected]>
>>>>
>>>>_______________________________________________
>>>>XMLC mailing list
>>>>[email protected]
>>>>http://www.enhydra.org/mailman/listinfo.cgi/xmlc
>>>
>>>_______________________________________________
>>>XMLC mailing list
>>>[email protected]
>>>http://www.enhydra.org/mailman/listinfo.cgi/xmlc
>>
>>--
>>David Corbin <[email protected]>
>>
>>_______________________________________________
>>XMLC mailing list
>>[email protected]
>>http://www.enhydra.org/mailman/listinfo.cgi/xmlc
>
>_______________________________________________
>XMLC mailing list
>[email protected]
>http://www.enhydra.org/mailman/listinfo.cgi/xmlc