Class DefaultEntityResolver

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<java.lang.String,​java.net.URL> getRegisteredEntities()
      Returns a map with the entity IDs that have been registered using the registerEntityId() method.
      void registerEntityId​(java.lang.String publicId, java.net.URL entityURL)
      Registers the specified URL for the specified public identifier.
      org.xml.sax.InputSource resolveEntity​(java.lang.String publicId, java.lang.String systemId)
      Resolves the requested external entity.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • registerEntityId

        public void registerEntityId​(java.lang.String publicId,
                                     java.net.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.

        Specified by:
        registerEntityId in interface EntityRegistry
        Parameters:
        publicId - Public identifier of the Entity to be resolved
        entityURL - The URL to use for reading this Entity
        Throws:
        java.lang.IllegalArgumentException - if the public ID is undefined
      • resolveEntity

        public org.xml.sax.InputSource resolveEntity​(java.lang.String publicId,
                                                     java.lang.String systemId)
                                              throws org.xml.sax.SAXException
        Resolves the requested external entity. This is the default implementation of the EntityResolver interface. It checks the passed in public ID against the registered entity IDs and uses a local URL if possible.
        Specified by:
        resolveEntity in interface org.xml.sax.EntityResolver
        Parameters:
        publicId - the public identifier of the entity being referenced
        systemId - the system identifier of the entity being referenced
        Returns:
        an input source for the specified entity
        Throws:
        org.xml.sax.SAXException - if a parsing exception occurs
      • getRegisteredEntities

        public java.util.Map<java.lang.String,​java.net.URL> getRegisteredEntities()
        Returns a map with the entity IDs that have been registered using the registerEntityId() method.
        Specified by:
        getRegisteredEntities in interface EntityRegistry
        Returns:
        a map with the registered entity IDs