]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaConversionBase.java
Merge "Attribute namespace handling overrides."
[simantics/interop.git] / org.simantics.xml.sax / src / org / simantics / xml / sax / SchemaConversionBase.java
index 51707cb6d351ca7a04556a8f2404afefd8bab3ed..6621cc716f17853f3549644bf2f6b42cf8cc6d44 100644 (file)
@@ -28,6 +28,7 @@ import org.w3._2001.xmlschema.Any;
 import org.w3._2001.xmlschema.Attribute;
 import org.w3._2001.xmlschema.AttributeGroup;
 import org.w3._2001.xmlschema.ComplexContent;
+import org.w3._2001.xmlschema.ComplexRestrictionType;
 import org.w3._2001.xmlschema.ComplexType;
 import org.w3._2001.xmlschema.Element;
 import org.w3._2001.xmlschema.ExplicitGroup;
@@ -541,6 +542,13 @@ public final class SchemaConversionBase {
                                QName type = extensionType.getBase();
                                return type;
                        }
+                       ComplexRestrictionType restriction = complexContent.getRestriction();
+                       if (restriction != null)
+                               return restriction.getBase();
+               }
+               if (complexType.isMixed()) {
+                       // Handle characters data of mixed ComplexType as String.
+                       return new QName(SCHEMA_NS, "string");
                }
                return null;
        }