1<?xml version="1.0" encoding="UTF-8"?>
2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3  <xs:complexType name="parameterType">
4    <xs:annotation>
5      <xs:documentation>A generic named parameter</xs:documentation>
6    </xs:annotation>
7    <xs:complexContent>
8      <xs:extension base="xs:anyType">
9        <xs:attribute name="id" type="xs:ID" use="optional">
10          <xs:annotation>
11            <xs:documentation>ID of the parameter.</xs:documentation>
12          </xs:annotation>
13        </xs:attribute>
14        <xs:attribute name="name" type="xs:string" use="required">
15          <xs:annotation>
16            <xs:documentation>The name of the parameter.</xs:documentation>
17          </xs:annotation>
18        </xs:attribute>
19        <xs:attribute name="type" type="xs:string" use="optional"/>
20        <xs:attribute name="unit" type="xs:string" use="optional"/>
21        <xs:attribute name="value" type="xs:anySimpleType" use="optional"/>
22      </xs:extension>
23    </xs:complexContent>
24  </xs:complexType>
25  <xs:complexType name="projectType">
26    <xs:annotation>
27      <xs:documentation>Define a project.</xs:documentation>
28    </xs:annotation>
29    <xs:sequence>
30      <xs:element name="application" type="applicationType" minOccurs="0"/>
31      <xs:element name="summary" minOccurs="0"/>
32    </xs:sequence>
33    <xs:attribute name="id" type="xs:string" use="required">
34      <xs:annotation>
35        <xs:documentation>Project title</xs:documentation>
36      </xs:annotation>
37    </xs:attribute>
38    <xs:attribute name="series" type="xs:string" use="required">
39      <xs:annotation>
40        <xs:documentation>Project series number.</xs:documentation>
41      </xs:annotation>
42    </xs:attribute>
43  </xs:complexType>
44  <xs:complexType name="randomType">
45    <xs:attribute name="parallel" default="true">
46      <xs:simpleType>
47        <xs:restriction base="xs:NMTOKEN">
48          <xs:enumeration value="true"/>
49          <xs:enumeration value="false"/>
50        </xs:restriction>
51      </xs:simpleType>
52    </xs:attribute>
53    <xs:attribute name="seed" type="xs:string" default="-1"/>
54  </xs:complexType>
55  <xs:complexType name="hdfFileType">
56    <xs:annotation>
57      <xs:documentation>Define a hdf5 file</xs:documentation>
58    </xs:annotation>
59  </xs:complexType>
60  <xs:complexType name="arrayDataType">
61    <xs:simpleContent>
62      <xs:extension base="xs:string">
63        <xs:attribute name="id" type="xs:string">
64        </xs:attribute>
65        <xs:attribute name="type" default="Array">
66          <xs:simpleType>
67            <xs:restriction base="xs:NMTOKEN">
68              <xs:enumeration value="Array"/>
69              <xs:enumeration value="no"/>
70            </xs:restriction>
71          </xs:simpleType>
72        </xs:attribute>
73        <xs:attribute name="size" type="xs:integer" />
74      </xs:extension>
75    </xs:simpleContent>
76  </xs:complexType>
77  <xs:complexType name="sparseArrayType">
78    <xs:sequence>
79      <xs:element name="lambda" type="sparseElementType"
80        minOccurs="1" maxOccurs="unbounded">
81      </xs:element>
82    </xs:sequence>
83    <xs:attribute name="type" type="xs:string"></xs:attribute>
84    <xs:attribute name="id" type="xs:string"></xs:attribute>
85    <xs:attribute name="offset" type="xs:integer" use="optional" default="1"></xs:attribute>
86    <xs:attribute name="diagonal" default="no">
87      <xs:simpleType>
88        <xs:restriction base="xs:NMTOKEN">
89          <xs:enumeration value="yes"/>
90          <xs:enumeration value="no"/>
91        </xs:restriction>
92      </xs:simpleType>
93    </xs:attribute>
94    <xs:attribute name="sameBlocksForGroup" default="no">
95      <xs:simpleType>
96        <xs:restriction base="xs:NMTOKEN">
97          <xs:enumeration value="yes"/>
98          <xs:enumeration value="no"/>
99        </xs:restriction>
100      </xs:simpleType>
101    </xs:attribute>
102  </xs:complexType>
103  <xs:complexType name="sparseElementType">
104    <xs:annotation>
105      <xs:documentation>Define an element of a spare matrix M(i,j)</xs:documentation>
106    </xs:annotation>
107    <xs:attribute name="i" type="xs:integer" use="required"/>
108    <xs:attribute name="j" type="xs:integer" use="optional"/>
109    <xs:attribute name="c" type="xs:double" use="required"/>
110  </xs:complexType>
111</xs:schema>
112