Class SystemIDResolver


  • public final class SystemIDResolver
    extends java.lang.Object
    This class is used to resolve relative URIs and SystemID strings into absolute URIs.

    This is a generic utility for resolving URIs, other than the fact that it's declared to throw TransformerException. Please see code comments for details on how resolution is performed.

    This class is a copy of the one in org.apache.xml.utils. It exists to cut the serializers dependancy on that package. This class is not a public API, it is only public because it is used in org.apache.xml.serializer.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String getAbsoluteURI​(java.lang.String systemId)
      Take a SystemID string and try to turn it into a good absolute URI.
      static java.lang.String getAbsoluteURI​(java.lang.String urlString, java.lang.String base)
      Take a SystemID string and try to turn it into a good absolute URI.
      static java.lang.String getAbsoluteURIFromRelative​(java.lang.String localPath)
      Get an absolute URI from a given relative URI (local path).
      static boolean isAbsolutePath​(java.lang.String systemId)
      Return true if the local path is an absolute path.
      static boolean isAbsoluteURI​(java.lang.String systemId)
      Return true if the systemId denotes an absolute URI .
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SystemIDResolver

        public SystemIDResolver()
    • Method Detail

      • getAbsoluteURIFromRelative

        public static java.lang.String getAbsoluteURIFromRelative​(java.lang.String localPath)
        Get an absolute URI from a given relative URI (local path).

        The relative URI is a local filesystem path. The path can be absolute or relative. If it is a relative path, it is resolved relative to the system property "user.dir" if it is available; if not (i.e. in an Applet perhaps which throws SecurityException) then we just return the relative path. The space and backslash characters are also replaced to generate a good absolute URI.

        Parameters:
        localPath - The relative URI to resolve
        Returns:
        Resolved absolute URI
      • isAbsoluteURI

        public static boolean isAbsoluteURI​(java.lang.String systemId)
        Return true if the systemId denotes an absolute URI .
        Parameters:
        systemId - The systemId string
        Returns:
        true if the systemId is an an absolute URI
      • isAbsolutePath

        public static boolean isAbsolutePath​(java.lang.String systemId)
        Return true if the local path is an absolute path.
        Parameters:
        systemId - The path string
        Returns:
        true if the path is absolute
      • getAbsoluteURI

        public static java.lang.String getAbsoluteURI​(java.lang.String systemId)
        Take a SystemID string and try to turn it into a good absolute URI.
        Parameters:
        systemId - A URI string, which may be absolute or relative.
        Returns:
        The resolved absolute URI
      • getAbsoluteURI

        public static java.lang.String getAbsoluteURI​(java.lang.String urlString,
                                                      java.lang.String base)
                                               throws javax.xml.transform.TransformerException
        Take a SystemID string and try to turn it into a good absolute URI.
        Parameters:
        urlString - SystemID string
        base - The URI string used as the base for resolving the systemID
        Returns:
        The resolved absolute URI
        Throws:
        javax.xml.transform.TransformerException - thrown if the string can't be turned into a URI.