Stimmauswahl

Verwenden Sie BallotSelection, um die Wahlauswahl in einem Wettbewerb zu identifizieren, z. B. wenn Sie Kandidaten und Parteien mit ihren Stimmenzahlen verknüpfen.

In diesem Dokument werden BallotSelection und die zugehörigen untergeordneten Einheiten behandelt:

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection
    • SpecialBallotSelection

Wählen Sie einen der folgenden Feedtypen aus, um mehr darüber zu erfahren, wie Sie BallotSelection und die zugehörigen Elemente mit diesem Feedtyp verwenden.


BallotSelection

BallotSelection ist ein abstraktes Element mit drei Typen, die je nach Art des Wettbewerbs verwendet werden:

  • CandidateSelection: Verwenden Sie diese type von BallotSelection, wenn es sich um einen Wettbewerb für einen oder mehrere Kandidaten handelt. Damit wird die Auswahl des Stimmzettels mit den Candidate-Elementen verknüpft.
  • PartySelection: Verwenden Sie diese type von BallotSelection, wenn der Wettbewerbstyp für eine Party ist, z. B. für einen parteiproportionalen Wettbewerb.
  • BallotMeasureSelection: Verwenden Sie diesen Typ von BallotSelection, um mögliche Auswahlen in einem BallotMeasureContest darzustellen.
  • SpecialBallotSelection: Diese Art von BallotSelection wird für die Aggregation von Stimmen verwendet, z.B. um mehrere Kandidaten in „Andere“ zusammenzufassen, sowie für verschiedene Arten von Nicht-Stimmen, z.B. leere Stimmzettel, ungültige Stimmzettel und „Keiner der oben genannten“-Stimmen.

Attribute

In der folgenden Tabelle werden die Attribute für BallotSelection beschrieben:

Attribut Erforderlich? Typ Beschreibung
objectId Erforderlich ID Eindeutige interne Kennung, die von anderen Elementen verwendet wird, um auf dieses Element zu verweisen.

Elemente

In der folgenden Tabelle werden die Elemente für BallotSelection beschrieben:

Element Multiplizität Typ Beschreibung
SequenceOrder 0 oder 1 integer

Gibt eine Standardreihenfolge für die Auswahl der Stimmzettel für die Anzeige an.

Wenn SequenceOrder nicht im Feed vorhanden ist, wird keine Reihenfolge angenommen.

CandidateSelection

Verwenden Sie CandidateSelection, um die Wahlscheinauswahl in einem Kandidatenwettbewerb zu identifizieren, einschließlich der handschriftlichen Einträge.

CandidateSelection erbt die Attribute und Elemente von BallotSelection. Bei Bedarf können Verweise auf mehrere Candidate-Elemente eingefügt werden, z. B. wenn die Wahlscheinauswahl für ein Ticket mit mehreren Kandidaten erfolgt.

Wenn für ein Ticket auf mehrere Kandidaten verwiesen wird, ist es manchmal wichtig, die Reihenfolge der Kandidaten beizubehalten. In diesen Fällen muss die generierende Anwendung die Verweise auf Candidate-Elemente innerhalb von CandidateIds gemäß dem geltenden Ordnungsschema auflisten. Die Reihenfolge der Kandidaten muss beispielsweise mit der Reihenfolge der Office-Elementreferenzen in OfficeIds im Contest vom Typ CandidateContest übereinstimmen.

Wenn auf mehr als ein Candidate-Objekt verwiesen wird, werden sie dem Nutzer in der folgenden Reihenfolge präsentiert:

  • Alle Kandidaten, bei denen IsTopTicket auf true festgelegt ist, werden vor allen Kandidaten ohne IsTopTicket-Wert sortiert. Sie werden wiederum vor allen Kandidaten mit IsTopTicket auf false gesetzt. Im Idealfall wird die Auswahl entweder mit einem Kandidaten ohne IsTopTicket-Wert oder mit einem Kandidatenpaar festgelegt, wobei bei einem der Kandidaten IsTopTicket auf true festgelegt ist. Wenn diese Bedingungen nicht erfüllt sind, passiert Folgendes:
    • Alle Kandidaten mit IsTopTicket auf true werden in einer undefinierten Reihenfolge präsentiert.
    • Alle Kandidaten ohne IsTopTicket werden in einer undefinierten Reihenfolge angezeigt.
    • Alle Kandidaten mit IsTopTicket auf false werden in einer undefinierten Reihenfolge präsentiert.

Die XML-Syntax für CandidateSelection lautet: <BallotSelection xsi:type="CandidateSelection">.

Elemente

In der folgenden Tabelle werden die Elemente für CandidateSelection beschrieben:

