package org.simantics.xml.sax;\r
\r
+import org.simantics.xml.sax.configuration.Rename;\r
import org.w3._2001.xmlschema.AttributeGroup;\r
import org.w3._2001.xmlschema.AttributeGroupRef;\r
import org.w3._2001.xmlschema.ComplexType;\r
import org.w3._2001.xmlschema.Element;\r
import org.w3._2001.xmlschema.NamedAttributeGroup;\r
+import org.w3._2001.xmlschema.NamedGroup;\r
import org.w3._2001.xmlschema.OpenAttrs;\r
import org.w3._2001.xmlschema.SimpleType;\r
\r
public class SchemaObject {\r
- enum ObjectType{ELEMENT,COMPLEX_TYPE,SIMPLE_TYPE,ATTRIBUTE_GROUP};\r
+ enum ObjectType{ELEMENT,COMPLEX_TYPE,SIMPLE_TYPE,ATTRIBUTE_GROUP,MODEL_GROUP};\r
\r
private SchemaObject parent;\r
private ObjectType type;\r
private OpenAttrs obj;\r
+ private Rename rename;\r
\r
public SchemaObject(Element element) {\r
this(null,element);\r
}\r
\r
+ public void setRename(Rename rename) {\r
+ this.rename = rename;\r
+ }\r
+ \r
public SchemaObject(ComplexType complexType) {\r
this(null, complexType);\r
}\r
this(null, simpleType);\r
}\r
\r
+ public SchemaObject(NamedGroup namedGroup) {\r
+ this(null, namedGroup);\r
+ }\r
+ \r
public SchemaObject(SchemaObject parent, Element element) {\r
this.parent = parent;\r
this.obj = element;\r
this.type = ObjectType.ATTRIBUTE_GROUP;\r
}\r
\r
+ public SchemaObject(SchemaObject parent, NamedGroup namedGroup) {\r
+ this.parent = parent;\r
+ this.obj = namedGroup;\r
+ this.type = ObjectType.MODEL_GROUP;\r
+ }\r
+ \r
\r
public SchemaObject(SchemaObject parent, SimpleType simpleType) {\r
this.parent = parent;\r
return (AttributeGroup)obj;\r
}\r
\r
+ public NamedGroup getModelGroup() {\r
+ if (type != ObjectType.MODEL_GROUP)\r
+ return null;\r
+ return (NamedGroup)obj;\r
+ }\r
+ \r
public SchemaObject getParent() {\r
return parent;\r
}\r
else\r
return ((AttributeGroupRef)obj).getRef().getLocalPart();\r
case COMPLEX_TYPE:\r
+ if (rename != null)\r
+ return rename.getName();\r
return ((ComplexType)obj).getName();\r
case ELEMENT:\r
+ if (rename != null)\r
+ return rename.getName();\r
return ((Element)obj).getName();\r
case SIMPLE_TYPE:\r
return ((SimpleType)obj).getName();\r