]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.services/adapters.xsd
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.db.services / adapters.xsd
diff --git a/bundles/org.simantics.db.services/adapters.xsd b/bundles/org.simantics.db.services/adapters.xsd
new file mode 100644 (file)
index 0000000..abdfcde
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version='1.0' encoding='UTF-8'?>\r
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">\r
+\r
+<xs:element name="adapters" type="Adapters" />\r
+\r
+<xs:complexType name="Adapters">\r
+  <xs:sequence>\r
+    <xs:choice minOccurs="0" maxOccurs="unbounded">      \r
+      <xs:element name="target" type="Target"/>\r
+      <xs:element name="installer" type="Installer"/>\r
+    </xs:choice>\r
+  </xs:sequence>\r
+</xs:complexType>\r
+  \r
+<xs:complexType name="Target">  \r
+  <xs:sequence>\r
+    <xs:choice minOccurs="0" maxOccurs="unbounded">      \r
+      <xs:element name="baseType" type="BaseType"/>\r
+      <xs:element name="type" type="Type"/>\r
+      <xs:element name="adapter" type="Adapter"/>\r
+      <xs:element name="resource" type="Type"/>\r
+    </xs:choice>\r
+  </xs:sequence>\r
+  <xs:attribute name="interface" type="ClassName"/>\r
+</xs:complexType>\r
+  \r
+<xs:complexType name="BaseType">\r
+  <xs:attribute name="uri" type="xs:anyURI"/>\r
+</xs:complexType>  \r
+  \r
+<xs:complexType name="Type">\r
+  <xs:sequence>\r
+    <xs:choice minOccurs="0" maxOccurs="unbounded">      \r
+      <xs:element name="this" type="Empty"/>\r
+      <xs:element name="graph" type="Empty"/>\r
+      <xs:element name="bundle" type="xs:string"/>\r
+      <xs:element name="related" type="RelatedResource"/>\r
+      <xs:element name="single" type="RelatedResource"/>\r
+      <xs:element name="atMostOne" type="RelatedResource"/>\r
+      <xs:element name="orderedSet" type="RelatedResource"/>\r
+      <xs:element name="string" type="xs:string"/>      \r
+    </xs:choice>\r
+  </xs:sequence>  \r
+  <xs:attribute name="uri" type="xs:anyURI"/>\r
+  <xs:attribute name="class" type="ClassName"/>\r
+  <xs:attribute name="constructor" type="xs:string"/>\r
+</xs:complexType> \r
+\r
+       <xs:complexType name="Adapter">\r
+               <xs:attribute name="uri" type="xs:anyURI" />\r
+               <xs:attribute name="adapterClass" type="ClassName" />\r
+               <xs:attribute name="contextClass" type="ClassName"></xs:attribute>\r
+       </xs:complexType>\r
+\r
+       <!--\r
+<xs:complexType name="Resource">\r
+  <xs:attribute name="uri" type="xs:anyURI"/>\r
+  <xs:attribute name="class" type="ClassName"/>\r
+</xs:complexType>\r
+-->\r
+\r
+<xs:complexType name="Installer">  \r
+  <xs:attribute name="class" type="ClassName"/>\r
+</xs:complexType>\r
+\r
+<xs:complexType name="RelatedResource">\r
+  <xs:attribute name="uri" type="xs:anyURI"/>\r
+  <xs:attribute name="to" type="ClassName" use="optional"/>\r
+</xs:complexType>\r
+\r
+<xs:complexType name="Empty">\r
+</xs:complexType> \r
+  \r
+<xs:simpleType name="ClassName">\r
+  <xs:restriction base="xs:string">\r
+    <xs:pattern value="([a-zA-Z_][a-zA-Z_0-9]*[.])*[a-zA-Z_][a-zA-Z_0-9]*"/>\r
+  </xs:restriction>\r
+</xs:simpleType>\r
+\r
+</xs:schema>\r