Class SchemaResolver

  • All Implemented Interfaces:
    EntityResolver

    public class SchemaResolver
    extends Object
    implements EntityResolver
    This class implements a local SAX's EntityResolver. All DTDs and schemas used to validate the web.xml file will re-directed to a local file stored in the servlet-api.jar and jsp-api.jar.
    Author:
    Jean-Francois Arcand
    • Field Detail

      • digester

        protected Digester digester
        The digester instance for which this class is the entity resolver.
      • entityValidator

        protected HashMap<String,​String> entityValidator
        The URLs of dtds and schemas that have been registered, keyed by the public identifier that corresponds.
      • schemaExtension

        protected String schemaExtension
        Extension to make the difference between DTD and Schema.
    • Constructor Detail

      • SchemaResolver

        public SchemaResolver​(Digester digester)
        Create a new EntityResolver that will redirect all remote dtds and schema to a local destination.
        Parameters:
        digester - schemaLocation the XML Schema used to validate xml instance.
    • Method Detail

      • register

        public void register​(String publicId,
                             String entityURL)
        Register the specified DTD/Schema URL for the specified public identifier. This must be called before the first call to parse(). When adding a schema file (*.xsd), only the name of the file will get added. If two schemas with the same name are added, only the last one will be stored.
        Parameters:
        publicId - Public identifier of the DTD to be resolved
        entityURL - The URL to use for reading this DTD
      • resolveEntity

        public InputSource resolveEntity​(String publicId,
                                         String systemId)
                                  throws SAXException
        Resolve the requested external entity.
        Specified by:
        resolveEntity in interface EntityResolver
        Parameters:
        publicId - The public identifier of the entity being referenced
        systemId - The system identifier of the entity being referenced
        Throws:
        SAXException - if a parsing exception occurs
      • setForceLocalSchema

        public static void setForceLocalSchema​(boolean flag)