XMLResolver (Java SE 12 & JDK 12 )
Keywords: javax.xml.stream.XMLResolver interface

Module java.xml
Package javax.xml.stream

## Interface XMLResolver

- All Known Subinterfaces:
    `CatalogResolver`

      public interface XMLResolver

  This interface is used to resolve resources during an XML parse. If an application wishes to perform custom entity resolution it must register an instance of this interface with the XMLInputFactory using the setXMLResolver method.
  Since:
    1.6

- - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `Object` | `resolveEntity​(String publicID, String systemID, String baseURI, String namespace)` | Retrieves a resource.

- - ### Method Detail

    - #### resolveEntity

          Object resolveEntity​(String publicID,
                               String systemID,
                               String baseURI,
                               String namespace)
                        throws XMLStreamException

      Retrieves a resource. This resource can be of the following three return types: (1) java.io.InputStream (2) javax.xml.stream.XMLStreamReader (3) java.xml.stream.XMLEventReader. If this method returns null the processor will attempt to resolve the entity using its default mechanism.
      Parameters:
        `publicID` - The public identifier of the external entity being referenced, or null if none was supplied.
        `systemID` - The system identifier of the external entity being referenced.
        `baseURI` - Absolute base URI associated with systemId.
        `namespace` - The namespace of the entity to resolve.
      Returns:
        The resource requested or null.
      Throws:
        `XMLStreamException` - if there was a failure attempting to resolve the resource.