Wybór loterii

Używaj symbolu BallotSelection, aby oznaczać wybory na karcie do głosowania, np. gdy łączysz kandydatów i partie z liczbą głosów, które na nich oddano.

W tym dokumencie omawiamy BallotSelection i jego podmioty:

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection
    • SpecialBallotSelection

Wybierz jeden z tych typów plików danych, aby dowiedzieć się więcej o tym, jak używać BallotSelection i jego elementów w przypadku danego typu pliku danych.


BallotSelection

BallotSelection to element abstrakcyjny z 3 typami, które są używane w zależności od rodzaju konkursu:

  • CandidateSelection: użyj tego typeBallotSelection, gdy konkurs jest przeznaczony dla co najmniej 1 kandydata. Łączy wybór na karcie do głosowania z elementami Candidate.
  • PartySelection: użyj tego typeBallotSelection, gdy typ konkursu to Party, np. konkurs proporcjonalny między partiami.
  • BallotMeasureSelection: użyj tego typu BallotSelection, aby przedstawić możliwe opcje wyboru w BallotMeasureContest.
  • SpecialBallotSelection: ten typ BallotSelection jest używany do agregacji liczby głosów (np. agregowania głosów oddanych na wielu kandydatów w kategorii „Inni”) i różnych rodzajów głosów innych niż oddane na kandydatów (np. pustych kart do głosowania, nieważnych lub zepsutych kart do głosowania oraz głosów „żaden z powyższych”).

Atrybuty

W tabeli poniżej opisano atrybuty BallotSelection:

Atrybut Wymagany? Typ Opis
objectId Wymagane ID Unikalny identyfikator wewnętrzny używany przez inne elementy do odwoływania się do tego elementu.

Elementy

W tabeli poniżej opisano elementy BallotSelection:

Element Mnogość Typ Opis
SequenceOrder 0 lub 1 integer

Określa domyślną kolejność wyświetlania opcji na karcie do głosowania.

Jeśli w pliku danych nie ma atrybutu SequenceOrder, nie zakłada się żadnego zamówienia.

CandidateSelection

Użyj symbolu CandidateSelection, aby zidentyfikować wybory na karcie do głosowania w przypadku kandydatów, w tym dopisanych.

CandidateSelection dziedziczy atrybuty i elementy BallotSelection. W razie potrzeby można uwzględnić odniesienia do wielu elementów Candidate, np. gdy wybór na karcie do głosowania dotyczy listy wielu kandydatów.

Jeśli w zgłoszeniu jest wymienionych kilku kandydatów, czasami ważne jest zachowanie ich kolejności. W takich przypadkach oczekujemy, że aplikacja generująca będzie zawierać odwołania do elementów Candidate w ramach elementu CandidateIds zgodnie z obowiązującym schematem kolejności. Na przykład kolejność kandydatów musi być zgodna z kolejnością odwołań do elementów OfficeOfficeIdsContest typu CandidateContest.

Jeśli istnieje odwołanie do więcej niż 1 obiektu Candidate, są one prezentowane użytkownikowi w tej kolejności:

  • Wszyscy kandydaci z wartością IsTopTicket ustawioną na true są umieszczani przed wszystkimi kandydatami bez wartości IsTopTicket. Są one z kolei umieszczane przed wszystkimi kandydatami, w przypadku których parametr IsTopTicket ma wartość false. Najlepiej, jeśli wybór zawiera 1 kandydata bez wartości IsTopTicket lub parę kandydatów, z których jeden ma wartość IsTopTicket ustawioną na true. Jeśli te warunki nie zostaną spełnione, nastąpi:
    • Wszyscy kandydaci, w przypadku których parametr IsTopTicket ma wartość true, są prezentowani w nieokreślonej kolejności.
    • Wszyscy kandydaci, którzy nie mają symbolu IsTopTicket, są prezentowani w nieokreślonej kolejności.
    • Wszyscy kandydaci, w przypadku których wartość IsTopTicket jest ustawiona na false, są prezentowani w nieokreślonej kolejności.

Składnia XML dla elementu CandidateSelection jest następująca:<BallotSelection xsi:type="CandidateSelection">.

Elementy

