<!--
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>
|