apache > xml.apache
 

Resolver tips

Introduction

This is a collection of various things to help you get started, such as configuration files and default catalogs. Of course there is lots of explanation in the main documentation. These are some additional resources.

Annotated CatalogManager.properties

See this example CatalogManager.properties file (shown below). Place it where your Java applications can find it.

######################################################################## 
# CatalogManager provides an interface to the catalog properties.
# Properties can come from two places: from system properties or
# from a CatalogManager.properties file. This class provides a
# transparent interface to both, with system properties preferred 
# over property file values.

#######################################################################
# Catalog Files:
# The semicolon-delimited list of catalog files.
# Example: catalogs=./xcatalog;/share/doctypes/catalog

catalogs=../conf/xml-catalog.xml

#######################################################################
# Relative Catalogs:
# If false, relative catalog URIs are made absolute with respect to the
# base URI of the CatalogManager.properties file. This setting only 
# applies to catalog URIs obtained from the catalogs property in the
# CatalogManager.properties file
# Example: relative-catalogs = [yes|no]

relative-catalogs=yes

#######################################################################
# Verbosity:
# If non-zero, the Catalog classes will print informative and debugging
# messages. The higher the number, the more messages.
# Example: verbosity = [0..99]

verbosity=99

#######################################################################
# Prefer:
# Which identifier is preferred, "public" or "system"?
# Example: xml.catalog.prefer = [public|system]

prefer=system

#######################################################################
# Static-catalog:
# Should a single catalog be constructed for all parsing, or should a
# different catalog be created for each parser?
# Example: static-catalog = [yes|no]

static-catalog=yes

#######################################################################
# Allow-oasis-xml-catalog-pi
# If the source document contains "oasis-xml-catalog" processing 
# instructions, should they be used?
# Example: allow-oasis-xml-catalog-pi = [yes|no]

allow-oasis-xml-catalog-pi=yes

#######################################################################
# catalog-class-name
# If you're using the convenience classes 
# org.apache.xml.resolver.tools.*, this setting allows you to specify
# an alternate class name to use for the underlying catalog.
# Example: catalog-class-name=org.apache.xml.resolver.Resolver

Debug

Raise the "verbosity" parameter.

Use "ngrep" to ensure no network traffic ('ngrep dtd').

Other helpful resources

Apache Cocoon uses the entity resolver. See the doc Entity resolution with catalogs.

Apache Forrest uses Cocoon and the entity resolver. See the doc XML Validation and tips for configuration of xml editors.

Apache Ant uses the entity resolver. See "Core Types => XMLCatalog".

Apache Xerces uses the entity resolver. See the doc Using XML Catalogs.

Apache Excalibur has the org.apache.excalibur.xml.DefaultEntityResolver which was developed in Cocoon then moved to Excalibur so that it would be more widely available. This hooks the resolver into the xml framework. It is available in the excalibur-xmlutil package.