source: DCWoRMS/branches/coolemall/src/test/debb2dcworms/debb2dcworms.xsd @ 1218

Revision 1218, 3.6 KB checked in by wojtekp, 11 years ago (diff)
  • Property svn:mime-type set to text/plain
Line 
1<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
2        elementFormDefault="qualified" attributeFormDefault="unqualified">
3       
4        <xs:complexType name="pluginType">
5                <xs:sequence>
6                        <xs:element name="name" type="xs:string"></xs:element>
7                        <xs:element name="parameter" type="parameterType" minOccurs="0" maxOccurs="unbounded"></xs:element>
8                </xs:sequence>
9        </xs:complexType>
10       
11        <xs:complexType name="timeEstimationPluginType">
12                <xs:complexContent>
13                        <xs:extension base="pluginType"/>
14                </xs:complexContent>   
15        </xs:complexType>
16       
17        <xs:complexType name="schedulingPluginType">
18                <xs:complexContent>
19                        <xs:extension base="pluginType">
20                                <xs:sequence>
21                                        <xs:element name="frequency" type="doubleValueWithUnitType" minOccurs="0" maxOccurs="1"></xs:element>
22                                        <xs:element name="resources" type="resourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
23                                </xs:sequence>
24                        </xs:extension>
25                </xs:complexContent>
26        </xs:complexType>
27       
28        <xs:complexType name="energyEstimationPluginType">
29                <xs:complexContent>
30                        <xs:extension base="pluginType">
31                                <xs:choice>
32                                        <xs:element name="resources" type="resourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
33                                        <xs:element name="devices" type="resourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
34                                </xs:choice>
35                        </xs:extension>
36                </xs:complexContent>
37        </xs:complexType>
38       
39        <xs:complexType name="resourceType">
40                <xs:sequence>
41                        <xs:element name="class" type="xs:string" minOccurs="1"></xs:element>
42                        <xs:element name="type" type="xs:string" minOccurs="0"></xs:element>
43                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="unbounded"></xs:element>
44                </xs:sequence>
45        </xs:complexType>
46       
47        <xs:complexType name="parameterType">
48                <xs:annotation>
49                        <xs:documentation>Parameter of resource. Allows defining additional resource parameters.
50                        Contains a list of parameter values or a list of key-value pairs.
51                        Attribute : name - denotes parameter name</xs:documentation>
52                </xs:annotation>
53                <xs:choice>
54                        <xs:element name="value" type="stringValueWithUnitType" minOccurs="0" maxOccurs="unbounded"/>
55                        <xs:sequence>
56                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
57                                        <xs:complexType>
58                                                <xs:sequence>
59                                                        <xs:element name="value" type="stringValueWithUnitType" minOccurs="0" maxOccurs="unbounded"/>
60                                                </xs:sequence>
61                                                <xs:attribute name="name" type="xs:string" use="required"/>
62                                        </xs:complexType>
63                                </xs:element>
64                        </xs:sequence>
65                </xs:choice>
66                <xs:attribute name="name" type="xs:string" use="required"/>
67        </xs:complexType>
68       
69        <xs:complexType name="stringValueWithUnitType">
70                <xs:simpleContent>
71                        <xs:extension base="xs:string">
72                                <xs:attribute name="unit" type="xs:string" use="optional"/>
73                        </xs:extension>
74                </xs:simpleContent>     
75        </xs:complexType>
76       
77        <xs:complexType name="doubleValueWithUnitType">
78                <xs:simpleContent>
79                        <xs:extension base="xs:double">
80                                <xs:attribute name="unit" type="xs:string" use="optional"/>
81                        </xs:extension>
82                </xs:simpleContent>     
83        </xs:complexType>
84       
85        <xs:element name="plugins">
86                <xs:annotation>
87                        <xs:documentation>Schema describing additional data required to create DCWoRMS schema</xs:documentation>
88                </xs:annotation>
89                <xs:complexType>
90                        <xs:sequence>
91                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0"></xs:element>
92                                <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="unbounded"></xs:element>
93                                <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="unbounded"></xs:element>
94                        </xs:sequence>
95                </xs:complexType>
96        </xs:element>
97</xs:schema>
Note: See TracBrowser for help on using the repository browser.