protected void addUserDefinedSimpleTypes(XSModel schema) {
    XSNamedMap xstypes = schema.getComponents(XSConstants.TYPE_DEFINITION);
    if (xstypes.getLength() == 0) {
      return;
    }

    addNamespace("myType", "http://www.w3.org/XQueryTest/userDefinedTypes");
    UserDefinedCtrLibrary udl =
        new UserDefinedCtrLibrary("http://www.w3.org/XQueryTest/userDefinedTypes");

    for (int i = 0; i < xstypes.getLength(); i++) {
      XSObject xsobject = xstypes.item(i);
      if ("http://www.w3.org/XQueryTest/userDefinedTypes".equals(xsobject.getNamespace())) {
        if (xsobject instanceof XSSimpleTypeDefinition) {
          XSSimpleTypeDefinition typeDef = (XSSimpleTypeDefinition) xsobject;
          if (typeDef.getNumeric()) {
            if (xsobject.getName().equals("floatBased") || xsobject.getName().equals("shoesize")) {
              XercesFloatUserDefined fudt = new XercesFloatUserDefined(xsobject);
              udl.add_type(fudt);

            } else {
              XercesIntegerUserDefined iudt = new XercesIntegerUserDefined(xsobject);
              udl.add_type(iudt);
            }
          } else {
            if (xsobject.getName().equals("QNameBased")) {
              XercesQNameUserDefined qudt = new XercesQNameUserDefined(xsobject);
              udl.add_type(qudt);
            } else {
              XercesUserDefined udt = new XercesUserDefined(typeDef);
              udl.add_type(udt);
            }
          }
        }
      }
    }

    addFunctionLibrary(udl);
  }
Exemplo n.º 2
0
 public static String toDefXmlTagName(XSObject xs) {
   String xmlName = xs.getName();
   if (xmlName.endsWith(TYPE_SUFFIX)) xmlName = xmlName.substring(0, xmlName.length() - 4);
   return xmlName;
 }