public class DefaultEntityResolver extends Object implements EntityResolver, EntityRegistry
Constructor and Description |
---|
DefaultEntityResolver() |
Modifier and Type | Method and Description |
---|---|
Map<String,URL> |
getRegisteredEntities()
Returns a map with the entity IDs that have been registered using the
registerEntityId() method. |
void |
registerEntityId(String publicId,
URL entityURL)
Registers the specified URL for the specified public identifier.
|
InputSource |
resolveEntity(String publicId,
String systemId)
Resolves the requested external entity.
|
public DefaultEntityResolver()
public void registerEntityId(String publicId, URL entityURL)
Registers the specified URL for the specified public identifier.
This implementation maps PUBLICID
's to URLs (from which the resource will be loaded). A common use case for
this method is to register local URLs (possibly computed at runtime by a class loader) for DTDs and Schemas. This
allows the performance advantage of using a local version without having to ensure every SYSTEM
URI on every
processed XML document is local. This implementation provides only basic functionality. If more sophisticated
features are required, either calling XMLConfiguration.setDocumentBuilder(DocumentBuilder)
to set a custom
DocumentBuilder
(which also can be initialized with a custom EntityResolver
) or creating a custom
entity resolver and registering it with the XMLConfiguration is recommended.
registerEntityId
in interface EntityRegistry
publicId
- Public identifier of the Entity to be resolvedentityURL
- The URL to use for reading this EntityIllegalArgumentException
- if the public ID is undefinedpublic InputSource resolveEntity(String publicId, String systemId) throws SAXException
EntityResolver
interface.
It checks the passed in public ID against the registered entity IDs and uses a local URL if possible.resolveEntity
in interface EntityResolver
publicId
- the public identifier of the entity being referencedsystemId
- the system identifier of the entity being referencedSAXException
- if a parsing exception occurspublic Map<String,URL> getRegisteredEntities()
registerEntityId()
method.getRegisteredEntities
in interface EntityRegistry
Copyright © 2001–2022 The Apache Software Foundation. All rights reserved.