Class FSCatalog
FSCatalog loads an XML catalog file to read mappings of public IDs for XML schemas/dtds, to resolve those mappings to a local store for the schemas. The catalog file allows one to have a single mapping of schema IDs to local files, and is useful when there are many schemas, or when schemas are broken into many smaller files. Currently, FSCatalog only supports the very simple mapping of public id to local URI using the public element in the catalog XML.
FSCatalog is not an EntityResolver; it only parses a catalog file. See
FSEntityResolver
for entity resolution.
To use, instantiate the class, and call parseCatalog(InputSource)
to retrieve a Map
keyed by public ids. The class uses
an XMLReader instance retrieved via XMLResource.newXMLReader()
, so
XMLReader configuration (and specification) follows that of the standard XML
parsing in Flying Saucer.
This class is not safe for multithreaded access.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
A SAX ContentHandler that reads an XML catalog file and builds a Map of public IDs to local URIs. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addHandlers
(XMLReader xmlReader, ContentHandler ch) Adds the default EntityResolved and ErrorHandler for the SAX parser.parseCatalog
(String catalogURI) Parses an XML catalog file and returns a Map of public ids to local URIs read from the catalog.parseCatalog
(URL url) parseCatalog
(InputSource inputSource) Parses an XML catalog file and returns a Map of public ids to local URIs read from the catalog.private void
setFeature
(XMLReader xmlReader) Attempts to set requested feature on the parser; logs exception if not supported or not recognized.
-
Constructor Details
-
FSCatalog
public FSCatalog()Default constructor
-
-
Method Details
-
parseCatalog
Parses an XML catalog file and returns a Map of public ids to local URIs read from the catalog. Only the catalog public elements are parsed.- Parameters:
catalogURI
- A String URI to a catalog XML file on the classpath.
-
parseCatalog
- Throws:
IOException
-
parseCatalog
Parses an XML catalog file and returns a Map of public ids to local URIs read from the catalog. Only the catalog public elements are parsed.- Parameters:
inputSource
- A SAX InputSource to a catalog XML file on the classpath.
-
addHandlers
Adds the default EntityResolved and ErrorHandler for the SAX parser. -
setFeature
Attempts to set requested feature on the parser; logs exception if not supported or not recognized.
-