import org.w3._2001.xmlschema.LocalComplexType;\r
import org.w3._2001.xmlschema.LocalSimpleType;\r
import org.w3._2001.xmlschema.NamedAttributeGroup;\r
-import org.w3._2001.xmlschema.OpenAttrs;\r
import org.w3._2001.xmlschema.Restriction;\r
import org.w3._2001.xmlschema.Schema;\r
import org.w3._2001.xmlschema.SimpleType;\r
String commentTag = "//";\r
\r
Schema schema;\r
- String ontologyName;\r
+ String ontologyUri;\r
String className;\r
\r
SchemaConverter converter;\r
public void createOntology(Schema schema, String ontologyName, String className, SchemaConverter converter) throws FileNotFoundException {\r
this.schema = schema;\r
this.converter = converter;\r
- this.ontologyName = ontologyName;\r
+ this.ontologyUri = ontologyName;\r
this.className = className;\r
\r
// for (OpenAttrs attrs : schema.getIncludeOrImportOrRedefine()) {\r
}\r
\r
protected void handle(Schema schema) {\r
- String parts[] = ontologyName.split("/");\r
+ String parts[] = ontologyUri.split("/");\r
String name = parts[parts.length-1];\r
ontRoot = name.substring(0, Math.min(3, name.length())).toUpperCase();\r
- String version = schema.getVersion();\r
- if (version == null)\r
- version = "1.0";\r
\r
- \r
for (String s : converter.getHeader()) {\r
writer.println(commentTag + " " + s); \r
}\r
writer.println("L0 = <http://www.simantics.org/Layer0-1.1>");\r
writer.println("XML = <http://www.simantics.org/XML-1.0>");\r
writer.println();\r
- writer.println(ontRoot + " = <" + ontologyName +"-"+ version+"> : L0.Ontology");\r
+ writer.println(ontRoot + " = <" + ontologyUri +"> : L0.Ontology");\r
writer.println(" @L0.new");\r
writer.println(" L0.HasResourceClass \"" + className +"\"");\r
writer.println();\r
writer.println();\r
\r
ontRoot += ".";\r
- // TODO : these could be created in separate base ontology.\r
-// writer.println(commentTag + " Built-in types");\r
-// writer.println();\r
-// writer.println(ontRoot+"XML : L0.Library");\r
-// writer.println(ontRoot+"XML.hasAttribute <R L0.HasProperty");\r
-// writer.println(ontRoot+"XML.hasID <R "+ontRoot+"XML.hasAttribute : L0.FunctionalRelation");\r
-// writer.println(" --> L0.String");\r
-// writer.println(ontRoot+"XML.ComplexType <T L0.Entity");\r
-// writer.println(ontRoot+"XML.hasComplexType <R L0.IsComposedOf");\r
-// writer.println(ontRoot+"XML.AttributeGroup <T L0.Entity");\r
-// writer.println(ontRoot+"XML.Element <T L0.Entity");\r
-// writer.println(ontRoot+"XML.hasElement <R L0.IsComposedOf");\r
-// writer.println(ontRoot+"XML.ElementList <T L0.List");\r
-// writer.println(ontRoot+"XML.hasElementList <R L0.IsComposedOf");\r
-// writer.println(ontRoot+"XML.hasOriginalElementList <R " + ontRoot+"XML.hasElementList");\r
-// writer.println(ontRoot+"XML.hasReference <R L0.IsRelatedTo");\r
-// writer.println(ontRoot+"XML.hasExternalReference <R L0.IsRelatedTo");\r
-// writer.println(" L0.InverseOf " + ontRoot+"XML.externalReferenceOf <R L0.IsRelatedTo");\r
-// writer.println();\r
writer.println(ontRoot+"ComplexTypes : L0.Library");\r
writer.println(ontRoot+"AttributeGroups : L0.Library");\r
writer.println();\r
return ontType;\r
else if (isComplexTypeRef(qtype.getLocalPart()))\r
return ontRoot+getComplexTypePrefix()+qtype.getLocalPart();\r
+ else if (isSimpleTypeRef(qtype.getLocalPart()))\r
+ return ontRoot+qtype.getLocalPart();\r
else if (isElementRef(qtype.getLocalPart()))\r
return ontRoot+qtype.getLocalPart();\r
else if (qtype.getPrefix() != null && qtype.getPrefix().length() > 0) {\r
\r
\r
@Override\r
- //protected void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement element, boolean reference, String refName, QName refType) {\r
protected void handleIndicator(SchemaObject parent, SchemaElement indicator, SchemaElement element, String refName, RefType refType) {\r
if (refType != refType.Element) {\r
QName referenceType = null;\r
@Override\r
protected void handleComplexType(SchemaObject topLevelComplexType) {\r
String name = getName(topLevelComplexType);\r
- if (name.contains("Pcurve"))\r
- System.out.println();\r
-// if (parent != null)\r
-// name = parent +"_"+name;\r
+// if (topLevelComplexType.getName().equals("Reference"))\r
+// System.out.println();\r
\r
String relationName = ontRoot+getName(topLevelComplexType,"has");//ontRoot+"has"+name;\r
\r