Schema Name: 510-count-v5-0.xsd
Target Namespace: urn:oasis:names:tc:evs:schema:eml
Collapse XSD Schema Code:

<!--
  EML 510 Schema - Count

  History: 4.0 Edited by Paul Spencer (Boynings Consulting) 2005/2006
                - major release revision

           5.0 Edited by Paul Spencer (Boynings) 2007-01-13
               Edited by David RR Webber (OVS) 2007-02-11
               - added optional VoteType attribute to totalling for rejected and uncounted totalling
               - added counters for cast, read, provisional and totalcounted - (need per NIST)
               - Category added to VoteGroup/Selection
           5.0 Edited by David RR Webber 2007-05-25
               - Added support for Count metrics
           5.0 Edited by David RR Webber 2007-05-29
               - Added Count metrics to TotalVotes level in structure
  -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:tc:evs:schema:eml" targetNamespace="urn:oasis:names:tc:evs:schema:eml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="5.0" id="eml-510">
	<xs:include schemaLocation="emlcore-v5-0.xsd"/>
	<xs:element name="EML">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EMLstructure">
					<xs:sequence>
						<xs:element ref="Count"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
		<xs:unique name="DisplayOrder">
			<xs:selector xpath=".//*"/>
			<xs:field xpath="@DisplayOrder"/>
		</xs:unique>
	</xs:element>
	<xs:element name="Count">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="EventIdentifier"/>
				<xs:element name="Election" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="ElectionIdentifier"/>
							<xs:element name="Contests">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Contest" maxOccurs="unbounded">
											<xs:complexType>
												<xs:sequence>
													<xs:element ref="ContestIdentifier"/>
													<xs:element ref="CountQualifier" minOccurs="0"/>
													<xs:element ref="CountingAlgorithm" minOccurs="0"/>
													<xs:element ref="NumberOfPositions" minOccurs="0"/>
													<xs:choice>
														<xs:sequence>
															<xs:element name="TotalVotes">
																<xs:complexType>
																	<xs:sequence>
																	<xs:element ref="CountMetric" minOccurs="0" maxOccurs="unbounded"/>
																		<xs:group ref="VoteGroup"/>
																	</xs:sequence>
																</xs:complexType>
															</xs:element>
															<xs:element ref="ReportingUnitVotes" minOccurs="0" maxOccurs="unbounded"/>
														</xs:sequence>
														<xs:element ref="ReportingUnitVotes"/>
													</xs:choice>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				<xs:element ref="AuditInformation" minOccurs="0"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ReportingUnitVotes">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ReportingUnitIdentifier"/>
				<xs:element ref="CountMetric" minOccurs="0" maxOccurs="unbounded"/>
				<xs:group ref="VoteGroup"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:group name="VoteGroup">
		<xs:sequence>
			<xs:element name="Selection" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:choice>
							<xs:sequence>
								<xs:element ref="Candidate"/>
								<xs:element ref="AffiliationIdentifier" minOccurs="0"/>
							</xs:sequence>
							<xs:sequence>
								<xs:element ref="AffiliationIdentifier"/>
								<xs:element ref="Candidate" minOccurs="0"/>
							</xs:sequence>
							<xs:element ref="ReferendumOptionIdentifier"/>
						</xs:choice>
						<xs:element name="ValidVotes" type="xs:nonNegativeInteger"/>
						<xs:element ref="CountMetric" minOccurs="0" maxOccurs="unbounded"/>
					</xs:sequence>
					<xs:attribute name="Value" type="VotingValueType" use="optional"/>
					<xs:attribute name="Category" type="xs:token" use="optional"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Cast" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="Read" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="TotalCounted" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="Provisionals" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="Abstentions" type="xs:nonNegativeInteger" minOccurs="0"/>
			<xs:element name="RejectedVotes" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:nonNegativeInteger">
							<xs:attribute name="Reason" type="xs:token" use="optional"/>
							<xs:attribute name="ReasonCode" type="xs:token" use="required"/>
							<xs:attribute name="VoteType" type="xs:token" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="UncountedVotes" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:nonNegativeInteger">
							<xs:attribute name="Reason" type="xs:token" use="optional"/>
							<xs:attribute name="ReasonCode" type="xs:token" use="required"/>
							<xs:attribute name="VoteType" type="xs:token" use="optional"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:group>
</xs:schema>
Collapse Elements:
Collapse Groups:
Collapse Comments:
blog comments powered by Disqus