Class FSCatalog

java.lang.Object
org.xhtmlrenderer.resource.FSCatalog

public class FSCatalog extends Object

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.

  • Constructor Details

    • FSCatalog

      public FSCatalog()
      Default constructor
  • Method Details

    • parseCatalog

      public Map<String,String> parseCatalog(String catalogURI)
      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

      private Map<String,String> parseCatalog(URL url) throws IOException
      Throws:
      IOException
    • parseCatalog

      public Map<String,String> parseCatalog(InputSource inputSource)
      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

      private void addHandlers(XMLReader xmlReader, ContentHandler ch)
      Adds the default EntityResolved and ErrorHandler for the SAX parser.
    • setFeature

      private void setFeature(XMLReader xmlReader)
      Attempts to set requested feature on the parser; logs exception if not supported or not recognized.