source: DCWoRMS/trunk/src/test/debb2dcworms/debb2dcworms.xsd @ 841

Revision 841, 3.5 KB checked in by wojtekp, 12 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:sequence>
32                                        <xs:element name="resources" type="resourceType" minOccurs="0" maxOccurs="unbounded"></xs:element>
33                                </xs:sequence>
34                        </xs:extension>
35                </xs:complexContent>
36        </xs:complexType>
37       
38        <xs:complexType name="resourceType">
39                <xs:sequence>
40                        <xs:element name="class" type="xs:string" minOccurs="1"></xs:element>
41                        <xs:element name="type" type="xs:string" minOccurs="0"></xs:element>
42                        <xs:element name="name" type="xs:string" minOccurs="0" maxOccurs="unbounded"></xs:element>
43                </xs:sequence>
44        </xs:complexType>
45       
46                <xs:complexType name="parameterType">
47                <xs:annotation>
48                        <xs:documentation>Parameter of resource. Allows defining additional resource parameters.
49                        Contains a list of parameter values or a list of key-value pairs.
50                        Attribute : name - denotes parameter name</xs:documentation>
51                </xs:annotation>
52                <xs:choice>
53                        <xs:element name="value" type="stringValueWithUnitType" minOccurs="0" maxOccurs="unbounded"/>
54                        <xs:sequence>
55                                <xs:element name="property" minOccurs="0" maxOccurs="unbounded">
56                                        <xs:complexType>
57                                                <xs:sequence>
58                                                        <xs:element name="value" type="stringValueWithUnitType" minOccurs="0" maxOccurs="unbounded"/>
59                                                </xs:sequence>
60                                                <xs:attribute name="name" type="xs:string" use="required"/>
61                                        </xs:complexType>
62                                </xs:element>
63                        </xs:sequence>
64                </xs:choice>
65                <xs:attribute name="name" type="xs:string" use="required"/>
66        </xs:complexType>
67       
68        <xs:complexType name="stringValueWithUnitType">
69                <xs:simpleContent>
70                        <xs:extension base="xs:string">
71                                <xs:attribute name="unit" type="xs:string" use="optional"/>
72                        </xs:extension>
73                </xs:simpleContent>     
74        </xs:complexType>
75       
76        <xs:complexType name="doubleValueWithUnitType">
77                <xs:simpleContent>
78                        <xs:extension base="xs:double">
79                                <xs:attribute name="unit" type="xs:string" use="optional"/>
80                        </xs:extension>
81                </xs:simpleContent>     
82        </xs:complexType>
83       
84        <xs:element name="plugins">
85                <xs:annotation>
86                        <xs:documentation>Schema describing additional data required to create DCWoRMS schema</xs:documentation>
87                </xs:annotation>
88                <xs:complexType>
89                        <xs:sequence>
90                                <xs:element name="timeEstimationPlugin" type="timeEstimationPluginType" minOccurs="0"></xs:element>
91                                <xs:element name="schedulingPlugin" type="schedulingPluginType" minOccurs="0" maxOccurs="unbounded"></xs:element>
92                                <xs:element name="energyEstimationPlugin" type="energyEstimationPluginType" minOccurs="0" maxOccurs="unbounded"></xs:element>
93                        </xs:sequence>
94                </xs:complexType>
95        </xs:element>
96</xs:schema>
Note: See TracBrowser for help on using the repository browser.