Element Multiplizität Typ Beschreibung
CandidateIds 1 IDREFS Eindeutige Kennungen für ein oder mehrere Candidate-Elemente. Wird verwendet, um einen Kandidaten mit der Kandidatenauswahl auf dem Stimmzettel zu verknüpfen. Auch nützlich, wenn die Stimmzettel für mehrere Kandidaten ausgewählt werden, z. B. für ein Ticket mit gemeinsam ausgewählten Präsidenten und Vizepräsidenten.
EndorsementPartyIds 0 oder mehr IDREFS Eindeutige Kennung für zwei oder mehr Party-Entitäten. Dies ist eine Vereinbarung, bei der die politischen Parteien denselben Kandidaten auf einem Stimmzettel aufführen.
IncludedInAggregation 0 oder 1 boolean Gibt an, ob die Stimmen der Auswahl in die AggregateBallotSelection für den Wettbewerb einbezogen werden. Wird standardmäßig auf false gesetzt, wenn nicht angegeben.
IsWriteIn 0 oder 1 boolean Gibt an, ob der Kandidat nicht auf dem ursprünglichen Stimmzettel aufgeführt war. Der Standardwert ist false.

Beispiele

XML

    <BallotSelection objectId="cs10861" xsi:type="CandidateSelection">
      <CandidateIds>can10861a can10861b</CandidateIds>
    </BallotSelection>

JSON

    "BallotSelection": [
      {
        "@type": "CandidateSelection",
        "objectId": "cs10861",
        "CandidateIds": [
          "can10861a",
          "can10861b"
        ]
      }
    ]

PartySelection

Verwenden Sie PartySelection, um Wahlauswahlen zu kennzeichnen, bei denen es um eine Partei geht, z. B. die Auswahl einer Parteiliste auf dem Stimmzettel.

PartySelection erbt die Attribute und Elemente von BallotSelection. Die XML-Syntax für PartySelection lautet so: <BallotSelection xsi:type="PartySelection" ... />.

Elemente

In der folgenden Tabelle werden die Elemente für PartySelection beschrieben:

Element Multiplizität Typ Beschreibung
IncludedInAggregation 0 oder 1 boolean Gibt an, ob die Stimmen der Auswahl in die AggregateBallotSelection für den Wettbewerb einbezogen werden. Wird standardmäßig auf false gesetzt, wenn nicht angegeben.
PartyIds 1 IDREFS Eindeutige Kennung für ein oder mehrere Party-Elemente. Damit können Sie der Auswahl einer oder mehrerer Parteien eine oder mehrere Parteien zuordnen.

Beispiele

XML

    <BallotSelection objectId="ps150" xsi:type="PartySelection">
      <PartyIds>par100</PartyIds>
    </BallotSelection>

JSON

    "BallotSelection": [
      {
        "@type": "PartySelection",
        "objectId": "ps150",
        "PartyIds": [
          "par100"
        ]
      }
    ]

BallotMeasureSelection

Verwenden Sie BallotMeasureSelection, um Wahlergebnisse zu identifizieren, die sich auf eine Abstimmung beziehen, z. B. Volksabstimmungen.

BallotMeasureSelection erbt die Attribute und Elemente von BallotSelection. Die XML-Syntax für BallotMeasureSelection lautet: <BallotSelection xsi:type="BallotMeasureSelection" ... />.

Elemente

In der folgenden Tabelle werden die Elemente für BallotMeasureSelection beschrieben:

Element Multiplizität Typ Beschreibung
ExternalIdentifiers 0 oder 1 ExternalIdentifiers Weist der Auswahl der Abstimmung eine ID zu. Eine stabile Kennung ist erforderlich.
Selection 1 InternationalizedText Gibt eine verfügbare Option für die Abstimmung an, z. B. Yes oder No.

Beispiele

XML

    <BallotSelection objectId="bms00" xsi:type="BallotMeasureSelection">
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>bmc0_yes</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
      <Selection>
        <Text language="en">Yes</Text>
      </Selection>
    </BallotSelection>

JSON

    "BallotSelection": [
      {
        "@type": "BallotMeasureSelection",
        "objectId": "bms00",
        "ExternalIdentifiers": {
          "ExternalIdentifier" : [
            {
              "Type": "other",
              "OtherType": "stable",
              "Value": "bmc0_yes"
            }
          ]
        },
        "Selection": {
          "Text": [
            {
              "value": "Yes",
              "language": "en"
            }
          ]
        }
      }
    ]

XML

    <BallotSelection objectId="bms00" xsi:type="BallotMeasureSelection">
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>bmc0_yes</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
      <Selection>
        <Text language="en">Yes</Text>
      </Selection>
    </BallotSelection>

JSON

    "BallotSelection": [
      {
        "@type": "BallotMeasureSelection",
        "objectId": "bms00",
        "ExternalIdentifiers": {
          "ExternalIdentifier" : [
            {
              "Type": "other",
              "OtherType": "stable",
              "Value": "bmc0_yes"
            }
          ]
        },
        "Selection": {
          "Text": [
            {
              "value": "Yes",
              "language": "en"
            }
          ]
        }
      }
    ]

