X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.xml.sax%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fdata%2FXmlDataConverter.java;fp=org.simantics.xml.sax%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fdata%2FXmlDataConverter.java;h=ce38d5ed28a0440e622c2a70c00a992ff2551e70;hb=3474f080188aca472256339b9c3458bac3dd6b82;hp=dfd1d6e059d2b2ad3d63ee02e5f8a064183f505e;hpb=070e46f1fba569c5f5cb70fba5681ffafcb88088;p=simantics%2Finterop.git diff --git a/org.simantics.xml.sax/src/org/simantics/xml/data/XmlDataConverter.java b/org.simantics.xml.sax/src/org/simantics/xml/data/XmlDataConverter.java index dfd1d6e..ce38d5e 100644 --- a/org.simantics.xml.sax/src/org/simantics/xml/data/XmlDataConverter.java +++ b/org.simantics.xml.sax/src/org/simantics/xml/data/XmlDataConverter.java @@ -174,6 +174,8 @@ public class XmlDataConverter { } else { schemaElement = elementMap.get(s).get(elementName); } + if (elementName.equals("CanvasLayers.TracingLayer") || elementName.equals("Layer")) + System.out.println(); Element parentElement = elementStack.peek(); boolean newElement = false; @@ -190,7 +192,7 @@ public class XmlDataConverter { } if (schemaElement == null) { - LocalElement localElement = null; + //QName type = null; if (elementStack.isEmpty()) { schemaElement = new TopLevelElement(); @@ -207,33 +209,31 @@ public class XmlDataConverter { schemaElement = new TopLevelElement(); s.getSimpleTypeOrComplexTypeOrGroup().add(schemaElement); //type = new QName(SchemaConversionBase.SCHEMA_NS,"element"); - localElement = new LocalElement(); - localElement.setRef(new QName(parseElement.getName().getNamespaceURI(), elementName)); + // } } schemaElement.setName(elementName); - elementNsMap.put(schemaElement, currentNS); -// if (sameNameSpace) { -// schemaElement.setType(new QName(parseElement.getName().getNamespaceURI(),elementName)); -// } else { -// schemaElement.setType(new QName(parseElement.getName().getNamespaceURI(), elementName)); -// } - if (!elementStack.isEmpty()) { - ComplexType complexType = parentElement.getComplexType(); - ExplicitGroup choice = complexType.getChoice(); - if (choice == null) { - choice = new ExplicitGroup(); - complexType.setChoice(choice); - choice.setMaxOccurs("unbounded"); - } - addElement(choice, new QName(SchemaConversionBase.SCHEMA_NS,"element"), localElement); - } + elementNsMap.put(schemaElement, currentNS); elementMap.get(s).put(elementName, schemaElement); newElement = true; } + if (parentElement != null) { + ComplexType complexType = parentElement.getComplexType(); + ExplicitGroup choice = complexType.getChoice(); + if (choice == null) { + choice = new ExplicitGroup(); + complexType.setChoice(choice); + choice.setMaxOccurs("unbounded"); + } + LocalElement localElement = new LocalElement(); + localElement.setRef(new QName(parseElement.getName().getNamespaceURI(), elementName)); + + addElement(choice, new QName(SchemaConversionBase.SCHEMA_NS,"element"), localElement); + } + elementStack.push(schemaElement); Iterator attributeIterator = parseElement.getAttributes();