⇒ Index (Frames) |  ⇒ Index (No Frames) |  ⇒ Package |  ⇒ Package Tree |  ⇒ Full Tree 
gnu.xml.util

Class Resolver

java.lang.Object
|
+--gnu.xml.util.Resolver

All Implemented Interfaces:
java.lang.Cloneable, EntityResolver


public class Resolver
extends java.lang.Object
implements EntityResolver, java.lang.Cloneable

Utility implementation of a SAX resolver, which can be used to improve network utilization of SAX based XML components. It does this by supporting local caches of external entities. SAX parsers should use such local caches when possible.
See Also:
XCat

Constructor Summary

Resolver(java.util.Dictionary dict)

Constructs a resolver which understands how to map PUBLIC identifiers to other URIs, typically for local copies of standard DTD components.

Method Summary

static void

addDirectoryMapping(java.util.Dictionary table, String mappings[][] , java.io.File directory)

Updates a dictionary used to map PUBLIC identifiers to file names, so that it uses the mappings in a specified directory.

static java.lang.String

fileNameToURL(java.lang.String filename)

Provides the URL for a named file, without relying on the JDK 1.2 java.io.File#toURL File.toURL() utility method.

static java.lang.String

fileToURL(java.io.File f)

Provides the URL for a file, without relying on the JDK 1.2 java.io.File#toURL File.toURL() utility method.

static java.lang.String

getEncoding(java.lang.String contentType)

This parses most MIME content type strings that have charset=... encoding declarations to and returns the specified encoding.

static java.lang.String

getURL(java.lang.String fileOrURL)

Returns a URL string.

InputSource

resolveEntity(java.lang.String publicId, java.lang.String systemId)

Uses a local dictionary of public identifiers to resolve URIs, normally with the goal of minimizing network traffic or latencies.

Constructor Details

Resolver

public Resolver(java.util.Dictionary dict)

Constructs a resolver which understands how to map PUBLIC identifiers to other URIs, typically for local copies of standard DTD components.

Parameters:
dict - maps PUBLIC identifiers to URIs.

Method Details

addDirectoryMapping

public static void addDirectoryMapping(java.util.Dictionary table, String mappings[][] , java.io.File directory)

Updates a dictionary used to map PUBLIC identifiers to file names, so that it uses the mappings in a specified directory.

Parameters:
table - Array of string pairs, where the first member of each pair is a PUBLIC identifier and the second is the name of a file, relative to the specified directory.
- File holding the specified files.
directory

fileNameToURL

public static String fileNameToURL(java.lang.String filename)

Provides the URL for a named file, without relying on the JDK 1.2 java.io.File.toURL File.toURL() utility method.

Parameters:
filename - the file name to convert.
Throws:
java.io.IOException - if the file does not exist

fileToURL

public static String fileToURL(java.io.File f)

Provides the URL for a file, without relying on the JDK 1.2 java.io.File.toURL File.toURL() utility method.

Parameters:
f - the file to convert.
Throws:
java.io.IOException - if the file does not exist

getEncoding

public static String getEncoding(java.lang.String contentType)

This parses most MIME content type strings that have charset=... encoding declarations to and returns the specified encoding. This conforms to RFC 3023, and is useful when constructing InputSource objects from URLConnection objects or other objects using MIME content typing.

Parameters:
contentType - the MIME content type that will be parsed; must not be null.
Returns:
the appropriate encoding, or null if the content type is not text and there's no charset=... attribute

getURL

public static String getURL(java.lang.String fileOrURL)

Returns a URL string. Note that if a malformed URL is provided, or the parameter names a nonexistent file, the resulting URL may be malformed.

Parameters:
fileOrURL - If this is the name of a file which exists, then its URL is returned.

resolveEntity

public InputSource resolveEntity(java.lang.String publicId, java.lang.String systemId)

Uses a local dictionary of public identifiers to resolve URIs, normally with the goal of minimizing network traffic or latencies.

Parameters:
publicId
systemId