org.apache.xerces.impl

## Interface ExternalSubsetResolver

All Superinterfaces:
  org.apache.xerces.xni.parser.XMLEntityResolver

All Known Implementing Classes:
  EntityResolver2Wrapper

    public interface ExternalSubsetResolver
    extends org.apache.xerces.xni.parser.XMLEntityResolver

This interface extends `XMLEntityResolver` providing a method to resolve external subsets for documents which do not explicitly provide one. The application can register an object that implements this interface with the parser configuration. If registered, it will be queried to locate an external subset when none is provided, even for documents that do not contain DOCTYPE declarations. If the registered external subset resolver does not provide an external subset for a given document, it should return `null`.

Version:
  $Id: ExternalSubsetResolver.java 446761 2006-09-15 21:59:29Z mrglavas $
Author:
  Michael Glavassevich, IBM

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

### Method Summary

All Methods Instance Methods Abstract Methods
`org.apache.xerces.xni.parser.XMLInputSource` `getExternalSubset(org.apache.xerces.xni.grammars.XMLDTDDescription grammarDescription)` Locates an external subset for documents which do not explicitly provide one.

### Methods inherited from interface org.apache.xerces.xni.parser.XMLEntityResolver

`resolveEntity`

### Method Detail

#### getExternalSubset

    org.apache.xerces.xni.parser.XMLInputSource getExternalSubset(org.apache.xerces.xni.grammars.XMLDTDDescription grammarDescription)
                                                           throws org.apache.xerces.xni.XNIException,
                                                                  java.io.IOException

Locates an external subset for documents which do not explicitly provide one. If no external subset is provided, this method should return `null`.

Parameters:
  `grammarDescription` - a description of the DTD
Throws:
  `org.apache.xerces.xni.XNIException` - Thrown on general error.
  `java.io.IOException` - Thrown if resolved entity stream cannot be opened or some other i/o error occurs.