package org.relaxng.datatype;

/**
 * Factory class for the DatatypeLibrary class.
 * 
 * <p>
 * The datatype library should provide the implementation of
 * this interface if it wants to be found by the schema processors.
 * The implementor also have to place a file in your jar file.
 * See the reference datatype library implementation for detail.
 * 
 * @author <a href="mailto:jjc@jclark.com">James Clark</a>
 * @author <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
 */
public interface DatatypeLibraryFactory
{
	/**
	 * Creates a new instance of a DatatypeLibrary that supports 
	 * the specified namespace URI.
	 * 
	 * @return
	 *		<code>null</code> if the specified namespace URI is not
	 *		supported.	
	 */
	DatatypeLibrary createDatatypeLibrary( String namespaceURI );
}
