Apache Tomcat 7.0.37

org.apache.catalina.util
Class SchemaResolver

java.lang.Object
  extended by org.apache.catalina.util.SchemaResolver
All Implemented Interfaces:
EntityResolver

public class SchemaResolver
extends Object
implements EntityResolver

This class implements a local SAX's EntityResolver. All DTDs and schemas used to validate the web.xml file will re-directed to a local file stored in the servlet-api.jar and jsp-api.jar.

Author:
Jean-Francois Arcand

Field Summary
protected  Digester digester
          The digester instance for which this class is the entity resolver.
protected  HashMap<String,String> entityValidator
          The URLs of dtds and schemas that have been registered, keyed by the public identifier that corresponds.
protected  String schemaExtension
          Extension to make the difference between DTD and Schema.
 
Constructor Summary
SchemaResolver(Digester digester)
          Create a new EntityResolver that will redirect all remote dtds and schema to a local destination.
 
Method Summary
 void register(String publicId, String entityURL)
          Register the specified DTD/Schema URL for the specified public identifier.
 InputSource resolveEntity(String publicId, String systemId)
          Resolve the requested external entity.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

digester

protected Digester digester
The digester instance for which this class is the entity resolver.


entityValidator

protected HashMap<String,String> entityValidator
The URLs of dtds and schemas that have been registered, keyed by the public identifier that corresponds.


schemaExtension

protected String schemaExtension
Extension to make the difference between DTD and Schema.

Constructor Detail

SchemaResolver

public SchemaResolver(Digester digester)
Create a new EntityResolver that will redirect all remote dtds and schema to a local destination.

Parameters:
digester - The digester instance.
Method Detail

register

public void register(String publicId,
                     String entityURL)
Register the specified DTD/Schema URL for the specified public identifier. This must be called before the first call to parse(). When adding a schema file (*.xsd), only the name of the file will get added. If two schemas with the same name are added, only the last one will be stored.

Parameters:
publicId - Public identifier of the DTD to be resolved
entityURL - The URL to use for reading this DTD

resolveEntity

public InputSource resolveEntity(String publicId,
                                 String systemId)
                          throws SAXException
Resolve the requested external entity.

Specified by:
resolveEntity in interface EntityResolver
Parameters:
publicId - The public identifier of the entity being referenced
systemId - The system identifier of the entity being referenced
Throws:
SAXException - if a parsing exception occurs

Apache Tomcat 7.0.37

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.