-
Notifications
You must be signed in to change notification settings - Fork 14
/
ModelUnit.dtd
137 lines (108 loc) · 3.57 KB
/
ModelUnit.dtd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!--
FILE : ModelUnit.dtd
CREATED : 2018
LAST MODIFIED : 2020
AUTHOR : Agricultural Models Exchange Initiative
DESCRIPTION : This document contains a DTD corresponding to the syntax rules
defined in the Crop2ML model unit's Specification for Crop2ML 1.1. This
specification is available at
https://raw.githubusercontent.com/AgriculturalModelExchangeInitiative/crop2ml/master/ModelUnit.dtd
COPYRIGHT : (2018).
-->
<!ELEMENT ModelUnit (Description,Inputs,Outputs,Initialization?,Function*, Algorithm,Parametersets,Testsets)>
<!ATTLIST ModelUnit
name CDATA #REQUIRED
modelid CDATA #REQUIRED
timestep CDATA #IMPLIED
version CDATA #REQUIRED>
<!ELEMENT Description (Title,Authors,Institution,URI?,Reference?,ExtendedDescription, ShortDescription?)>
<!ATTLIST Description>
<!ELEMENT Inputs (Input)+>
<!ATTLIST Inputs>
<!ELEMENT Outputs (Output*)>
<!ATTLIST Outputs>
<!ELEMENT Algorithm (#PCDATA)>
<!ATTLIST Algorithm
language CDATA #REQUIRED
platform CDATA #IMPLIED
filename CDATA #IMPLIED
function CDATA #IMPLIED>
<!ELEMENT Parametersets (Parameterset*)>
<!ATTLIST Parametersets>
<!ELEMENT Testsets (Testset*)>
<!ATTLIST Testsets>
<!ELEMENT Function (#PCDATA)>
<!ATTLIST Function
name CDATA #REQUIRED
language CDATA #REQUIRED
filename CDATA #IMPLIED
type (internal|external) #REQUIRED
description CDATA #IMPLIED>
<!ELEMENT Initialization (#PCDATA)>
<!ATTLIST Initialization
name CDATA #REQUIRED
language CDATA #REQUIRED
filename CDATA #IMPLIED>
<!ELEMENT Title (#PCDATA)>
<!ATTLIST Title>
<!ELEMENT Authors (#PCDATA)>
<!ATTLIST Authors>
<!ELEMENT Institution (#PCDATA)>
<!ATTLIST Institution>
<!ELEMENT URI (#PCDATA)>
<!ATTLIST URI>
<!ELEMENT Reference (#PCDATA)>
<!ATTLIST Reference>
<!ELEMENT ExtendedDescription (#PCDATA)>
<!ATTLIST ExtendedDescription>
<!ELEMENT ShortDescription (#PCDATA)>
<!ATTLIST ShortDescription>
<!ELEMENT Input EMPTY>
<!ATTLIST Input
name NMTOKEN #REQUIRED
datatype (CHAR|STRING|INT|DOUBLE|BOOLEAN|DATE|CHARARRAY|STRINGARRAY|INTARRAY|DOUBLEARRAY|BOOLEANARRAY|DATEARRAY|CHARLIST|STRINGLIST|INTLIST|DOUBLELIST|BOOLEANLIST|DATELIST) #REQUIRED
description CDATA #REQUIRED
default CDATA #IMPLIED
len CDATA #IMPLIED
max CDATA #IMPLIED
min CDATA #IMPLIED
inputtype (variable|parameter) #REQUIRED
parametercategory (constant|species|genotypic|soil|private) #IMPLIED
variablecategory (state|rate|auxiliary|exogenous) #IMPLIED
unit CDATA #REQUIRED
uri CDATA #IMPLIED>
<!ELEMENT Output EMPTY>
<!ATTLIST Output
name NMTOKEN #REQUIRED
datatype (CHAR|STRING|INT|DOUBLE|BOOLEAN|DATE|CHARARRAY|STRINGARRAY|INTARRAY|DOUBLEARRAY|BOOLEANARRAY|DATEARRAY|CHARLIST|STRINGLIST|INTLIST|DOUBLELIST|BOOLEANLIST|DATELIST) #REQUIRED
description CDATA #REQUIRED
len CDATA #IMPLIED
max CDATA #IMPLIED
min CDATA #IMPLIED
variablecategory (state|rate|auxiliary|exogenous) #IMPLIED
unit CDATA #REQUIRED
uri CDATA #IMPLIED>
<!ELEMENT Parameterset (Param*)>
<!ATTLIST Parameterset
description CDATA #REQUIRED
name NMTOKEN #REQUIRED
uri CDATA #IMPLIED>
<!ELEMENT Testset (Test*)>
<!ATTLIST Testset
description CDATA #REQUIRED
name CDATA #REQUIRED
parameterset NMTOKEN #REQUIRED
uri CDATA #IMPLIED>
<!ELEMENT Test (InputValue*, OutputValue+)>
<!ATTLIST Test
description CDATA #IMPLIED
name CDATA #REQUIRED
uri CDATA #IMPLIED>
<!ELEMENT Param (#PCDATA) >
<!ATTLIST Param name CDATA #REQUIRED >
<!ELEMENT InputValue (#PCDATA) >
<!ATTLIST InputValue name CDATA #REQUIRED >
<!ELEMENT OutputValue (#PCDATA) >
<!ATTLIST OutputValue name CDATA #REQUIRED >
<!ATTLIST OutputValue description CDATA #IMPLIED >
<!ATTLIST OutputValue precision CDATA #IMPLIED >