]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.xml.sax/src/org/simantics/xml/sax/SchemaConverter.java
Handling ComplexTypes defined with SimpleContent
[simantics/interop.git] / org.simantics.xml.sax / src / org / simantics / xml / sax / SchemaConverter.java
index 32ae1672baa41dc4ff00b588556c3f03ecb6f9a5..3b2c1a0c42749b6bddf5babe3525924696bfb844 100644 (file)
@@ -102,36 +102,42 @@ public class SchemaConverter {
                header[3] = "Date " + new Date().toString();\r
                \r
                \r
-               String ontologyName = schema.getTargetNamespace();\r
-               if (ontologyName == null) {\r
-                       ontologyName = getSchemaFile().getName();\r
+               String ontologyUri = schema.getTargetNamespace();\r
+               if (ontologyUri == null) {\r
+                       ontologyUri = getSchemaFile().getName();\r
                        \r
-                       int index = ontologyName.lastIndexOf(".");\r
+                       int index = ontologyUri.lastIndexOf(".");\r
                        if (index > 0)\r
-                               ontologyName = ontologyName.substring(0, index);\r
+                               ontologyUri = ontologyUri.substring(0, index);\r
                } \r
-               if (!ontologyName.startsWith("http"))\r
-                       ontologyName = "http://" + ontologyName;\r
-               String parts[] = ontologyName.split("/");\r
+               ontologyUri = ontologyUri.replaceAll(" ", "_");\r
+               String parts[] = ontologyUri.split("/");\r
                String name = parts[parts.length-1];\r
-               //String ontRoot = name.substring(0, Math.min(3, name.length())).toUpperCase();\r
+               name = name.replaceAll("\\.", "_");\r
+               if (!ontologyUri.startsWith("http://"))\r
+                       ontologyUri = "http://" + ontologyUri.replaceAll("/", "_");\r
+               else\r
+                       ontologyUri = "http://" + ontologyUri.substring("http://".length()).replaceAll("/", "_");\r
+               \r
+               String version = schema.getVersion();\r
+               if (version == null)\r
+                       version = "1.0";\r
+               ontologyUri +="-"+ version;\r
 \r
                \r
-               name = name.replaceAll("\\.", "_");\r
-               name = name.replaceAll(" ", "_");\r
                String className = getPluginName() + "." + name;\r
                \r
                if (createPGraph) {\r
                OntologyGenerator ontologyGenerator = new OntologyGenerator(configuration);\r
-               ontologyGenerator.createOntology(schema, ontologyName, className, this);\r
+               ontologyGenerator.createOntology(schema, ontologyUri, className, this);\r
                }\r
                if (createImporter) {\r
                ImporterGenerator importerGenerator = new ImporterGenerator(configuration);\r
-               importerGenerator.createParser(schema, className, this);\r
+               importerGenerator.createParser(schema, ontologyUri, className, this);\r
                }\r
                if (createExporter) {\r
                ExporterGenerator exporterGenerator = new ExporterGenerator(configuration);\r
-               exporterGenerator.createParser(schema, className, this);\r
+               exporterGenerator.createParser(schema, ontologyUri,className, this);\r
                }\r
        }\r
        \r