// handle the restriction
XmlSchemaSimpleTypeContent content = simpleType.getContent();
if (content != null) {
if (content instanceof XmlSchemaSimpleTypeRestriction) {
XmlSchemaSimpleTypeRestriction restriction = (XmlSchemaSimpleTypeRestriction) content;
QName baseTypeName = restriction.getBaseTypeName();
//check whether the base type is one of the base schema types
if (baseSchemaTypeMap.containsKey(baseTypeName)) {
//process restriction base type
QName qName = simpleType.getQName();
if(qName == null) {
qName = (QName) simpleType.getMetaInfoMap().get(SchemaConstants.SchemaCompilerInfoHolder.FAKE_QNAME);
}
processSimpleRestrictionBaseType(qName, restriction.getBaseTypeName(),metaInfHolder);
//process facets
XmlSchemaObjectCollection facets = restriction.getFacets();
processFacets(facets,metaInfHolder);
} else {
//recurse
if (restriction.getBaseType() != null) {
processSimpleSchemaType(restriction.getBaseType(), null, parentSchema);
}
}
}else if (content instanceof XmlSchemaSimpleTypeUnion) {
//Todo - Handle unions here
throw new SchemaCompilationException(