X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.xml.sax%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fsax%2FSchemaObject.java;h=4138222913bb100923e0f08748d73a7445cfb55d;hb=f11cbe76b3f4be142c9f84ef9a7b6bc9dcc8ff23;hp=c081b8188443a6d49adf4d38fac17ccf33f41187;hpb=dd3b2c7ecd5f4b60734f2602b16637aa8be2a263;p=simantics%2Finterop.git diff --git a/org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaObject.java b/org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaObject.java index c081b81..4138222 100644 --- a/org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaObject.java +++ b/org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaObject.java @@ -6,11 +6,12 @@ import org.w3._2001.xmlschema.AttributeGroupRef; import org.w3._2001.xmlschema.ComplexType; import org.w3._2001.xmlschema.Element; import org.w3._2001.xmlschema.NamedAttributeGroup; +import org.w3._2001.xmlschema.NamedGroup; import org.w3._2001.xmlschema.OpenAttrs; import org.w3._2001.xmlschema.SimpleType; public class SchemaObject { - enum ObjectType{ELEMENT,COMPLEX_TYPE,SIMPLE_TYPE,ATTRIBUTE_GROUP}; + enum ObjectType{ELEMENT,COMPLEX_TYPE,SIMPLE_TYPE,ATTRIBUTE_GROUP,MODEL_GROUP}; private SchemaObject parent; private ObjectType type; @@ -33,6 +34,10 @@ public class SchemaObject { this(null, simpleType); } + public SchemaObject(NamedGroup namedGroup) { + this(null, namedGroup); + } + public SchemaObject(SchemaObject parent, Element element) { this.parent = parent; this.obj = element; @@ -51,6 +56,12 @@ public class SchemaObject { this.type = ObjectType.ATTRIBUTE_GROUP; } + public SchemaObject(SchemaObject parent, NamedGroup namedGroup) { + this.parent = parent; + this.obj = namedGroup; + this.type = ObjectType.MODEL_GROUP; + } + public SchemaObject(SchemaObject parent, SimpleType simpleType) { this.parent = parent; @@ -82,6 +93,12 @@ public class SchemaObject { return (AttributeGroup)obj; } + public NamedGroup getModelGroup() { + if (type != ObjectType.MODEL_GROUP) + return null; + return (NamedGroup)obj; + } + public SchemaObject getParent() { return parent; }