Biểu ngữ

Sử dụng BallotSelection để xác định các lựa chọn trên phiếu bầu trong một cuộc tranh cử, chẳng hạn như khi bạn liên kết ứng cử viên và đảng với số phiếu bầu của họ.

Tài liệu này thảo luận về BallotSelection và các thực thể phụ của nó:

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection

Chọn một trong các loại nguồn cấp dữ liệu sau để tìm hiểu thêm về cách sử dụng BallotSelection và các phần tử vốn có của loại nguồn cấp dữ liệu đó.


BallotSelection

BallotSelection là một phần tử trừu tượng có 3 loại được dùng dựa trên loại cuộc thi:

  • CandidateSelection: Sử dụng type này của BallotSelection khi cuộc thi dành cho một hoặc nhiều ứng cử viên. Thao tác này liên kết lựa chọn phiếu bầu với các phần tử Candidate.
  • PartySelection: Sử dụng type này của BallotSelection khi loại cuộc thi là Party, chẳng hạn như cuộc thi tỷ lệ thuận giữa các đảng.
  • BallotMeasureSelection: Sử dụng loại BallotSelection này để biểu thị các lựa chọn có thể có trong BallotMeasureContest.

Thuộc tính

Bảng sau đây mô tả các thuộc tính của BallotSelection:

Thuộc tính Bắt buộc? Loại Mô tả
objectId Bắt buộc ID Mã nhận dạng nội bộ duy nhất mà các phần tử khác dùng để tham chiếu phần tử này.

Thành phần

Bảng sau đây mô tả các phần tử cho BallotSelection:

Phần tử Số bội Loại Mô tả
SequenceOrder 0 hoặc 1 integer

Chỉ định thứ tự mặc định cho lựa chọn trong phiếu bầu nhằm mục đích hiển thị.

Nếu SequenceOrder không có trong nguồn cấp dữ liệu, thì hệ thống sẽ giả định rằng không có thứ tự nào.

CandidateSelection

Sử dụng CandidateSelection để xác định các lựa chọn trên phiếu bầu trong một cuộc tranh cử, bao gồm cả các lựa chọn viết tay.

CandidateSelection kế thừa các thuộc tính và phần tử của BallotSelection. Bạn có thể thêm thông tin tham chiếu đến nhiều phần tử Candidate nếu cần, ví dụ: khi lựa chọn trên phiếu bầu là cho một vé của nhiều ứng cử viên.

Khi nhiều đề xuất được tham chiếu cho một phiếu yêu cầu hỗ trợ, đôi khi bạn cần giữ nguyên thứ tự của các đề xuất. Trong những trường hợp này, chúng tôi mong đợi ứng dụng tạo sẽ liệt kê các tham chiếu đến các phần tử Candidate trong CandidateIds theo sơ đồ sắp xếp hiện có. Ví dụ: thứ tự của các đề xuất phải khớp với thứ tự của các phần tử tham chiếu Office trong OfficeIds trong Contest thuộc loại CandidateContest.

Nếu bạn tham chiếu nhiều đối tượng Candidate, thì các đối tượng đó sẽ được trình bày cho người dùng theo thứ tự sau:

  • Tất cả các đề xuất có IsTopTicket được đặt thành true đều được sắp xếp trước tất cả các đề xuất không có giá trị IsTopTicket. Đến lượt, các ứng cử viên này được sắp xếp trước tất cả các ứng cử viên có IsTopTicket được đặt thành false. Lý tưởng nhất là lựa chọn được đặt với một đề xuất không có giá trị IsTopTicket hoặc có một cặp đề xuất và một trong số đó có IsTopTicket được đặt thành true. Nếu không đáp ứng các điều kiện này, thì sẽ xảy ra những trường hợp sau:
    • Tất cả các đề xuất có IsTopTicket được đặt thành true đều được trình bày theo một thứ tự không xác định.
    • Tất cả các ứng viên không có IsTopTicket sẽ được trình bày theo một thứ tự không xác định.
    • Tất cả các đề xuất có IsTopTicket được đặt thành false đều được trình bày theo một thứ tự không xác định.

Cú pháp XML cho CandidateSelection là: <BallotSelection xsi:type="CandidateSelection">.

Thành phần

Bảng sau đây mô tả các phần tử cho CandidateSelection:

Phần tử Số bội Loại Mô tả
CandidateIds 1 IDREFS Giá trị nhận dạng riêng biệt cho một hoặc nhiều phần tử Candidate. Dùng để liên kết một ứng cử viên với lựa chọn ứng cử viên trên phiếu bầu. Cũng hữu ích khi bạn chọn nhiều ứng cử viên trên lá phiếu, chẳng hạn như một phiếu bầu có cả Tổng thống và Phó Tổng thống.
EndorsementPartyIds 0 trở lên IDREFS Giá trị nhận dạng riêng biệt cho từ 2 thực thể Party trở lên. Đây là một thoả thuận trong đó các đảng phái chính trị liệt kê cùng một ứng cử viên trên một lá phiếu.
IsWriteIn 0 hoặc 1 boolean Cho biết liệu ứng cử viên có phải là người được ghi thêm tên hay không. Giá trị mặc định là false.

Ví dụ

XML

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

JSON

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

PartySelection

Sử dụng PartySelection để xác định những lựa chọn trên phiếu bầu có liên quan đến một đảng, chẳng hạn như lựa chọn danh sách đảng trên phiếu bầu.

PartySelection kế thừa các thuộc tính và phần tử của BallotSelection. Cú pháp XML cho PartySelection như sau: <BallotSelection xsi:type="PartySelection" ... />.

Thành phần

Bảng sau đây mô tả các phần tử cho PartySelection:

Phần tử Số bội Loại Mô tả
PartyIds 1 IDREFS Giá trị nhận dạng riêng biệt cho một hoặc nhiều phần tử Party. Sử dụng để liên kết một hoặc nhiều bên với lựa chọn bên.

Ví dụ

XML

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

JSON

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

BallotMeasureSelection

Sử dụng BallotMeasureSelection để xác định lựa chọn bỏ phiếu liên quan đến một biện pháp bỏ phiếu, chẳng hạn như trưng cầu dân ý.

BallotMeasureSelection kế thừa các thuộc tính và phần tử của BallotSelection. Cú pháp XML cho BallotMeasureSelection là: <BallotSelection xsi:type="BallotMeasureSelection" ... />.

Thành phần

Bảng sau đây mô tả các phần tử cho BallotMeasureSelection:

Phần tử Số bội Loại Mô tả
ExternalIdentifiers 1 ExternalIdentifiers Liên kết một mã nhận dạng với lựa chọn về dự luật cần bỏ phiếu. Bạn phải có giá trị nhận dạng ổn định.
Selection 1 InternationalizedText Cung cấp một lựa chọn có sẵn cho phiếu bầu, chẳng hạn như Yes hoặc No.

Ví dụ

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