forked from cwulfman/election-definer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
electiondefinition.rnc
109 lines (93 loc) · 3.31 KB
/
electiondefinition.rnc
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
datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes"
grammar {
start = element ElectionDefinition { election-definition-content }
election-definition-content =
element Name { text }
& attribute type { election-types }
& attribute scope { xsd:IDREF }
& element StartDate { text}
& element EndDate { text }
& element CandidateContest { candidate-contest-content } *
& element BallotMeasureContest { ballot-measure-contest-content } *
& element Party { party-content } *
& element ReportingUnit { reporting-unit-content } *
& element ReportingDevice { reporting-device-content } *
& element BallotStyle { ballotstyle-content } *
election-types = "general"|"partisan-primary-closed"|"partisan-primary-open"|"primary"|"runoff"|"special"|"other"
reporting-unit-types = "ballot batch"
|"ballot style area"
|"borough"
|"city"
|"city council"
|"combined precinct"
|"congressional"
|"county"
|"country"
|"county council"
|"district"
|"drop box"
|"judicial"
|"municipality"
|"polling-place"
|"precinct"
|"school"
|"special"
|"split precinct"
|"state"
|"state house"
|"state senate"
|"town"
|"township"
|"utility"
|"village"
|"vote center"
|"ward"
|"water"
|"other"
candidate-contest-content =
attribute id { xsd:ID },
attribute scope { xsd:IDREF },
attribute label { text },
element Candidate { candidate-content } +,
element VoteVariation { text } ?,
element VotesAllowed { text }
ballot-measure-contest-content =
attribute id { xsd:ID },
attribute scope { xsd:IDREF },
attribute label { text },
element description { text }
candidate-content =
attribute id { xsd:ID },
attribute label { text },
attribute party { xsd:IDREF } ?,
element name { name-content } ?
reporting-unit-content =
attribute id {xsd:ID},
attribute type { reporting-unit-types },
attribute label { text },
element Name { name-content }
reporting-device-content =
attribute id { xsd:ID },
attribute label { text },
element DeviceClass {
element Manufacturer { text },
element Model { text },
element Type { text }
},
element SerialNumber { text }
name-content = text
party-content =
attribute id { xsd:ID },
attribute label { text },
element name { text }
ballotstyle-content =
attribute label { text },
element GpUnitIds { gpunit-ids-content },
element Section { section-content } +
gpunit-ids-content =
attribute ids { xsd:IDREFS }
section-content =
element Header { text },
element ContestIds { contest-ids-content } +
contest-ids-content = attribute ids { xsd:IDREFS }
}