--- /dev/null
+L0 = <http://www.simantics.org/Layer0-1.1>\r
+\r
+XML = <http://www.simantics.org/XML-1.0> : L0.Ontology\r
+ @L0.new\r
+ L0.HasResourceClass "org.simantics.xml.sax.ontology.XMLResource"\r
+\r
+\r
+// Built-in types\r
+\r
+XML.hasAttribute <R L0.HasProperty\r
+XML.hasID <R XML.hasAttribute : L0.FunctionalRelation\r
+ --> L0.String\r
+XML.ComplexType <T L0.Entity\r
+XML.hasComplexType <R L0.IsComposedOf\r
+XML.AttributeGroup <T L0.Entity\r
+XML.Element <T L0.Entity\r
+XML.hasElement <R L0.IsComposedOf\r
+XML.ElementList <T L0.List\r
+XML.hasElementList <R L0.IsComposedOf\r
+XML.hasOriginalElementList <R XML.hasElementList\r
+XML.hasReference <R L0.IsRelatedTo\r
+XML.hasExternalReference <R L0.IsRelatedTo\r
+ L0.InverseOf XML.externalReferenceOf <R L0.IsRelatedTo\r
+ \r
+ \r
+XML.DateTime <T L0.Literal\r
+ @L0.assert L0.HasValueType "(Integer,Byte,Byte,Byte,Byte,Byte,Integer)"\r
+ @L0.assert L0.HasDataType ${ year : Integer, month : Byte, date : Byte, hours : Byte, minutes : Byte, seconds : Byte, offset : Integer }\r
+ \r
+XML.Date <T L0.Literal\r
+ @L0.assert L0.HasValueType "(Integer,Byte,Byte,Integer)"\r
+ @L0.assert L0.HasDataType ${ year : Integer, month : Byte, date : Byte, offset : Integer }\r
+\r
+XML.Time <T L0.Literal\r
+ @L0.assert L0.HasValueType "(Byte,Byte,Byte,Integer,)"\r
+ @L0.assert L0.HasDataType ${ hours : Byte, minutes : Byte, seconds : Byte, offset : Integer }\r
+\r