<!--
EML 340/410/430 Schema - Include
History: 4.0 Edited by Paul Spencer (Boynings Consulting) 2005/2006
- major release revision
5.0 Edited by David RR Webber (OVS) 2007-02-13
- added RotationMethod for issue 2.15
- added ChoiceType for issue 2.15
- added ContestScope (Federal, Local, etc) for issue 2.15
- added ElectionType (can be localized) for issue 2.15
- added ReportingUnit (precinct / district) for NIST issue
- added Partisan attribute to associate party token for NIST issue
- ReportingUnit made repeatable
- Contest made repeatable
5.0 Edited by David RR Webber (OVS) 2007-05-29
- added CountMetric definition for reporting in 510
5.0 Edited by David RR Webber (OVS) 2007-06-29
- removed CountMetric definition, moved to 110
-->
<xs:schema targetNamespace="urn:oasis:names:tc:evs:schema:eml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="5.0" id="eml-410-430-include" xmlns="urn:oasis:names:tc:evs:schema:eml" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="emlcore-v5-0.xsd"/>
<xs:element name="Ballot" type="BallotStructure"/>
<xs:complexType name="BallotsStructure">
<xs:sequence>
<xs:element ref="EventIdentifier"/>
<xs:element name="EventDescription" type="MessagesStructure" minOccurs="0"/>
<xs:element ref="Ballot" maxOccurs="unbounded"/>
<xs:element name="Messages" type="MessagesStructure" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BallotStructure">
<xs:sequence>
<xs:element ref="ReportingUnitIdentifier" minOccurs="0" maxOccurs="unbounded"/>
<xs:choice>
<xs:element ref="BallotIdentifier"/>
<xs:sequence>
<xs:element name="Election" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="ElectionIdentifier"/>
<xs:element name="Description" type="MessagesStructure" minOccurs="0"/>
<xs:element name="Contest" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element ref="ContestIdentifier"/>
<xs:element name="ContestScope" type="xs:token" minOccurs="0"/>
<xs:element name="ElectionType" type="xs:token" minOccurs="0"/>
<xs:element ref="ReportingUnitIdentifier" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="Qualified" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="YesNoType">
<xs:attribute name="Reason" type="xs:token" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="HowToVote" type="MessagesStructure" minOccurs="0"/>
<xs:element name="Rotation" type="YesNoType" minOccurs="0"/>
<xs:element name="RotationMethod" type="xs:token" minOccurs="0"/>
<xs:element ref="VotingMethod" minOccurs="0"/>
<xs:element name="ChoiceType" type="xs:token" minOccurs="0"/>
<xs:element ref="MaxVotes" minOccurs="0"/>
<xs:element ref="MinVotes" minOccurs="0"/>
<xs:element name="MaxWriteIn" type="xs:nonNegativeInteger" minOccurs="0"/>
<xs:element name="Blocked" minOccurs="0">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="YesNoType">
<xs:attribute name="Reason" type="xs:token" use="optional"/>
<xs:attribute name="Channel" type="VotingChannelType" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element ref="BallotChoices"/>
<xs:element name="Messages" type="MessagesStructure" minOccurs="0" maxOccurs="unbounded"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="DisplayOrder" type="xs:positiveInteger" use="optional"/>
<xs:attribute name="Completed" type="YesNoType" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="Messages" type="MessagesStructure" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:choice minOccurs="0">
<xs:element ref="BallotIdentifier"/>
<xs:element ref="BallotIdentifierRange"/>
</xs:choice>
<xs:element name="Voter" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:choice>
<xs:sequence>
<xs:element name="VoterIdentification" type="VoterIdentificationStructure">
<xs:annotation>
<xs:documentation>Restriction is to prohibit electoral address information, VToken and VTokenQualified</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Contact" type="ContactDetailsStructure" minOccurs="0"/>
</xs:sequence>
<xs:element name="Contact" type="ContactDetailsStructure"/>
<xs:element name="Proxy" type="ProxyStructure" minOccurs="0"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:choice>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="BallotChoices">
<xs:complexType>
<xs:choice>
<xs:choice maxOccurs="unbounded">
<xs:element ref="Candidate"/>
<xs:element name="Affiliation">
<xs:complexType>
<xs:complexContent>
<xs:extension base="AffiliationStructure">
<xs:sequence>
<xs:element ref="CandidateIdentifier" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:choice>
<xs:element ref="ReferendumOptionIdentifier" maxOccurs="unbounded"/>
</xs:choice>
<xs:attribute name="Contested" type="YesNoType" use="optional"/>
<xs:attribute name="Partisan" type="xs:token" use="optional"/>
</xs:complexType>
</xs:element>
</xs:schema>
|