Package org.apache.catalina.util
Class SchemaResolver
- java.lang.Object
-
- org.apache.catalina.util.SchemaResolver
-
- All Implemented Interfaces:
EntityResolver
public class SchemaResolver extends Object implements EntityResolver
This class implements a local SAX'sEntityResolver
. 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
Fields Modifier and Type Field Description 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
Constructors Constructor Description SchemaResolver(Digester digester)
Create a newEntityResolver
that will redirect all remote dtds and schema to a local destination.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.static void
setForceLocalSchema(boolean flag)
-
-
-
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 newEntityResolver
that will redirect all remote dtds and schema to a local destination.- Parameters:
digester
- schemaLocation the XML Schema used to validate xml 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 toparse()
. 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 resolvedentityURL
- 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 interfaceEntityResolver
- Parameters:
publicId
- The public identifier of the entity being referencedsystemId
- The system identifier of the entity being referenced- Throws:
SAXException
- if a parsing exception occurs
-
setForceLocalSchema
public static void setForceLocalSchema(boolean flag)
-
-