The Spring Framework

## org.springframework.beans.factory.xml
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 local `classpath 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 form `systemId=schema-location` where `schema-location` should also be a schema file in the classpath. Since systemId 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 overidden using the `PluggableSchemaResolver(ClassLoader, String)` constructor

Since:
  2.0
Author:
  Rob Harrop, Juergen Hoeller

Field Summary
`static String` `DEFAULT_SCHEMA_MAPPINGS_LOCATION` The location of the file that defines schema mappings.

Constructor Summary
`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
`protected String` `getSchemaMapping(String systemId)`
`InputSource` `resolveEntity(String publicId, String systemId)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 be `null`) 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 be `null`) 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 interface `EntityResolver`
  Throws:
    `IOException`

### getSchemaMapping

    protected String getSchemaMapping(String systemId)

The Spring Framework

Copyright © 2002-2008 The Spring Framework.