On Aug 28, 2008, at 3:18 PM, Thorsten Scherler wrote:
not sure whether you are aware of
http://svn.apache.org/viewvc/forrest/branches/update_cocoon_2.1.12-dev/main/webapp/WEB-INF/cocoon.xconf?diff_format=h&view=markup
<entity-resolver logger="core.resolver">
<parameter name="catalog" value="resources/schema/catalog.xcat"/>
<parameter name="verbosity" value="$
{org.apache.xml.resolver.verbosity}"/>
</entity-resolver>
maybe that helps.
Thx for the reply, Thorsten! Yes, I'm aware of Cocoon's catalog
entity resolver. I've got this transformer written a long time ago by
somebody else, that uses Xerces but was not supplying any entity
resolver, so I changed it to use Cocoon's catalog-based resolver, and
it worked a lot better but was still making some network connections
in spite of this (and for some reason, I'm getting a lot of
"connection refused" from w3.org, all starting a couple of weeks ago,
which is weird and is what started me down this whole path of looking
at this transformer).
Finally I figured out that if I stick the whole DTD into a catalog,
Xerces no longer makes these network connections. Maybe that is what
you were getting at above. Anyway, I figured it out through kind of a
roundabout way. My original question was about setting the "load-
external-dtd" feature, because a guy on the Xerces list told me that
would magically fix this problem. I went ahead and did that, but it
was bum advice... it does not fix the problem, and indeed looking at
the Xerces source code I see that it has nothing to do with it. Then
I ran across this post:
http://tersesystems.com/post/6000058.jhtml
which confirmed what I a was seeing from experience and also looking
at the Xerces source. He goes one to describe the "crushingly
obvious" solution of writing a wrapper class for the EntityResolver.
But if you consider what his wrapper class is actually doing, it's
acttually a kind of degenerate, hard-coded catalog! So if you have a
catalog entity resolver already, the even more "crushingly obvious"
solution is to enter the DTD in a catalog. Poofo, problem solved! :-)
cheers & thx again,
—ml—