W tabeli poniżej opisano elementy CandidateSelection:

Element Mnogość Typ Opis
CandidateIds 1 IDREFS Unikalne identyfikatory co najmniej jednego elementu.Candidate Użyj, aby powiązać kandydata z wyborem kandydata na karcie do głosowania. Przydatne również wtedy, gdy na karcie do głosowania wybieranych jest kilku kandydatów, np. kandydat na prezydenta i wiceprezydenta.
EndorsementPartyIds 0 lub więcej IDREFS Unikalny identyfikator co najmniej 2 Party podmiotów. Oznacza to sytuację, w której partie polityczne umieszczają na karcie do głosowania tego samego kandydata.
IncludedInAggregation 0 lub 1 boolean Czy głosy oddane na wybraną opcję są uwzględniane w AggregateBallotSelection w przypadku konkursu. Jeśli nie zostanie podana, przyjmuje wartość false.
IsWriteIn 0 lub 1 boolean Wskazuje, czy kandydat został dopisany do listy. Wartością domyślną jest false.

Przykłady

XML

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

JSON

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

PartySelection

Użyj symbolu PartySelection, aby oznaczyć wybory na karcie do głosowania, które dotyczą partii, np. wybór listy partyjnej.

PartySelection dziedziczy atrybuty i elementy BallotSelection. Składnia XML dla elementu PartySelection jest następująca:<BallotSelection xsi:type="PartySelection" ... />.

Elementy

W tabeli poniżej opisano elementy PartySelection:

Element Mnogość Typ Opis
IncludedInAggregation 0 lub 1 boolean Czy głosy oddane na wybraną opcję są uwzględniane w AggregateBallotSelection w przypadku konkursu. Jeśli nie zostanie podana, przyjmuje wartość false.
PartyIds 1 IDREFS Unikalny identyfikator co najmniej jednego elementu.Party Służy do powiązania co najmniej 1 strony z wyborem strony.

Przykłady

XML

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

JSON

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

BallotMeasureSelection

Używaj symbolu BallotMeasureSelection, aby oznaczać wybory, które dotyczą głosowania nad propozycją, np. referendum.

BallotMeasureSelection dziedziczy atrybuty i elementy elementu BallotSelection. Składnia XML dla elementu BallotMeasureSelection jest następująca:<BallotSelection xsi:type="BallotMeasureSelection" ... />.

Elementy

W tabeli poniżej opisano elementy BallotMeasureSelection:

Element Mnogość Typ Opis
ExternalIdentifiers 0 lub 1 ExternalIdentifiers Powiązanie identyfikatora z wyborem w referendum. Wymagany jest stabilny identyfikator.
Selection 1 InternationalizedText Zawiera dostępną opcję na karcie do głosowania, np. Yes lub No.

Przykłady

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

Ten typ BallotSelection jest używany do agregacji liczby głosów (np. agregowania głosów na wielu kandydatów w kategorii „Inni”) i różnych rodzajów głosów nieważnych (np. pustych kart do głosowania, kart nieważnych lub zniszczonych oraz głosów „żaden z powyższych”).

Element SpecialBallotSelection nie powinien być używany w ogólnym elemencie podrzędnym BallotSelection elementu Contest. Zamiast tego ma własne, odrębne pola w elemencie Contest, a mianowicie AggregateBallotSelection, BlankBallotSelection, NoneOfTheAboveBallotSelection i NullBallotSelection. Więcej informacji znajdziesz w sekcji Contest elementy.

Elementy

W tabeli poniżej opisano elementy SpecialBallotSelection:

Element Mnogość Typ Opis
CountedInTotal 0 lub 1 boolean Określa, czy głosy oddane na wybrane podmioty są wliczane do łącznej liczby głosów uznawanych za istotne. Jeśli nie określono inaczej, domyślna wartość to true.
ExternalIdentifiers 0 lub 1 ExternalIdentifiers Powiązanie identyfikatora z wyborem w referendum. Wymagany jest stabilny identyfikator.
Selection 1 InternationalizedText Zawiera nazwę wyboru na karcie do głosowania, np. „Inne” lub „Żadne z powyższych”.

Przykłady

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"
        }
      }
    }