/* * @(#)$Id: BuiltinDatatypeLibrary.java,v 1.5 2001/09/19 02:11:29 Bear Exp $ * * Copyright 2001 Sun Microsystems, Inc. All Rights Reserved. * * This software is the proprietary information of Sun Microsystems, Inc. * Use is subject to license terms. * */ package com.sun.msv.grammar.relaxng.datatype; import org.relaxng.datatype.*; /** * RELAX NG built-in datatypes. * * This implementation relies on Sun XML Datatypes Library. * * @author <a href="mailto:kohsuke.kawaguchi@eng.sun.com">Kohsuke KAWAGUCHI</a> */ public class BuiltinDatatypeLibrary implements DatatypeLibrary { /** * the sole instance of this class. */ public static final BuiltinDatatypeLibrary theInstance = new BuiltinDatatypeLibrary(); protected BuiltinDatatypeLibrary() {} public Datatype createDatatype( String name ) throws DatatypeException { if( name.equals("string") ) return com.sun.msv.datatype.xsd.StringType.theInstance; if( name.equals("token") ) return com.sun.msv.datatype.xsd.TokenType.theInstance; throw new DatatypeException("undefined built-in type:"+name); } public DatatypeBuilder createDatatypeBuilder( String name ) throws DatatypeException { return new DatatypeBuilderImpl( createDatatype(name) ); } }