SpecialBallotSelection

Dieser Typ von BallotSelection wird für die Aggregation von Stimmen verwendet, z.B. um mehrere Kandidaten in „Andere“ zu aggregieren, sowie für verschiedene Arten von Nicht-Stimmen, z.B. leere Stimmzettel, ungültige oder verdorbene Stimmzettel und Stimmen für „Keiner der oben genannten“.

SpecialBallotSelection sollte nicht im allgemeinen Unterelement BallotSelection von Contest verwendet werden, sondern hat eigene Felder in Contest, nämlich AggregateBallotSelection, BlankBallotSelection, NoneOfTheAboveBallotSelection und NullBallotSelection. Weitere Informationen finden Sie unter Contest-Elemente.

Elemente

In der folgenden Tabelle werden die Elemente für SpecialBallotSelection beschrieben:

Element Multiplizität Typ Beschreibung
CountedInTotal 0 oder 1 boolean Ob die Stimmen der ausgewählten Entität in die Gesamtzahl der Stimmen einfließen, die als bemerkenswert gelten. Wenn nicht angegeben, wird true angenommen.
ExternalIdentifiers 0 oder 1 ExternalIdentifiers Weist der Auswahl der Abstimmung eine ID zu. Eine stabile Kennung ist erforderlich.
Selection 1 InternationalizedText Gibt einen Namen für diese Auswahl an, z. B. „Andere“ oder „Keine der oben genannten Optionen“.

Beispiele

XML

    <AggregateBallotSelection objectId="selection3">
      <Selection>
        <Text language="en">Other Candidates</Text>
      </Selection>
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>selection3</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </AggregateBallotSelection>
    <!-- Counts of ballots left blank -->
    <BlankBallotSelection objectId="selection4">
      <Selection>
        <Text language="en">Blank ballots</Text>
      </Selection>
      <!-- These ballots count in the total and can affect majorities -->
      <CountedInTotal>true</CountedInTotal>
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>selection4</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </BlankBallotSelection>
    <!-- Votes for "None of the above" option on the ballot -->
    <NoneOfTheAboveBallotSelection objectId="selection5">
      <!--
        The NOTA selection optiona as it appears on the ballot, often
        "None of the above", "None", or "Uncommitted"
      -->
      <Selection>
        <Text language="en">None</Text>
      </Selection>
      <!-- These ballots count in the total and can affect majorities -->
      <CountedInTotal>true</CountedInTotal>
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>selection5</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </NoneOfTheAboveBallotSelection>
    <!--
      Counts of null or spoiled ballots, i.e. ballots that have been marked in
      a way that the vote cannot be counted
    -->
    <NullBallotSelection objectId="selection5">
      <!--
        How these ballots are often called in a given country, often
        "null" or "spoiled"
      -->
      <Selection>
        <Text language="en">Spoiled ballots</Text>
      </Selection>
      <!--
        These ballots do count in the total and are treated as the same as
        if this vote did not happen at all
      -->
      <CountedInTotal>false</CountedInTotal>
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>selection5</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </NullBallotSelection>
      

JSON

    "AggregateBallotSelection": {
      "objectId": "selection3",
      "Selection": {
        "Text": {
          "@language": "en",
          "#text": "Other Candidates"
        }
      },
      "ExternalIdentifiers": {
        "ExternalIdentifier": {
          "Type": "other",
          "OtherType": "stable",
          "Value": "selection3"
        }
      },
    },
    "BlankBallotSelection": {
      "objectId": "selection4",
      "Selection": {
        "Text": {
          "@language": "en",
          "#text": "Blank Ballots"
        }
      },
      "CountedInTotal": true,
      "ExternalIdentifiers": {
        "ExternalIdentifier": {
          "Type": "other",
          "OtherType": "stable",
          "Value": "selection4"
        }
      }
    },
    "NoneOfTheAboveBallotSelection": {
      "objectId": "selection5",
      "Selection": {
        "Text": {
          "@language": "en",
          "#text": "None"
        }
      },
      "CountedInTotal": true,
      "ExternalIdentifiers": {
        "ExternalIdentifier": {
          "Type": "other",
          "OtherType": "stable",
          "Value": "selection5"
        }
      }
    },
    "NullBallotSelection": {
      "objectId": "selection5",
      "Selection": {
        "Text": {
          "@language": "en",
          "#text": "Spoiled ballots"
        }
      },
      "CountedInTotal": false,
      "ExternalIdentifiers": {
        "ExternalIdentifier": {
          "Type": "other",
          "OtherType": "stable",
          "Value": "selection5"
        }
      }
    }