<?xml version="1.0" encoding="utf-8"?>
<!--
     Election Markup Language (EML) Specification Version 7.0
     Committee Specification Draft (CSD) 01 / Public Review Draft (CSPRD) 01
     04 July 2011
     Copyright (c) OASIS Open 2011. All Rights Reserved.
     Source: http://docs.oasis-open.org/election/eml/v7.0/csprd01/Schemas/
-->
<!--
  EML 460 Schema - Votes

  History: 4.0 Edited by Paul Spencer (Boynings Consulting) 2005/2006
                - major release revision

           5.0 Edited by David RR Webber (OVS) 2007-02-07
           6.0 Edited by David RR Webber (OVS) 2008-11-13
		   7.0 Changes, April 2011
  -->
<xs:schema targetNamespace="urn:oasis:names:tc:evs:schema:eml" elementFormDefault="qualified" attributeFormDefault="unqualified" version="7.0" id="eml-460" xmlns="urn:oasis:names:tc:evs:schema:eml" xmlns:xs="http://www.w3.org/2001/XMLSchema">
 <xs:annotation>
    <xs:documentation> 
      Specification Name: OASIS EML TC - Election Markup Language (EML) 
      Description: This schema here is a member of a library of the XML schemas used in EML. The XML schemas define the formal structures of the election data that can be processed.
      Produced by: OASIS Election Technical Committee
      URL: http://www.oasis-open.org/committees/election
      Version: 7.0  
      Status: Committee Draft 
      Copyright: 2001-11, OASIS, http://www.oasis-open.org
      Conformance: This is a base implementation schema - actual localization schema for use may be derived from this schema - but may not contradict the structure definitions provided here.
    </xs:documentation>
  </xs:annotation>
	<xs:include schemaLocation="440-460-include-v7-0.xsd"/>
	<xs:element name="EML">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EMLstructure">
					<xs:sequence>
						<xs:element ref="Votes"/>
					</xs:sequence>
					<xs:attribute name="Id" fixed="460" use="required"></xs:attribute>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
		<!-- xs:unique name="DisplayOrder">
			<xs:selector xpath=".//*"/>
			<xs:field xpath="@DisplayOrder"/>
		</xs:unique -->
	</xs:element>
	<xs:element name="Votes">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="CastVote" maxOccurs="unbounded">
					<xs:complexType>
						<xs:complexContent>
							<xs:extension base="CastVoteStructure">
								<xs:choice minOccurs="0">
									<xs:element name="ProposedRejection">
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="YesNoType">
													<xs:attribute name="Reason" type="xs:token" use="optional"/>
													<xs:attribute name="ReasonCode" type="xs:token" use="required"/>
													<xs:attribute name="Objection" type="YesNoType" use="optional"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
									<xs:element name="ProposedUncounted">
										<xs:complexType>
											<xs:simpleContent>
												<xs:extension base="YesNoType">
													<xs:attribute name="Reason" type="xs:token" use="optional"/>
													<xs:attribute name="ReasonCode" type="xs:token" use="required"/>
													<xs:attribute name="Objection" type="YesNoType" use="optional"/>
												</xs:extension>
											</xs:simpleContent>
										</xs:complexType>
									</xs:element>
								</xs:choice>
							</xs:extension>
						</xs:complexContent>
					</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:schema>
