US Ballot Markup Language Version 1.0
Author: James Snell (jsnell@lemoorenet.com)
Copyright 2000, James Snell

Schema BallotML.xsd


schema location:  http://schemas.soap-wrc.com/usbml/BallotML.xsd
targetNamespace:  urn:ballot-markup-language
 
Elements  Attr. groups 
ballot  ballotAttributes 
ballotResults 
description 
signature 


element ballot
diagram
namespace urn:ballot-markup-language
children contest signature
attributes
Name   Type   Use   Value  
stateID   xsd:uriReference   required     
countyID   xsd:uriReference   required     
precinctID   xsd:uriReference   required     
ballotID   xsd:uriReference   required     
electionID   xsd:uriReference   required     
annotation
documentation 
Represents The Displayed Ballot
source
<xsd:element name="ballot">
  <xsd:annotation>
    <xsd:documentation>Represents The Displayed Ballot</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="contest" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Represents A Single Contest In The Election</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="selection" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation>One Selection For Each Choice In The Contest</xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element ref="USBML:description" minOccurs="0"/>
                </xsd:sequence>
                <xsd:attribute name="selectionID" type="xsd:uriReference" use="required"/>
                <xsd:attribute name="name" type="xsd:string" use="required"/>
                <xsd:attribute name="incumbant" type="xsd:boolean" use="optional" value="true"/>
                <xsd:attribute name="partyID" type="xsd:NMTOKEN" use="optional"/>
              </xsd:complexType>
            </xsd:element>
            <xsd:element ref="USBML:description" minOccurs="0"/>
          </xsd:sequence>
          <xsd:attribute name="contestID" type="xsd:uriReference" use="required"/>
          <xsd:attribute name="type" type="xsd:NMTOKEN" use="required"/>
          <xsd:attribute name="name" type="xsd:string" use="required"/>
          <xsd:attribute name="maxSelections" type="xsd:int" use="required" value="1"/>
          <xsd:attribute name="writeIn" type="xsd:boolean" use="required" value="false"/>
          <xsd:attribute name="noa" type="xsd:boolean" use="required" value="false"/>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="signature" minOccurs="2" maxOccurs="2"/>
    </xsd:sequence>
    <xsd:attributeGroup ref="USBML:ballotAttributes"/>
  </xsd:complexType>
</xsd:element>

element ballot/contest
diagram
namespace urn:ballot-markup-language
children selection USBML:description
attributes
Name   Type   Use   Value  
contestID   xsd:uriReference   required     
type   xsd:NMTOKEN   required     
name   xsd:string   required     
maxSelections   xsd:int   required   1  
writeIn   xsd:boolean   required   false  
noa   xsd:boolean   required   false  
annotation
documentation 
Represents A Single Contest In The Election
source
<xsd:element name="contest" maxOccurs="unbounded">
  <xsd:annotation>
    <xsd:documentation>Represents A Single Contest In The Election</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="selection" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>One Selection For Each Choice In The Contest</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element ref="USBML:description" minOccurs="0"/>
          </xsd:sequence>
          <xsd:attribute name="selectionID" type="xsd:uriReference" use="required"/>
          <xsd:attribute name="name" type="xsd:string" use="required"/>
          <xsd:attribute name="incumbant" type="xsd:boolean" use="optional" value="true"/>
          <xsd:attribute name="partyID" type="xsd:NMTOKEN" use="optional"/>
        </xsd:complexType>
      </xsd:element>
      <xsd:element ref="USBML:description" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="contestID" type="xsd:uriReference" use="required"/>
    <xsd:attribute name="type" type="xsd:NMTOKEN" use="required"/>
    <xsd:attribute name="name" type="xsd:string" use="required"/>
    <xsd:attribute name="maxSelections" type="xsd:int" use="required" value="1"/>
    <xsd:attribute name="writeIn" type="xsd:boolean" use="required" value="false"/>
    <xsd:attribute name="noa" type="xsd:boolean" use="required" value="false"/>
  </xsd:complexType>
</xsd:element>

element ballot/contest/selection
diagram
namespace urn:ballot-markup-language
children USBML:description
attributes
Name   Type   Use   Value  
selectionID   xsd:uriReference   required     
name   xsd:string   required     
incumbant   xsd:boolean   optional   true  
partyID   xsd:NMTOKEN   optional     
annotation
documentation 
One Selection For Each Choice In The Contest
source
<xsd:element name="selection" maxOccurs="unbounded">
  <xsd:annotation>
    <xsd:documentation>One Selection For Each Choice In The Contest</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element ref="USBML:description" minOccurs="0"/>
    </xsd:sequence>
    <xsd:attribute name="selectionID" type="xsd:uriReference" use="required"/>
    <xsd:attribute name="name" type="xsd:string" use="required"/>
    <xsd:attribute name="incumbant" type="xsd:boolean" use="optional" value="true"/>
    <xsd:attribute name="partyID" type="xsd:NMTOKEN" use="optional"/>
  </xsd:complexType>
</xsd:element>

element ballot/signature
diagram
namespace urn:ballot-markup-language
source
<xsd:element name="signature" minOccurs="2" maxOccurs="2"/>

