in xmlschema-walker/src/main/java/org/apache/ws/commons/schema/walker/XmlSchemaScope.java [702:741]
private QName getUserRecognizedType(QName simpleType, XmlSchemaTypeInfo parent) {
if (userRecognizedTypes == null) {
return null;
} else if (simpleType == null) {
return (parent == null) ? null : parent.getUserRecognizedType();
} else if (userRecognizedTypes.contains(simpleType)) {
return simpleType;
}
if (XmlSchemaBaseSimpleType.isBaseSimpleType(simpleType)) {
boolean checkAnyType = true;
boolean checkAnySimpleType = true;
switch (XmlSchemaBaseSimpleType.getBaseSimpleTypeFor(simpleType)) {
case ANYTYPE:
checkAnyType = false;
case ANYSIMPLETYPE:
checkAnySimpleType = false;
default:
}
if (checkAnySimpleType) {
final QName anySimpleType = XmlSchemaBaseSimpleType.ANYSIMPLETYPE.getQName();
if (userRecognizedTypes.contains(anySimpleType)) {
return anySimpleType;
}
}
if (checkAnyType) {
final QName anyType = XmlSchemaBaseSimpleType.ANYTYPE.getQName();
if (userRecognizedTypes.contains(anyType)) {
return anyType;
}
}
}
return (parent == null) ? null : parent.getUserRecognizedType();
}