org.apache.cocoon.core.xml.impl
Class DefaultEntityResolver

java.lang.Object
  extended byorg.apache.cocoon.core.xml.impl.DefaultEntityResolver
All Implemented Interfaces:
EntityResolver, ResourceLoaderAware

public class DefaultEntityResolver
extends Object
implements EntityResolver, ResourceLoaderAware

A component that uses catalogs for resolving entities. This implementation uses the XML Entity and URI Resolvers from http://xml.apache.org/commons/ published by Norman Walsh. More information on the catalogs can be found at http://xml.apache.org/cocoon/userdocs/concepts/catalog.html

Since:
2.2
Version:
$Id: DefaultEntityResolver.html 1304280 2012-03-23 11:18:01Z ilgrosso $

Field Summary
protected  String catalog
           
protected  org.apache.xml.resolver.CatalogManager catalogManager
          The catalog manager
protected  org.apache.xml.resolver.tools.CatalogResolver catalogResolver
          The catalog resolver
protected  String localCatalog
           
protected  ResourceLoader resourceLoader
           
protected  Integer verbosity
          Verbosity level.
 
Constructor Summary
DefaultEntityResolver()
           
 
Method Summary
protected  String correctUri(String uri)
          Correct resource uris.
 String getCatalog()
           
 String getLocalCatalog()
           
 Log getLogger()
           
 ResourceLoader getResourceLoader()
           
 Integer getVerbosity()
           
 void init()
          Set the configuration.
protected  void parseCatalog(String uri)
          Parse a catalog
 InputSource resolveEntity(String publicId, String systemId)
          Allow the application to resolve external entities.
 void setCatalog(String catalog)
           
 void setLocalCatalog(String localCatalog)
           
 void setLogger(Log l)
           
 void setResourceLoader(ResourceLoader loader)
           
 void setVerbosity(Integer verbosity)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

catalogManager

protected org.apache.xml.resolver.CatalogManager catalogManager
The catalog manager


catalogResolver

protected org.apache.xml.resolver.tools.CatalogResolver catalogResolver
The catalog resolver


verbosity

protected Integer verbosity
Verbosity level.


catalog

protected String catalog

localCatalog

protected String localCatalog

resourceLoader

protected ResourceLoader resourceLoader
Constructor Detail

DefaultEntityResolver

public DefaultEntityResolver()
Method Detail

getLogger

public Log getLogger()

setLogger

public void setLogger(Log l)

correctUri

protected String correctUri(String uri)
                     throws IOException
Correct resource uris.

Throws:
IOException

getVerbosity

public Integer getVerbosity()

setVerbosity

public void setVerbosity(Integer verbosity)

getCatalog

public String getCatalog()

setCatalog

public void setCatalog(String catalog)

getLocalCatalog

public String getLocalCatalog()

setLocalCatalog

public void setLocalCatalog(String localCatalog)

setResourceLoader

public void setResourceLoader(ResourceLoader loader)
Specified by:
setResourceLoader in interface ResourceLoaderAware

getResourceLoader

public ResourceLoader getResourceLoader()

init

public void init()
          throws Exception
Set the configuration. Load the system catalog and apply any parameters that may have been set using the public setter methods.

Throws:
Exception

parseCatalog

protected void parseCatalog(String uri)
Parse a catalog


resolveEntity

public InputSource resolveEntity(String publicId,
                                 String systemId)
                          throws SAXException,
                                 IOException
Allow the application to resolve external entities.

The Parser will call this method before opening any external entity except the top-level document entity (including the external DTD subset, external entities referenced within the DTD, and external entities referenced within the document element): the application may request that the parser resolve the entity itself, that it use an alternative URI, or that it use an entirely different input source.

Application writers can use this method to redirect external system identifiers to secure and/or local URIs, to look up public identifiers in a catalogue, or to read an entity from a database or other input source (including, for example, a dialog box).

If the system identifier is a URL, the SAX parser must resolve it fully before reporting it to the application.

Specified by:
resolveEntity in interface EntityResolver
Parameters:
publicId - The public identifier of the external entity being referenced, or null if none was supplied.
systemId - The system identifier of the external entity being referenced.
Returns:
An InputSource object describing the new input source, or null to request that the parser open a regular URI connection to the system identifier.
Throws:
SAXException - Any SAX exception, possibly wrapping another exception.
IOException - A Java-specific IO exception, possibly the result of creating a new InputStream or Reader for the InputSource.
See Also:
InputSource


Copyright 1999-2008 The Apache Software Foundation. All Rights Reserved.