This is the mail archive of the
docbook-apps@lists.oasis-open.org
mailing list .
Re: [docbook-apps] Xalan, Resolver classes, ~/lib/endorsed, default version org.apache.xalan.xslt.Process ?, override it? URIResolver class not found
- From: Steve Whitlatch <swhitlat at getnet dot net>
- To: "Bob Stayton" <bobs at sagehill dot net>,<docbook-apps at lists dot oasis-open dot org>
- Date: Sun, 11 Jan 2004 01:20:03 -0700
- Subject: Re: [docbook-apps] Xalan, Resolver classes, ~/lib/endorsed, default version org.apache.xalan.xslt.Process ?, override it? URIResolver class not found
- Organization: Steve Whitlatch, Inc.
- References: <200401102227.12562.swhitlat@getnet.net> <01d801c3d80d$29f93c00$d7fc9384@slimbob>
- Reply-to: swhitlat at getnet dot net
On Saturday 10 January 2004 11:35 pm, Bob Stayton wrote:
> Putting the xalan.jar file in the endorsed directory should have
> worked.
But it didn't, and now I now know why. Sun bug. Info below.
> You might try this java command option to explicitly tell
> java about the new xalan:
>
> java -Djava.endorsed.dirs="../xalan251/bin"
> org.apache.xalan.xslt.Process -V
>
> where the path is to the directory on your system that contains the
> xalan.jar file.
Yep, that worked. Thanks!!
I just had to force java to use the newer version of Xalan (2.5.2).
Now, Xalan Java can use the Sun Resolver classes:
java -Djava.endorsed.dirs="/home/steve/bin"
org.apache.xalan.xslt.Process -IN xmlto.xml -XSL file:///usr/share/
xml/docbook/xsl-stylesheets-1.64-1/html/docbook.xsl -OUT xmlto.html
-URIRESOLVER com.sun.resolver.tools.CatalogResolver -ENTITYRESOLVER
com.sun.resolver.tools.CatalogResolver
[success]
or the Apache Resolver classes (same same, I know):
java -Djava.endorsed.dirs="/home/steve/bin"
org.apache.xalan.xslt.Process -IN xmlto.xml -XSL file:///usr/share/
xml/docbook/xsl-stylesheets-1.64-1/html/docbook.xsl -OUT xmlto.html
-URIRESOLVER org.apache.xml.resolver.tools.CatalogResolver
-ENTITYRESOLVER org.apache.xml.resolver.tools.CatalogResolver
[success]
The cause of this bug is that Sun has Xalan Java 2.4.1 (the version
that cannot use the Resolver classes) bundled inside rt.jar. I popped
rt.jar open and took a look. I saw that it does contain some version
of Xalan Java, and the info at the URL below tells the rest of the
story. I'm not sure which versions of the JRE/JDK bring with them the
broken Xalan Java inside rt.jar, but the current version of j2ee does
(1.4.2_02).
http://onesearch.sun.com/search/developers/
index.jsp?qt=Xalan&col=javabugs
Many bugs relating to Xalan Java and Xerces Java have been reported.
This one (exactly) was reported quite some time ago and declared,
closed, fixed, and not a bug (bug id: 4634803) in Feb 07, 2002. Then
it was reported many more times and declared closed and fixed. You
can see that this bug has been an ongoing issue for about two years
by scanning the bug ID titles at:
http://onesearch.sun.com/search/developers/
index.jsp?qt=Xalan&col=javabugs
If you register, you can read the detail in each bug report.
I see that Sun is removing Xalan Java from J2SE 1.5 (bug id: 4966473),
and more recent attention is being paid to this current broken Xalan
Java issue (bug id: 4955172).
It's broken. Sun knows. I'm surprised that the old broken Xalan Java
is still included in the most current j2ee download two years after
the issue surfaced.
Looks like in the future Xalan Java will not be in rt.jar, and this
problem will go away. For now, the workaround Bob Stayton suggested
will avoid the problem of java always using the old, broken Xalan
Java included in rt.jar
Steve Whitlatch
To unsubscribe from this list, send a post to docbook-apps-unsubscribe@lists.oasis-open.org, or visit http://www.oasis-open.org/mlmanage/.