001    package org.relaxng.datatype;
002    
003    /**
004     * Factory class for the DatatypeLibrary class.
005     * 
006     * <p>
007     * The datatype library should provide the implementation of
008     * this interface if it wants to be found by the schema processors.
009     * The implementor also have to place a file in your jar file.
010     * See the reference datatype library implementation for detail.
011     * 
012     * @author <a href="mailto:jjc@jclark.com">James Clark</a>
013     * @author <a href="mailto:kohsuke.kawaguchi@sun.com">Kohsuke KAWAGUCHI</a>
014     */
015    public interface DatatypeLibraryFactory
016    {
017            /**
018             * Creates a new instance of a DatatypeLibrary that supports 
019             * the specified namespace URI.
020             * 
021             * @return
022             *              <code>null</code> if the specified namespace URI is not
023             *              supported.      
024             */
025            DatatypeLibrary createDatatypeLibrary( String namespaceURI );
026    }