Wybór loterii

Użyj BallotSelection, aby określić wybory w konkursie, np. gdy łączysz kandydatów i partie z liczbą głosów.

Ten dokument omawia BallotSelection i jej podrzędne jednostki:

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection
    • SpecialBallotSelection

Wybierz jeden z tych typów pliku danych, aby dowiedzieć się, jak używać BallotSelection i jej elementów w przypadku tego typu pliku danych.


BallotSelection

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

  • CandidateSelection: użyj tego type z BallotSelection, gdy konkurs dotyczy co najmniej 1 kandydata. Łączy on wybór w głosowaniu z Candidate elementami.
  • PartySelection: użyj tego type z BallotSelection gdy typ konkursu to Party, np. w przypadku konkursu proporcjonalnego.
  • BallotMeasureSelection: użyj tego typu BallotSelection, aby przedstawić możliwe wybory w BallotMeasureContest.
  • SpecialBallotSelection: ten typ BallotSelection jest używany do agregacji liczby głosów (np. agregowania wielu kandydatów w kategorii „Inni”) oraz 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”).

Atrybuty

W tabeli poniżej znajdziesz opis atrybutów 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 znajdziesz opis elementów BallotSelection:

Element Mnogość Typ Opis
SequenceOrder 0 lub 1 integer

Określa domyślną kolejność wyboru w głosowaniu na potrzeby wyświetlania.

Jeśli w pliku danych nie ma elementu SequenceOrder, nie zakłada się żadnej kolejności.

CandidateSelection

Użyj CandidateSelection, aby określić wybory w głosowaniu w konkursie na kandydata, w tym kandydatów wpisanych przez wyborców.

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

Gdy w przypadku listy kandydatów odwołuje się do wielu kandydatów, czasami ważne jest zachowanie kolejności kandydatów. W takich przypadkach oczekujemy, że aplikacja generująca będzie wyświetlać odwołania do elementów Candidate w 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 Office w OfficeIds w Contest typu CandidateContest.

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

  • Wszyscy kandydaci z ustawioną wartością IsTopTicket na true są uporządkowani przed wszystkimi kandydatami bez wartości IsTopTicket. Ci z kolei są uporządkowani przed wszystkimi kandydatami z ustawioną wartością IsTopTicket na false. Idealnie, wybór jest ustawiony na 1 kandydata bez wartości IsTopTicket lub na parę kandydatów, z których 1 ma ustawioną wartość IsTopTicket na true. Jeśli te warunki nie są spełnione, następuje:
    • Wszyscy kandydaci z ustawioną wartością IsTopTicket na true są prezentowani w nieokreślonej kolejności.
    • Wszyscy kandydaci bez wartości IsTopTicket są prezentowani w nieokreślonej kolejności.
    • Wszyscy kandydaci z ustawioną wartością IsTopTicket na false są prezentowani w nieokreślonej kolejności.

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

Elementy

W tabeli poniżej znajdziesz opis elementów CandidateSelection:

Element Mnogość Typ Opis
CandidateIds 1 IDREFS Unikalne identyfikatory co najmniej 1 Candidate elementu. Służy do powiązania kandydata z wyborem w głosowaniu na karcie do głosowania. Przydaje się też, gdy wybór w głosowaniu dotyczy wielu kandydatów, np. listy z kandydatem na prezydenta i wiceprezydenta
EndorsementPartyIds 0 lub więcej IDREFS Unikalny identyfikator co najmniej 2 Party jednostek. Reprezentuje to sytuację, w której partie polityczne umieszczają tego samego kandydata na karcie do głosowania.
IncludedInAggregation 0 lub 1 boolean Czy liczba głosów na ten wybór jest uwzględniana w AggregateBallotSelection w przypadku konkursu. Jeśli nie określono, przyjmuje się wartość false.
IsWriteIn 0 lub 1 boolean Wskazuje, czy kandydat jest wpisany przez wyborcę. Wartością domyślną jest false.

Przykłady

