public class ApacheCatalog
extends org.apache.xml.resolver.Catalog
<dtd>
and <entity>
) are not added to ApacheCatalog.
See XMLCatalog.java for the details of the entity and URI
resolution algorithms.XMLCatalog.CatalogResolver
base, BASE, CATALOG, catalogCwd, catalogEntries, catalogFiles, catalogManager, catalogs, default_override, DELEGATE_PUBLIC, DELEGATE_SYSTEM, DELEGATE_URI, DOCTYPE, DOCUMENT, DTDDECL, ENTITY, LINKTYPE, localCatalogFiles, localDelegate, NOTATION, OVERRIDE, PUBLIC, readerArr, readerMap, REWRITE_SYSTEM, REWRITE_URI, SGMLDECL, SYSTEM, SYSTEM_SUFFIX, URI, URI_SUFFIX
Constructor and Description |
---|
ApacheCatalog() |
Modifier and Type | Method and Description |
---|---|
void |
addEntry(org.apache.xml.resolver.CatalogEntry entry)
This method overrides the superclass method of the same name
in order to add catalog entries back to the controlling
XMLCatalog instance.
|
protected org.apache.xml.resolver.Catalog |
newCatalog()
Create a new ApacheCatalog instance.
|
void |
setResolver(ApacheCatalogResolver resolver)
Set the resolver object to callback.
|
addDelegate, addReader, copyReaders, encodedByte, fixSlashes, getCatalogManager, getCurrentBase, getDefaultOverride, loadSystemCatalogs, makeAbsolute, normalizeURI, parseAllCatalogs, parseCatalog, parseCatalog, parseCatalog, parseCatalogFile, parsePendingCatalogs, resolveDoctype, resolveDocument, resolveEntity, resolveLocalPublic, resolveLocalSystem, resolveLocalURI, resolveNotation, resolvePublic, resolveSubordinateCatalogs, resolveSystem, resolveURI, setCatalogManager, setupReaders, unknownEntry
protected org.apache.xml.resolver.Catalog newCatalog()
Create a new ApacheCatalog instance.
This method overrides the superclass method of the same name in order to set the resolver object for callbacks. The reason we have to do this is that internally Catalog creates a new instance of itself for each external catalog file processed. That is, if two external catalog files are processed, there will be a total of two ApacheCatalog instances, and so on.
newCatalog
in class org.apache.xml.resolver.Catalog
public void setResolver(ApacheCatalogResolver resolver)
resolver
- the apache catalog resolver.public void addEntry(org.apache.xml.resolver.CatalogEntry entry)
This method overrides the superclass method of the same name in order to add catalog entries back to the controlling XMLCatalog instance. In this way, we can add classpath lookup for these entries.
When we add an external catalog file, the entries inside it get parsed by this method. Therefore, we override it to add each of them back to the controlling XMLCatalog instance. This is done by performing a callback to the ApacheCatalogResolver, which in turn calls the XMLCatalog.
XMLCatalog currently only understands PUBLIC
and URI
entry types, so we ignore the other types.
addEntry
in class org.apache.xml.resolver.Catalog
entry
- The CatalogEntry to process.