OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

election-services message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [election-services] Fw: EML and ranked-choice elections


John,

At quick read thru these look like really excellent suggestions and enhancements to what we have.

I too have been holding a "to do" to try STV and RCV accumulations.

I suggest we move to review and formally adopt these so Dave can feel confident that his approach will be supported in our next formal release.  We may be able to refine things also - maybe we need a 525 or maybe there's another way to do that without creating another message - or maybe cloning one from another of our series 600, or 400?

Vis his Q on candidate info' - I believe the candidate / party XML does support references to resources and URLs - don't recall exact details - but sure I've seen something on that.

Anyway - overall this is very encouraging.

Thanks, DW

> -------- Original Message --------
> Subject: [election-services] Fw: EML and ranked-choice elections
> From: John Borras <johnaborras@yahoo.co.uk>
> Date: Mon, February 25, 2008 9:10 am
> To: EML TC <election-services@lists.oasis-open.org>
> 
> Could I ask for help please in replying to the points raised in this e-mail.  Let me have your comments and I'll pull them together into a single response, and we can deduce whether we need to upgrade EML or just provide further guidance on the WIKI site.
>  
> Regards
> John 
>  
> M. +44 (0)7976 157745
> Skype: gov3john 
> 
> 
> 
> ----- Forwarded Message ----
> From: Dave Robinson <directrepublic@yahoo.com>
> To: johnaborras@yahoo.co.uk
> Sent: Sunday, 24 February, 2008 7:08:12 AM
> Subject: EML and ranked-choice elections
> 
> Dear Mr. Borras,
> 
> I am among a few people in the world who develop open
> source/GPL software for ranked-choice elections
> (instant runoff or single transferable vote).  We are
> interested in XML as a way past the incompatibility
> and inflexibility of the various flat file formats
> that we use, or at least as a common second language.
> We do not have much previous experience with XML.
> 
> My software appears at http://www.demochoice.org and I
> correspond with Jeff O'Neill, whose project is at
> http://stv.sourceforge.net
> 
> I have been attempting to understand EML 5.0 and have
> been caught on a few things where you may be able to
> help.
> 
> Ranked-choice elections are usually tallied in a
> series of rounds.  After each, a determination is
> made, such as the election or elimination of a
> candidate.  It appears that EML can accommodate this
> by generating an alternating series of 510 and 530
> outputs, inserting the round number as a
> CountQualifier.  We sometimes like to include a
> partial count (510) that shows who an eliminated
> candidate's ballots will count for in the next round,
> which could also be indicated in a CountQualifier.  We
> may have to invent a "round" and/or "TransferFrom" tag
> or attribute to express this.
> 
> It would be nice if there were a wrapper for such
> elections (maybe a 525 message) that would bundle
> these together so we can show these rounds under the
> same set of event, election, and contest tags.
> 
> The 510 and 520 files are rather restrictive; I
> noticed that in your example from California, they
> strained the format in order to include various
> statistics.  In ranked-choice elections, we like to
> keep statistics on how often lower preferences are
> used.  If 510 and 520 had an option under "selection",
> in parallel with Candidate, ReferendumOption, etc.,
> called something like "Data" or "CountMetric" of type
> "token", we would be able to include this information
> in a straightforward way.
> 
> In 520, the other option under "selection" offers a
> boolean "elected" and numerical "ranking"; it would
> help if there were a more general "status" of type
> "token" so we could make such indications as
> "eliminated".
> 
> Some more general observations:
> 
> I was surprised that an XML standard would apparently
> have no specific place to store links to the websites
> of candidates, affiliations, or managing authorities. 
> Is it there, but I missed it?
> 
> The documentation has some confusing parts.  For
> example, the diagram for message 440 has collapsed
> nodes; the only way to find "selection" is to look at
> the raw schema file.  There are references to
> structures like "AuthorityAddressStructure" that are
> not defined elsewhere, as far as I could see. 
> 
> There is no prescribed way to make an indication when
> a candidate is disqualified (i.e., votes were cast for
> the candidate, but they should not be shown in the
> results).  I also have a need to store a date range in
> which it is permissible for results to be displayed. 
> 
> I have attached a file that is my interpretation of
> how EML would appear for the type of simple
> ranked-choice elections that Jeff and I work with. 
> These would replace our current flat files that
> contain a title, a list of candidate names, the number
> of seats to fill, some miscellaneous configuration
> information, and then comma-delimited ballot and
> result files.
> 
> It appears that interoperability is an ambitious goal,
> but we are interested in working toward that if we
> can.
> 
> Thanks for your efforts toward the development of EML.
> 
> Dave Robinson
> 
> 
> 
>       ____________________________________________________________________________________
> Be a better friend, newshound, and 
> know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 
> 
> 
> 
> -----Inline Attachment Follows-----
> 
> <EML Id="110" SchemaVersion="5.0">
> <TransactionId>110</TransactionId>
> <ElectionEvent>
> <EventIdentifier Id="Event1"/>
> <Election>
> <ElectionIdentifier Id="Election1"/>
> <Contest DisplayOrder="1">
> <ContestIdentifier Id="Contest1"/>
> <Position>Cambridge City Council</Position>
> <Description>Councilmembers will serve a two-year term.</Description>
> <VotingMethod>STV</VotingMethod>
> <CountingAlgorithm>IRSA</CountingAlgorithm>
> <NumberOfPositions>4</NumberOfPositions>
> </Contest>
> <Date>
> <Start>2008-02-22 12:00:00</Start>
> <End>2008-02-22 23:59:59</End>
> </Date>
> <!-- Invented this tag -->
> <ResultReleaseDate>
> <Start>2008-02-22 12:00:00</Start>
> <End>2008-02-22 23:59:59</End>
> </ResultReleaseDate>
> <!-- -->
> <ManagingAuthority>
> <AuthorityIdentifier>DemoChoice</AuthorityIdentifier>
> <AuthorityAddress>http://www.demochoice.org</AuthorityAddress>
> </ManagingAuthority>
> </Election>
> </ElectionEvent>
> </EML>
> 
> <EML Id="310" SchemaVersion="5.0">
> <TransactionId>310</TransactionId>
> <VoterRegistration>
> <Voter>
> <VoterIdentification>
> <VoterName>
> <NameLine>Fred Smith</NameLine>
> </VoterName>
> <VToken>qxz123</VToken>
> </VoterIdentification>
> <VoterInformation>
> <contact>
> <Email>nobody@demochoice.org</Email>
> </contact>
> </VoterInformation>
> </Voter>
> </VoterRegistration>
> </EML>
> 
> <EML Id="410" SchemaVersion="5.0">
> <TransactionId>410</TransactionId>
> <BallotsStructure>
> <EventIdentifier Id="Event1">
> <Ballot>
> <Election>
> <ElectionIdentifier Id="Election1">
> <Contest>
> <ContestIdentifier Id="Contest1">
> <HowToVote>Rank the candidates you support!</HowToVote>
> <VotingMethod>
> <Rotation>Yes</Rotation>
> <BallotChoices>
> <Affiliation>
> <AffiliationIdentifier Id="1">
> <Type>Party</Type>
> <Description>Democratic Party</Description>
> </Affiliation>
> <Candidate>
> <CandidateIdentifier Id="1" DisplayOrder="1"/>
> <CandidateFullName>
> <NameLine>Anthony Galluccio</NameLine>
> </CandidateFullName>
> <Photo Format="jpg">http://www.galluccio.com/tony.jpg</Photo>
> <Profession>Mayor</Profession>
> <Affiliation>
> <AffiliationIdentifier Id="1" />
> </Affiliation>
> <!-- inventing the following three tags -->
> <PhotoLink>http://www.galluccio.com</PhotoLink>
> <NameLink>http://www.galluccio.com</NameLink>
> <Qualified>Yes</Qualified>
> <!-- -->
> </Candidate>
> </BallotChoices>
> </Contest>
> </Election>
> </Ballot>
> </BallotsStructure>
> </eml>
> 
> <EML Id="460" SchemaVersion="5.0">
> <TransactionId>460</TransactionId>
> <Votes>
> <CastVote spoilt="false">
> <VToken>qxz123</VToken>
> <EventIdentifier Id="Event1" />
> <ElectionIdentifier Id="Election1" />
> <ContestIdentifier Id="Contest1" />
> <Selection value="1">
> <CandidateIdentifier Id="1" />
> </Selection>
> <Selection value="2">
> <WriteinCandidateName>Fred</WriteinCandidateName>
> </Selection>
> </CastVote>
> </Votes>
> </EML>
> 
> 
> <EML Id="510" SchemaVersion="5.0">
> <TransactionId>510</TransactionId>
> <Count>
> <EventIdentifier Id="Event1">
> <Election>
> <ElectionIdentifier Id="Election1">
> <Contest>
> <ContestIdentifier Id="Contest1">
> <!-- To report transferred votes, include: -->
> <CountQualifier>
> <Round>1</Round>
> <Partial>Yes</Partial>
> <TransferFrom>1</TransferFrom>
> </CountQualifier>
> <!-- TransferFrom is new tag -->
> <CountingAlgorithm>IRVSA</CountingAlgorithm>
> <NumberOfPositions>2</NumberOfPositions>
> <TotalVotes>
> <TotalCounted>18337</TotalCounted>
> <Abstentions>3</Abstentions>
> <RejectedVotes ReasonCode="Duplicate">4</RejectedVotes>
> <Selection>
> <Candidate>
> <CandidateIdentifier Id="1">
> </Candidate>
> <ValidVotes>37</ValidVotes>
> </Selection>
> <!-- It would be nice if Depth could be recorded as -->
> <Selection>
> <CountMetric Type="Depth">1st</CountMetric>
> <ValidVotes>37</ValidVotes>
> </Selection>
> <!--  -->
> </TotalVotes>
> </Contest>
> </Election>
> </Count>
> </eml>
> 
> <EML Id="520" SchemaVersion="5.0">
> <TransactionId>520</TransactionId>
> <Result>
> <Election>
> <ElectionIdentifier Id="Election1">
> <Contest>
> <ContestIdentifier Id="Contest1">
> <Selection>
> <Candidate>
> <CandidateIdentifier Id="1">
> </Candidate>
> <Elected>No</Elected>
> <!-- Perhaps <status>Eliminated</status> would be clearer -->
> </Selection>
> </contest>
> </election>
> </result>
> </eml>
> 
> 
>       ___________________________________________________________ 
> Rise to the challenge for Sport Relief with Yahoo! For Good  
> 
> http://uk.promotions.yahoo.com/forgood/<hr><EML Id="110" SchemaVersion="5.0">
> <TransactionId>110</TransactionId>
> <ElectionEvent>
> <EventIdentifier Id="Event1"/>
> <Election>
> <ElectionIdentifier Id="Election1"/>
> <Contest DisplayOrder="1">
> <ContestIdentifier Id="Contest1"/>
> <Position>Cambridge City Council</Position>
> <Description>Councilmembers will serve a two-year term.</Description>
> <VotingMethod>STV</VotingMethod>
> <CountingAlgorithm>IRSA</CountingAlgorithm>
> <NumberOfPositions>4</NumberOfPositions>
> </Contest>
> <Date>
> <Start>2008-02-22 12:00:00</Start>
> <End>2008-02-22 23:59:59</End>
> </Date>
> <!-- Invented this tag -->
> <ResultReleaseDate>
> <Start>2008-02-22 12:00:00</Start>
> <End>2008-02-22 23:59:59</End>
> </ResultReleaseDate>
> <!-- -->
> <ManagingAuthority>
> <AuthorityIdentifier>DemoChoice</AuthorityIdentifier>
> <AuthorityAddress>http://www.demochoice.org</AuthorityAddress>
> </ManagingAuthority>
> </Election>
> </ElectionEvent>
> </EML>
> 
> <EML Id="310" SchemaVersion="5.0">
> <TransactionId>310</TransactionId>
> <VoterRegistration>
> <Voter>
> <VoterIdentification>
> <VoterName>
> <NameLine>Fred Smith</NameLine>
> </VoterName>
> <VToken>qxz123</VToken>
> </VoterIdentification>
> <VoterInformation>
> <contact>
> <Email>nobody@demochoice.org</Email>
> </contact>
> </VoterInformation>
> </Voter>
> </VoterRegistration>
> </EML>
> 
> <EML Id="410" SchemaVersion="5.0">
> <TransactionId>410</TransactionId>
> <BallotsStructure>
> <EventIdentifier Id="Event1">
> <Ballot>
> <Election>
> <ElectionIdentifier Id="Election1">
> <Contest>
> <ContestIdentifier Id="Contest1">
> <HowToVote>Rank the candidates you support!</HowToVote>
> <VotingMethod>
> <Rotation>Yes</Rotation>
> <BallotChoices>
> <Affiliation>
> <AffiliationIdentifier Id="1">
> <Type>Party</Type>
> <Description>Democratic Party</Description>
> </Affiliation>
> <Candidate>
> <CandidateIdentifier Id="1" DisplayOrder="1"/>
> <CandidateFullName>
> <NameLine>Anthony Galluccio</NameLine>
> </CandidateFullName>
> <Photo Format="jpg">http://www.galluccio.com/tony.jpg</Photo>
> <Profession>Mayor</Profession>
> <Affiliation>
> <AffiliationIdentifier Id="1" />
> </Affiliation>
> <!-- inventing the following three tags -->
> <PhotoLink>http://www.galluccio.com</PhotoLink>
> <NameLink>http://www.galluccio.com</NameLink>
> <Qualified>Yes</Qualified>
> <!-- -->
> </Candidate>
> </BallotChoices>
> </Contest>
> </Election>
> </Ballot>
> </BallotsStructure>
> </eml>
> 
> <EML Id="460" SchemaVersion="5.0">
> <TransactionId>460</TransactionId>
> <Votes>
> <CastVote spoilt="false">
> <VToken>qxz123</VToken>
> <EventIdentifier Id="Event1" />
> <ElectionIdentifier Id="Election1" />
> <ContestIdentifier Id="Contest1" />
> <Selection value="1">
> <CandidateIdentifier Id="1" />
> </Selection>
> <Selection value="2">
> <WriteinCandidateName>Fred</WriteinCandidateName>
> </Selection>
> </CastVote>
> </Votes>
> </EML>
> 
> 
> <EML Id="510" SchemaVersion="5.0">
> <TransactionId>510</TransactionId>
> <Count>
> <EventIdentifier Id="Event1">
> <Election>
> <ElectionIdentifier Id="Election1">
> <Contest>
> <ContestIdentifier Id="Contest1">
> <!-- To report transferred votes, include: -->
> <CountQualifier>
> <Round>1</Round>
> <Partial>Yes</Partial>
> <TransferFrom>1</TransferFrom>
> </CountQualifier>
> <!-- TransferFrom is new tag -->
> <CountingAlgorithm>IRVSA</CountingAlgorithm>
> <NumberOfPositions>2</NumberOfPositions>
> <TotalVotes>
> <TotalCounted>18337</TotalCounted>
> <Abstentions>3</Abstentions>
> <RejectedVotes ReasonCode="Duplicate">4</RejectedVotes>
> <Selection>
> <Candidate>
> <CandidateIdentifier Id="1">
> </Candidate>
> <ValidVotes>37</ValidVotes>
> </Selection>
> <!-- It would be nice if Depth could be recorded as -->
> <Selection>
> <CountMetric Type="Depth">1st</CountMetric>
> <ValidVotes>37</ValidVotes>
> </Selection>
> <!--  -->
> </TotalVotes>
> </Contest>
> </Election>
> </Count>
> </eml>
> 
> <EML Id="520" SchemaVersion="5.0">
> <TransactionId>520</TransactionId>
> <Result>
> <Election>
> <ElectionIdentifier Id="Election1">
> <Contest>
> <ContestIdentifier Id="Contest1">
> <Selection>
> <Candidate>
> <CandidateIdentifier Id="1">
> </Candidate>
> <Elected>No</Elected>
> <!-- Perhaps <status>Eliminated</status> would be clearer -->
> </Selection>
> </contest>
> </election>
> </result>
> </eml><hr>---------------------------------------------------------------------
> To unsubscribe from this mail list, you must leave the OASIS TC that
> generates this mail.  You may a link to this group and all your TCs in OASIS
> at:
> https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]