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); }
public static String toDefXmlTagName(XSObject xs) { String xmlName = xs.getName(); if (xmlName.endsWith(TYPE_SUFFIX)) xmlName = xmlName.substring(0, xmlName.length() - 4); return xmlName; }