Class SimpleLSResourceResolver

java.lang.Object
com.helger.xml.ls.AbstractLSResourceResolver
com.helger.xml.ls.SimpleLSResourceResolver
All Implemented Interfaces:
com.helger.commons.lang.IHasClassLoader, LSResourceResolver

public class SimpleLSResourceResolver extends AbstractLSResourceResolver implements com.helger.commons.lang.IHasClassLoader
A simple LS resource resolver that can handle URLs, JAR files and file system resources.
Author:
Philip Helger
  • Constructor Details

    • SimpleLSResourceResolver

      public SimpleLSResourceResolver()
    • SimpleLSResourceResolver

      public SimpleLSResourceResolver(@Nullable ClassLoader aClassLoader)
  • Method Details

    • getClassLoader

      @Nullable public ClassLoader getClassLoader()
      Specified by:
      getClassLoader in interface com.helger.commons.lang.IHasClassLoader
    • internalResolveResource

      @OverrideOnDemand @Nullable protected com.helger.commons.io.resource.IReadableResource internalResolveResource(@Nonnull @Nonempty String sType, @Nullable String sNamespaceURI, @Nullable String sPublicId, @Nullable String sSystemId, @Nullable String sBaseURI) throws Exception
      Internal resource resolving
      Parameters:
      sType - The type of the resource being resolved. For XML [ XML 1.0] resources (i.e. entities), applications must use the value "http://www.w3.org/TR/REC-xml". For XML Schema [ XML Schema Part 1] , applications must use the value "http://www.w3.org/2001/XMLSchema". Other types of resources are outside the scope of this specification and therefore should recommend an absolute URI in order to use this method.
      sNamespaceURI - The namespace of the resource being resolved, e.g. the target namespace of the XML Schema [ XML Schema Part 1] when resolving XML Schema resources.
      sPublicId - The public identifier of the external entity being referenced, or null if no public identifier was supplied or if the resource is not an entity.
      sSystemId - the path of the resource to find - may be relative to the including resource. The system identifier, a URI reference [ IETF RFC 2396], of the external resource being referenced, or null if no system identifier was supplied.
      sBaseURI - The systemId of the including resource.The absolute base URI of the resource being parsed, or null if there is no base URI.
      Returns:
      null if the resource could not be resolved.
      Throws:
      Exception - in case something goes wrong
    • mainResolveResource

      @Nullable public final LSInput mainResolveResource(@Nonnull @Nonempty String sType, @Nullable String sNamespaceURI, @Nullable String sPublicId, @Nullable String sSystemId, @Nullable String sBaseURI)
      Resolve a resource with the passed parameters
      Specified by:
      mainResolveResource in class AbstractLSResourceResolver
      Parameters:
      sType - The type of the resource being resolved. For XML [ XML 1.0] resources (i.e. entities), applications must use the value "http://www.w3.org/TR/REC-xml". For XML Schema [ XML Schema Part 1] , applications must use the value "http://www.w3.org/2001/XMLSchema". Other types of resources are outside the scope of this specification and therefore should recommend an absolute URI in order to use this method.
      sNamespaceURI - The namespace of the resource being resolved, e.g. the target namespace of the XML Schema [ XML Schema Part 1] when resolving XML Schema resources.
      sPublicId - The public identifier of the external entity being referenced, or null if no public identifier was supplied or if the resource is not an entity.
      sSystemId - the path of the resource to find - may be relative to the including resource. The system identifier, a URI reference [ IETF RFC 2396], of the external resource being referenced, or null if no system identifier was supplied.
      sBaseURI - The systemId of the including resource.The absolute base URI of the resource being parsed, or null if there is no base URI.
      Returns:
      null if the resource could not be resolved.