]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.services/adapters.xsd
Search-field in Help->Contents Fix.
[simantics/platform.git] / bundles / org.simantics.db.services / adapters.xsd
1 <?xml version='1.0' encoding='UTF-8'?>\r
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">\r
3 \r
4 <xs:element name="adapters" type="Adapters" />\r
5 \r
6 <xs:complexType name="Adapters">\r
7   <xs:sequence>\r
8     <xs:choice minOccurs="0" maxOccurs="unbounded">      \r
9       <xs:element name="target" type="Target"/>\r
10       <xs:element name="installer" type="Installer"/>\r
11     </xs:choice>\r
12   </xs:sequence>\r
13 </xs:complexType>\r
14   \r
15 <xs:complexType name="Target">  \r
16   <xs:sequence>\r
17     <xs:choice minOccurs="0" maxOccurs="unbounded">      \r
18       <xs:element name="baseType" type="BaseType"/>\r
19       <xs:element name="type" type="Type"/>\r
20       <xs:element name="adapter" type="Adapter"/>\r
21       <xs:element name="resource" type="Type"/>\r
22     </xs:choice>\r
23   </xs:sequence>\r
24   <xs:attribute name="interface" type="ClassName"/>\r
25 </xs:complexType>\r
26   \r
27 <xs:complexType name="BaseType">\r
28   <xs:attribute name="uri" type="xs:anyURI"/>\r
29 </xs:complexType>  \r
30   \r
31 <xs:complexType name="Type">\r
32   <xs:sequence>\r
33     <xs:choice minOccurs="0" maxOccurs="unbounded">      \r
34       <xs:element name="this" type="Empty"/>\r
35       <xs:element name="graph" type="Empty"/>\r
36       <xs:element name="bundle" type="xs:string"/>\r
37       <xs:element name="related" type="RelatedResource"/>\r
38       <xs:element name="single" type="RelatedResource"/>\r
39       <xs:element name="atMostOne" type="RelatedResource"/>\r
40       <xs:element name="orderedSet" type="RelatedResource"/>\r
41       <xs:element name="string" type="xs:string"/>      \r
42     </xs:choice>\r
43   </xs:sequence>  \r
44   <xs:attribute name="uri" type="xs:anyURI"/>\r
45   <xs:attribute name="class" type="ClassName"/>\r
46   <xs:attribute name="constructor" type="xs:string"/>\r
47 </xs:complexType> \r
48 \r
49         <xs:complexType name="Adapter">\r
50                 <xs:attribute name="uri" type="xs:anyURI" />\r
51                 <xs:attribute name="adapterClass" type="ClassName" />\r
52                 <xs:attribute name="contextClass" type="ClassName"></xs:attribute>\r
53         </xs:complexType>\r
54 \r
55         <!--\r
56 <xs:complexType name="Resource">\r
57   <xs:attribute name="uri" type="xs:anyURI"/>\r
58   <xs:attribute name="class" type="ClassName"/>\r
59 </xs:complexType>\r
60 -->\r
61 \r
62 <xs:complexType name="Installer">  \r
63   <xs:attribute name="class" type="ClassName"/>\r
64 </xs:complexType>\r
65 \r
66 <xs:complexType name="RelatedResource">\r
67   <xs:attribute name="uri" type="xs:anyURI"/>\r
68   <xs:attribute name="to" type="ClassName" use="optional"/>\r
69 </xs:complexType>\r
70 \r
71 <xs:complexType name="Empty">\r
72 </xs:complexType> \r
73   \r
74 <xs:simpleType name="ClassName">\r
75   <xs:restriction base="xs:string">\r
76     <xs:pattern value="([a-zA-Z_][a-zA-Z_0-9]*[.])*[a-zA-Z_][a-zA-Z_0-9]*"/>\r
77   </xs:restriction>\r
78 </xs:simpleType>\r
79 \r
80 </xs:schema>\r