Class PluggableSchemaResolver
- java.lang.Object
- org.springframework.beans.factory.xml.PluggableSchemaResolver
- All Implemented Interfaces:
EntityResolver
public class PluggableSchemaResolver extends Object implements EntityResolver
EntityResolver
implementation that attempts to resolve schema URLs into localclasspath resources
using a set of mappings files.By default, this class will look for mapping files in the classpath using the pattern:
META-INF/spring.schemas
allowing for multiple files to exist on the classpath at any one time.The format of
META-INF/spring.schemas
is a properties file where each line should be of the formsystemId=schema-location
whereschema-location
should also be a schema file in the classpath. SincesystemId
is commonly a URL, one must be careful to escape any ':' characters which are treated as delimiters in properties files.The pattern for the mapping files can be overridden using the
PluggableSchemaResolver(ClassLoader, String)
constructor.- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SCHEMA_MAPPINGS_LOCATION
The location of the file that defines schema mappings.
Constructor Summary
Constructors Constructor Description PluggableSchemaResolver(ClassLoader classLoader)
Loads the schema URL -> schema file location mappings using the default mapping file pattern "META-INF/spring.schemas".PluggableSchemaResolver(ClassLoader classLoader, String schemaMappingsLocation)
Loads the schema URL -> schema file location mappings using the given mapping file pattern.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description InputSource
resolveEntity(String publicId, String systemId)
String
toString()
Field Detail
DEFAULT_SCHEMA_MAPPINGS_LOCATION
public static final String DEFAULT_SCHEMA_MAPPINGS_LOCATION
The location of the file that defines schema mappings. Can be present in multiple JAR files.- See Also:
- Constant Field Values
Constructor Detail
PluggableSchemaResolver
public PluggableSchemaResolver(ClassLoader classLoader)
Loads the schema URL -> schema file location mappings using the default mapping file pattern "META-INF/spring.schemas".- Parameters:
classLoader
- the ClassLoader to use for loading (can benull
) to use the default ClassLoader)- See Also:
PropertiesLoaderUtils.loadAllProperties(String, ClassLoader)
PluggableSchemaResolver
public PluggableSchemaResolver(ClassLoader classLoader, String schemaMappingsLocation)
Loads the schema URL -> schema file location mappings using the given mapping file pattern.- Parameters:
classLoader
- the ClassLoader to use for loading (can benull
) to use the default ClassLoader)schemaMappingsLocation
- the location of the file that defines schema mappings (must not be empty)- See Also:
PropertiesLoaderUtils.loadAllProperties(String, ClassLoader)
Method Detail
resolveEntity
public InputSource resolveEntity(String publicId, String systemId) throws IOException
- Specified by:
resolveEntity
in interfaceEntityResolver
- Throws:
IOException