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



These all seem like excellent suggestions for a future release, and well thought through. 
 
For those not familiar with the EML maintenance process, I should say that the usual way forward when someone suggests a change is that they can usually implement their change as a localisation, using additional schemas and/or the xs:any elements in the schema. This can be done without notification to the TC, although it helps us greatly if we know that this is happening. We can then consider the change and decide whether it is a common requirement, or whether it is specific to one implementation. If we decide it is a common requirement, we will implement it for the next scheduled release of EML. This allows EML to be used immediately in circumstances that have not been sufficiently considered by the TC, while maintaining interoperability in the longer term.
 
The proposed changes look at first glance to be common requirements as they relate to a specific election mechanism that is widely used. Also, the link to a website for candidates and affiliations looks like a sensible addition that can be implemented temporarily using the xs:any at the end of candidate and affiliation, but should be added to EML as soon as practicable.
 
The comments on the documentation from someone who was not involved in its production will help improve this, and could possibly be incorporated in a documentation-only release independently of changes to the schemas or specification themselves. Where elements are collapsed in the diagrams, this is done to aid readability (otherwise type can get too small) and there should always be another diagram showing the expansion of these elements. If these are missing, it is a documentation error.
 
John - I am not sure yet, but I may have some time available next week if you want anything looked at.

Regards

Paul Spencer
Director
Boynings Consulting Ltd
http://boynings.co.uk

 
 
 
-----Original Message-----
From: John Borras [mailto:johnaborras@yahoo.co.uk]
Sent: 25 February 2008 14:10
To: EML TC
Subject: [election-services] Fw: EML and ranked-choice elections

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


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