選擇球

使用 BallotSelection 識別選舉中的選票選項,例如將候選人和政黨連結至得票數。

本文將討論 BallotSelection 及其子實體:

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection

選取下列其中一種動態饋給類型,進一步瞭解如何使用 BallotSelection,以及該類型動態饋給的固有元素。


BallotSelection

BallotSelection 是抽象元素,有三種類型,會根據競賽類型使用:

屬性

下表說明 BallotSelection 的屬性:

屬性 是否必要? 類型 說明
objectId 必填 ID 其他元素用來參照這個元素的專屬內部 ID。

元素

下表說明 BallotSelection 的元素:

元素 多重性 類型 說明
SequenceOrder 0 或 1 integer

指定選票選項的預設顯示順序。

如果動態饋給中沒有 SequenceOrder,系統就不會假設任何順序。

CandidateSelection

使用 CandidateSelection 識別候選人競選活動中的選票選項,包括手寫選項。

CandidateSelection 會繼承 BallotSelection 的屬性和元素。如有需要,可以加入多個 Candidate 元素的參照,例如選票是為多位候選人的票券而選。

如果票證參照多位候選人,有時保留候選人順序非常重要。在這些情況下,我們希望產生應用程式能根據現有的排序方式,列出 CandidateIds 內的 Candidate 元素參照。舉例來說,候選人的順序必須與 CandidateContest 類型 ContestOfficeIds 內的 Office 元素參照順序相同。

如果參照多個 Candidate 物件,系統會依下列順序向使用者顯示:

  • 所有將 IsTopTicket 設為 true 的候選項目,排序順序都會在沒有 IsTopTicket 值的候選項目之前。因此,這些候選人會排在 IsTopTicket 設為 false 的所有候選人之前。理想情況下,選取項目會設為沒有 IsTopTicket 值的候選項目,或是設為一對候選項目,其中一個候選項目的 IsTopTicket 設為 true。 如果不符合這些條件,就會發生下列情況:
    • 系統會以未定義的順序,呈現 IsTopTicket 設為 true 的所有候選人。
    • 如果候選人沒有 IsTopTicket,系統會以未定義的順序顯示。
    • 系統會以未定義的順序,呈現 IsTopTicket 設為 false 的所有候選人。

CandidateSelection 的 XML 語法如下: <BallotSelection xsi:type="CandidateSelection">

元素

下表說明 CandidateSelection 的元素:

元素 多重性 類型 說明
CandidateIds 1 IDREFS 一或多個 Candidate 元素的專屬 ID。用於將候選人與選票上的候選人選項建立關聯。如果選票上有多位候選人,例如總統和副總統一起選,這個功能也很有用。
EndorsementPartyIds 0 個以上 IDREFS 兩個以上Party實體的專屬 ID。這代表政黨在選票上列出同一位候選人。
IsWriteIn 0 或 1 boolean 指出候選人是否為自填候選人。預設值為 false

範例

XML

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

JSON

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

PartySelection

使用 PartySelection 找出涉及政黨的選票選項,例如選票上的政黨名單選項。

PartySelection 會繼承 BallotSelection 的屬性和元素。PartySelection 的 XML 語法如下: <BallotSelection xsi:type="PartySelection" ... />

元素

下表說明 PartySelection 的元素:

元素 多重性 類型 說明
PartyIds 1 IDREFS 一或多個 Party 元素的專屬 ID。用來將一或多個當事人與當事人選取項目建立關聯。

範例

XML

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

JSON

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

BallotMeasureSelection

使用 BallotMeasureSelection 找出涉及選票提案 (例如公民投票) 的選票選項。

BallotMeasureSelection 會繼承 BallotSelection 的屬性和元素。BallotMeasureSelection 的 XML 語法如下: <BallotSelection xsi:type="BallotMeasureSelection" ... />

元素

下表說明 BallotMeasureSelection 的元素:

元素 多重性 類型 說明
ExternalIdentifiers 1 ExternalIdentifiers 將 ID 與投票議案選項建立關聯。必須提供穩定 ID
Selection 1 InternationalizedText 提供選票的可用選項,例如 YesNo

範例

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