XML Catalog Resolving / resolver.jar vs com.sun.org.apache.xml.internal.resolver

michael picture michael · Oct 8, 2010 · Viewed 7.9k times · Source

Dear forum, what is the difference between the JDK contained

import com.sun.org.apache.xml.internal.resolver.CatalogManager;

and the one contained in the Apache Xerces project

import org.apache.xml.resolver.tools.CatalogResolver;

are there any benefits of using the latter for simple Catalog Resolving? From what I read on Wikipedia it seems clear to me there is no benefit in using the latter:

org.apache.xml.resolver.tools.CatalogResolver is used to resolve external entities to locally-cached instances. This resolver originates from Apache Xerces but is now included with the Sun Java runtime.

Anyway some XML related projects like qizx supply a seperate resolver.jar. Thanks for your help. Michael

Answer

skaffman picture skaffman · Oct 8, 2010

The com.sun.org.apache.xml packages are essentially copies of the Apache projects that have been "internalised" into the JRE. You'll find this done with many of the Apache XML projects, including Xerces and Xalan.

In 99% of cases, the internal one does just fine. The only reason to use the org.apache versions is if you need the very latest version, usually for a bugfix.