Re: [OVC-demo-team] Re: Reconciliation System GUI (was: Re: Ballot GUI)

From: David Mertz <voting-project_at_gnosis_dot_cx>
Date: Wed Feb 25 2004 - 14:20:00 CST

> Here's a simple example of two semantically identical ballots:...
> It's easy enough to check the infoset semantics of ballots using tools
> like XSLT or gnosis.xml.objectify, but it will take a couple lines of
> code if such a comparison is needed.

Incidentally, if someone (i.e. Fred) thinks there's any reason to have
such a tool/module, I'd be happy to write a script to canonicalize
ballots. I think to do so, I'd just alphabetize all the attributes in
the canonical XML ballot, and similarly arrange <contest>'s in
alphabetical order by the name attribute. Hmmm... I guess I'd need to
alphabetize the <selection>'s when <contest ordered="No"...>.

Also, in the DTD Fred auto-generated, I believe all the attributes
should be #REQUIRED, not #REQUIRED. With some other small cleanup:

---
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT cast_ballot (contest)+>
<!ATTLIST cast_ballot
     source CDATA #REQUIRED
     serial CDATA #REQUIRED
     precinct CDATA #REQUIRED
     number CDATA #REQUIRED
     county CDATA #REQUIRED
     state CDATA #REQUIRED
     country CDATA #REQUIRED
     election_date CDATA #REQUIRED
   >
<!ELEMENT selection (#PCDATA)>
<!ATTLIST selection
     name CDATA #REQUIRED
     writein (Yes | No) "No"
   >
<!ELEMENT contest (selection)*>
<!ATTLIST contest
     name CDATA #REQUIRED
     coupled (Yes | No) "No"
     ordered (Yes | No) "No"
   >
---
Incidentally, attached are oXygen's converted RNC and XSD versions.  I 
haven't studied them to make sure they are good conversions.


==================================================================
= The content of this message, with the exception of any external
= quotations under fair use, are released to the Public Domain
==================================================================

Received on Thu Apr 1 02:40:22 2004

This archive was generated by hypermail 2.1.8 : Thu Apr 01 2004 - 02:40:36 CST