]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaConversionBase.java
XML Elements are exported in the original order (if order is stored during import)
[simantics/interop.git] / org.simantics.xml.sax / src / org / simantics / xml / sax / SchemaConversionBase.java
index 600d13fd7dc91e35989375d8f3df4afe86fb63bb..d80f94ce6b03950accf6c3673852826634182b75 100644 (file)
@@ -489,8 +489,9 @@ public abstract class SchemaConversionBase {
                handleExtensionAttributes(complexType);\r
        }\r
        \r
-       protected abstract void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement element, boolean reference, String refName, QName refType);\r
-       protected abstract void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement element, boolean reference, String refName, OpenAttrs ref);\r
+       protected enum RefType{Element,Reference,Type};\r
+       \r
+       protected abstract void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement element, String refName, RefType refType);\r
        protected abstract void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement any);\r
        protected abstract void handle(SchemaObject parent, SchemaElement indicator, List<SchemaElement> elements);\r
        \r
@@ -607,17 +608,20 @@ public abstract class SchemaConversionBase {
                Element localElement = element.getElement();\r
                if (localElement.getName() != null) {\r
                        SchemaObject eObj = elements.get(localElement); // FIXME: handleIndicator should be refactored, not this methdof must be overridden in JavaGenerator to handle renaming of Elements properly\r
-                       String refName = eObj.getName();//localElement.getName();\r
+                       //String refName = eObj.getName();//localElement.getName();\r
                        QName refType = localElement.getType();\r
                        if (refType != null)\r
-                               handleIndicator(parent, indicator, element, false, refName, refType);\r
+                               //handleIndicator(parent, indicator, element, false, refName, refType);\r
+                               handleIndicator(parent, indicator, element, null, RefType.Type);\r
                        else {\r
                                handleElement(eObj);\r
-                               handleIndicator(parent, indicator, element, false, refName, localElement);\r
+                               //handleIndicator(parent, indicator, element, false, refName, localElement);\r
+                               handleIndicator(parent, indicator, element, null, RefType.Element);\r
                        }\r
                } else if (localElement.getRef() != null) {\r
-                       QName refType = localElement.getRef();\r
-                       handleIndicator(parent, indicator,element, true, refType.getLocalPart(), refType);\r
+                       //QName refType = localElement.getRef();\r
+                       //handleIndicator(parent, indicator,element, true, refType.getLocalPart(), refType);\r
+                       handleIndicator(parent, indicator,element, null, RefType.Reference);\r
                }\r
        }\r
        \r