001package 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 */
015public 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}