package com.thaiopensource.relaxng.pattern; import org.relaxng.datatype.Datatype; import org.relaxng.datatype.DatatypeBuilder; import org.relaxng.datatype.DatatypeException; import org.relaxng.datatype.DatatypeLibrary; public class BuiltinDatatypeLibrary implements DatatypeLibrary { private final DatatypeBuilder tokenDatatypeBuilder = new BuiltinDatatypeBuilder(new TokenDatatype()); private final DatatypeBuilder stringDatatypeBuilder = new BuiltinDatatypeBuilder(new StringDatatype()); public DatatypeBuilder createDatatypeBuilder(String type) throws DatatypeException { if (type.equals("token")) return tokenDatatypeBuilder; else if (type.equals("string")) return stringDatatypeBuilder; throw new DatatypeException(); } public Datatype createDatatype(String type) throws DatatypeException { return createDatatypeBuilder(type).createDatatype(); } }