You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xml-commons-dev@xerces.apache.org by "USHAKOV, Sergey" <us...@int.com.ru> on 2008/05/17 18:40:27 UTC

Resolver issue - not honoring "xml.catalog.verbosity" system property

Hello all,

I've ran across a case with Resolver that looks like not honoring the 
"xml.catalog.verbosity" system property.

I run org.apache.xalan.xslt.Process from Xalan 2.7.1 with 
org.apache.xml.resolver.tools.CatalogResolver registered both as URIRESOLVER 
and ENTITYRESOLVER.

All the settings for Resolver that I set using CatalogManager.properties are 
obeyed perfectly. But if I turn from using CatalogManager.properties to 
system properties, then all the settings I use seem to be obeyed except 
"xml.catalog.verbosity".

I've looked into org.apache.xalan.xslt.Process and found that it just 
creates and registers the resolver expecting that the latter will take care 
of itself.

I've looked into CatalogManager code and found a sophisticated lazy 
properties interrogation mechanism there. There are also two pieces of code 
in readProperties() and queryVerbosity() commented as "hack". Both take 
special care about "verbosity". They seem to work ok for the case of 
CatalogManager.properties, but in case of system property being in use they 
seem to never have a chance to do their job...

Frankly I do not feel I get the whole picture of this lazy mechanism in my 
head perfectly. But my guess is that verbosity is a special property 
possibly not good for lazy interrogation. Perhaps the CatalogManager 
constructor might be the right place to set it up from the very beginning, 
right after creation of the Debug object... Otherwise chances are that the 
first debug.message() call will be made with the Debug object still not 
being set up...

Or do I miss something?

Regards,
Sergey