XML

    <BallotSelection objectId="cs-10861" xsi:type="CandidateSelection">
      <CandidateIds>can-10861a can-10861b</CandidateIds>
    </BallotSelection>

PartySelection

Użyj PartySelection, aby określić wybory w głosowaniu, które dotyczą partii, np. wybór listy partyjnej na karcie do głosowania.

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

Elementy

W tabeli poniżej znajdziesz opis elementów PartySelection:

Element Mnogość Typ Opis
IncludedInAggregation 0 lub 1 boolean Czy liczba głosów na ten wybór jest uwzględniana w AggregateBallotSelection w przypadku konkursu. Jeśli nie określono, przyjmuje się wartość false.
PartyIds 1 IDREFS Unikalny identyfikator co najmniej 1 Party elementu. Służy do powiązania co najmniej 1 partii z wyborem partii.

Przykłady

XML

    <BallotSelection objectId="ps-150" xsi:type="PartySelection">
      <PartyIds>par-100</PartyIds>
    </BallotSelection>

BallotMeasureSelection

Użyj BallotMeasureSelection, aby określić wybory w głosowaniu, które dotyczą środka głosowania, np. referendum.

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

Elementy

W tabeli poniżej znajdziesz opis elementów BallotMeasureSelection:

Element Mnogość Typ Opis
ExternalIdentifiers 0 lub 1 ExternalIdentifiers Łączy identyfikator z wyborem w głosowaniu. Wymagany jest stabilny identyfikator.
Selection 1 InternationalizedText Zawiera dostępny wybór w głosowaniu, np. Yes lub No.

Przykłady

XML

    <BallotSelection objectId="bms-00" xsi:type="BallotMeasureSelection">
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>bms-00-yes</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
      <Selection>
        <Text language="en">Yes</Text>
      </Selection>
    </BallotSelection>

XML

    <BallotSelection objectId="bms-00" xsi:type="BallotMeasureSelection">
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>bms-00-yes</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
      <Selection>
        <Text language="en">Yes</Text>
      </Selection>
    </BallotSelection>

SpecialBallotSelection

Ten typ BallotSelection jest używany do agregacji liczby głosów (np. agregowania wielu kandydatów w kategorii „Inni”) oraz 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”).

SpecialBallotSelection nie należy używać w ogólnym BallotSelection podelemencie Contest. Zamiast tego ma ona własne pola w Contest, czyli AggregateBallotSelection, BlankBallotSelection, NoneOfTheAboveBallotSelection i NullBallotSelection. Więcej informacji znajdziesz w sekcji Elementy Contest więcej szczegółów.

Elementy

W tabeli poniżej znajdziesz opis elementów SpecialBallotSelection:

Element Mnogość Typ Opis
CountedInTotal 0 lub 1 boolean Czy liczba głosów na ten wybór jest uwzględniana w łącznej liczbie głosów uznanych za istotne. Jeśli nie określono, przyjmuje się wartość true if unspecified.
ExternalIdentifiers 0 lub 1 ExternalIdentifiers Łączy identyfikator z wyborem w głosowaniu. Wymagany jest stabilny identyfikator.
Selection 1 InternationalizedText Zawiera nazwę tego wyboru w głosowaniu, np. „Inni” lub „Żaden z powyższych”.

Przykłady

XML

    <AggregateBallotSelection objectId="sbs-3">
      <Selection>
        <Text language="en">Other Candidates</Text>
      </Selection>
      <ExternalIdentifiers>
        <ExternalIdentifier>
          <Type>other</Type>
          <OtherType>stable</OtherType>
          <Value>sbs-3</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </AggregateBallotSelection>
    <!-- Counts of ballots left blank -->
    <BlankBallotSelection objectId="sbs-4">
      <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>sbs-4</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </BlankBallotSelection>
    <!-- Votes for "None of the above" option on the ballot -->
    <NoneOfTheAboveBallotSelection objectId="sbs-5">
      <!--
        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>sbs-5</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="sbs-6">
      <!--
        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>sbs-6</Value>
        </ExternalIdentifier>
      </ExternalIdentifiers>
    </NullBallotSelection>