element ballotResults
diagram
namespace urn:ballot-markup-language
children contest USBML:signature
attributes
Name   Type   Use   Value  
timeStamp   xsd:timeInstant   required     
ballotResultID   xsd:uriReference   required     
voterID   xsd:uriReference   required     
stateID   xsd:uriReference   required     
countyID   xsd:uriReference   required     
precinctID   xsd:uriReference   required     
ballotID   xsd:uriReference   required     
electionID   xsd:uriReference   required     
annotation
documentation 
Represents The Voter Results
source
<xsd:element name="ballotResults">
  <xsd:annotation>
    <xsd:documentation>Represents The Voter Results</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="contest" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Election Contest</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="selection" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation>Voters Selection</xsd:documentation>
              </xsd:annotation>
              <xsd:complexType>
                <xsd:sequence>
                  <xsd:element name="write_in" type="xsd:string" minOccurs="0">
                    <xsd:annotation>
                      <xsd:documentation>Voter Write In Selection Value</xsd:documentation>
                    </xsd:annotation>
                  </xsd:element>
                </xsd:sequence>
                <xsd:attribute name="selectionID" type="xsd:uriReference" use="required"/>
              </xsd:complexType>
            </xsd:element>
          </xsd:sequence>
          <xsd:attribute name="contestID" type="xsd:uriReference" use="required"/>
        </xsd:complexType>
      </xsd:element>
      <xsd:element ref="USBML:signature"/>
    </xsd:sequence>
    <xsd:attribute name="timeStamp" type="xsd:timeInstant" use="required"/>
    <xsd:attribute name="ballotResultID" type="xsd:uriReference" use="required"/>
    <xsd:attribute name="voterID" type="xsd:uriReference" use="required"/>
    <xsd:attributeGroup ref="USBML:ballotAttributes"/>
  </xsd:complexType>
</xsd:element>

element ballotResults/contest
diagram
namespace urn:ballot-markup-language
children selection
attributes
Name   Type   Use   Value  
contestID   xsd:uriReference   required     
annotation
documentation 
Election Contest
source
<xsd:element name="contest" maxOccurs="unbounded">
  <xsd:annotation>
    <xsd:documentation>Election Contest</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="selection" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Voters Selection</xsd:documentation>
        </xsd:annotation>
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="write_in" type="xsd:string" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation>Voter Write In Selection Value</xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
          <xsd:attribute name="selectionID" type="xsd:uriReference" use="required"/>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="contestID" type="xsd:uriReference" use="required"/>
  </xsd:complexType>
</xsd:element>

element ballotResults/contest/selection
diagram
namespace urn:ballot-markup-language
children write_in
attributes
Name   Type   Use   Value  
selectionID   xsd:uriReference   required     
annotation
documentation 
Voters Selection
source
<xsd:element name="selection" minOccurs="0" maxOccurs="unbounded">
  <xsd:annotation>
    <xsd:documentation>Voters Selection</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element name="write_in" type="xsd:string" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Voter Write In Selection Value</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="selectionID" type="xsd:uriReference" use="required"/>
  </xsd:complexType>
</xsd:element>

element ballotResults/contest/selection/write_in
diagram
namespace urn:ballot-markup-language
type xsd:string
annotation
documentation 
Voter Write In Selection Value
source
<xsd:element name="write_in" type="xsd:string" minOccurs="0">
  <xsd:annotation>
    <xsd:documentation>Voter Write In Selection Value</xsd:documentation>
  </xsd:annotation>
</xsd:element>

element description
diagram
namespace urn:ballot-markup-language
used by
elements  ballot/contest ballot/contest/selection
annotation
documentation 
General Description Of Item
source
<xsd:element name="description">
  <xsd:annotation>
    <xsd:documentation>General Description Of Item</xsd:documentation>
  </xsd:annotation>
  <xsd:complexType mixed="true">
    <xsd:sequence>
      <xsd:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

element signature
diagram
namespace urn:ballot-markup-language
used by
element  ballotResults
annotation
documentation 
Digital Signature
source
<xsd:element name="signature">
  <xsd:annotation>
    <xsd:documentation>Digital Signature</xsd:documentation>
  </xsd:annotation>
</xsd:element>

attributeGroup ballotAttributes
namespace urn:ballot-markup-language
used by
elements  ballot ballotResults
attributes
Name   Type   Use   Value  
stateID   xsd:uriReference   required     
countyID   xsd:uriReference   required     
precinctID   xsd:uriReference   required     
ballotID   xsd:uriReference   required     
electionID   xsd:uriReference   required     
annotation
documentation 
Standard Ballot Attributes
source
<xsd:attributeGroup name="ballotAttributes">
  <xsd:annotation>
    <xsd:documentation>Standard Ballot Attributes</xsd:documentation>
  </xsd:annotation>
  <xsd:attribute name="stateID" type="xsd:uriReference" use="required"/>
  <xsd:attribute name="countyID" type="xsd:uriReference" use="required"/>
  <xsd:attribute name="precinctID" type="xsd:uriReference" use="required"/>
  <xsd:attribute name="ballotID" type="xsd:uriReference" use="required"/>
  <xsd:attribute name="electionID" type="xsd:uriReference" use="required"/>
</xsd:attributeGroup>


XML Schema documentation generated with
XML Spy Schema Editor www.xmlspy.com