code: public void addSchemaType(String className, String defaultWidget) {
  
          Class<?> classClazz;
          // initialize class for schema type
          try {
              classClazz = Class.forName(className);
          } catch (ClassNotFoundException e) {
              LOG.error(
                  Messages.get().getBundle().key(Messages.LOG_XML_CONTENT_SCHEMA_TYPE_CLASS_NOT_FOUND_1, className),
                  e);
              return;
          }
  
          // create the schema type and add it to the internal list
          I_CmsXmlSchemaType type;
          try {
              type = addContentType(classClazz);
          } catch (Exception e) {
              LOG.error(
                  Messages.get().getBundle().key(
                      Messages.LOG_INIT_XML_CONTENT_SCHEMA_TYPE_CLASS_ERROR_1,
                      classClazz.getName()),
                  e);
              return;
          }
  
          // add the editor widget for the schema type
          I_CmsWidget widget = getWidget(defaultWidget);
          if (widget == null) {
              LOG.error(
                  Messages.get().getBundle().key(
                      Messages.LOG_INIT_DEFAULT_WIDGET_FOR_CONTENT_TYPE_2,
                      defaultWidget,
                      type.getTypeName()));
              return;
          }
  
          // store the registered default widget
          m_defaultWidgets.put(type.getTypeName(), widget);
  
          if (CmsLog.INIT.isInfoEnabled()) {
              CmsLog.INIT.info(
                  Messages.get().getBundle().key(
                      Messages.INIT_ADD_ST_USING_WIDGET_2,
                      type.getTypeName(),
                      widget.getClass().getName()));
          }
      }
docs: Adds a new XML content type schema class and XML widget to the manager by class names.<p>
  
  @param className class name of the XML content schema type class to add
  @param defaultWidget class name of the default XML widget class for the added XML content type