public SimpleTypeUsage() {

    // Any application willing to switch to different implementation should
    // call SchemaDVFactory#setFactoryClass() as the first step before calling
    // SchemaDVFactory#getInstance().
    // Suppose application wants to use class 'MySchemaDVFactoryImpl' as SchemaDVFactory
    // implementation which resides in say 'myApp.simpleType' package.

    // SchemaDVFactory.setFactoryClass("myApp.simpleType.MySchemaDVFactoryImpl.class");

    // this will give the instance of default implementation (SchemaDVFactoryImpl)
    // in 'org.apache.xerces.impl.dv.xs_new' package.
    factory = SchemaDVFactory.getInstance();
  } // SimpleTypeUsage()
  public static void main(String[] args) {

    SimpleTypeUsage usage = new SimpleTypeUsage();

    if (args.length == 1) {
      XSSimpleType builtInType = factory.getBuiltInType(args[0]);
      if (builtInType == null) {
        System.err.println("Invalid built-in Simple datatype given as argument.");
        printUsage();
      } else {
        usage.querySimpleType(builtInType);
      }

    } else {
      printUsage();
    }
  } // main()