การเลือกบัตรลงคะแนน

ใช้ BallotSelection เพื่อระบุตัวเลือกในบัตรลงคะแนนในการแข่งขัน เช่น เมื่อลิงก์ผู้สมัครรับเลือกตั้งและพรรคการเมืองกับจำนวนคะแนนเสียง

เอกสารนี้จะกล่าวถึง BallotSelection และเอนทิตีย่อยของ BallotSelection ดังนี้

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection

เลือกประเภทฟีดต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ BallotSelection และองค์ประกอบที่มีอยู่ในฟีดประเภทนั้น


BallotSelection

BallotSelection เป็นองค์ประกอบนามธรรมที่มี 3 ประเภทซึ่งใช้ตาม ประเภทการแข่งขัน

  • CandidateSelection: ใช้typeนี้ BallotSelectionเมื่อการแข่งขันมีผู้สมัครรับเลือกตั้งตั้งแต่ 1 คนขึ้นไป โดยจะลิงก์ การเลือกบัตรลงคะแนนกับองค์ประกอบ Candidate
  • PartySelection: ใช้typeนี้จากBallotSelection เมื่อประเภทการแข่งขันเป็นParty เช่น การแข่งขันแบบสัดส่วนของพรรค
  • BallotMeasureSelection: ใช้BallotSelectionประเภทนี้เพื่อแสดงตัวเลือกที่เป็นไปได้ในBallotMeasureContest

Attributes

ตารางต่อไปนี้อธิบายแอตทริบิวต์สำหรับ BallotSelection

แอตทริบิวต์ จำเป็นหรือไม่ ประเภท คำอธิบาย
objectId ต้องระบุ ID ตัวระบุภายในที่ไม่ซ้ำกันซึ่งองค์ประกอบอื่นๆ ใช้เพื่ออ้างอิงถึง องค์ประกอบนี้

องค์ประกอบ

ตารางต่อไปนี้จะอธิบายองค์ประกอบสำหรับ BallotSelection

องค์ประกอบ ความหลากหลาย ประเภท คำอธิบาย
SequenceOrder 0 หรือ 1 integer

ระบุลำดับเริ่มต้นสำหรับการเลือกบัตรลงคะแนนเพื่อวัตถุประสงค์ในการแสดง

หากไม่มี SequenceOrder ในฟีด ระบบจะไม่ถือว่ามีการสั่งซื้อ

CandidateSelection

ใช้ CandidateSelection เพื่อระบุตัวเลือกในบัตรเลือกตั้งในการแข่งขันของผู้สมัครรับเลือกตั้ง รวมถึงผู้สมัครรับเลือกตั้งที่เขียนชื่อลงในบัตรเลือกตั้ง

CandidateSelection จะรับค่าแอตทริบิวต์ และองค์ประกอบของ BallotSelection คุณอาจรวมการอ้างอิงถึงองค์ประกอบ Candidate หลายรายการได้หากจำเป็น เช่น เมื่อเลือกบัตรลงคะแนนสำหรับตั๋วที่มีผู้สมัครรับเลือกตั้งหลายคน

ในบางครั้ง การรักษลําดับของผู้สมัครที่อ้างอิงในตั๋วเป็นสิ่งสําคัญ ในกรณีเหล่านี้ เราคาดหวังให้แอปพลิเคชันที่สร้างระบุการอ้างอิงถึงองค์ประกอบ Candidate ภายใน CandidateIds ตามรูปแบบการจัดลำดับที่มีอยู่ เช่น ลำดับของผู้สมัครจะต้องตรงกับลำดับเดียวกันของการอ้างอิงองค์ประกอบ Office ภายใน OfficeIds ใน Contest ของประเภท CandidateContest

หากมีการอ้างอิงออบเจ็กต์ Candidate มากกว่า 1 รายการ ระบบจะแสดงต่อผู้ใช้ตามลำดับต่อไปนี้

  • ผู้สมัครที่มี IsTopTicket ตั้งค่าเป็น true จะได้รับการจัดอันดับก่อนผู้สมัครทั้งหมดที่ไม่มีค่า IsTopTicket และจะมีการจัดลำดับก่อนหน้าผู้สมัครรับเลือกตั้งทั้งหมดที่มีIsTopTicketตั้งค่าเป็นfalse ในอุดมคติ การเลือก จะตั้งค่าโดยมีผู้สมัครรับเลือก 1 คนที่ไม่มีค่า IsTopTicket หรือมี ผู้สมัครรับเลือก 2 คน และคนใดคนหนึ่งมีค่า IsTopTicket ตั้งเป็น true หากไม่เป็นไปตามเงื่อนไขต่อไปนี้ จะเกิดสิ่งต่อไปนี้ขึ้น
    • ตัวเลือกทั้งหมดที่มี IsTopTicket ตั้งค่าเป็น true จะแสดงตามลำดับ undefined
    • ผู้สมัครทั้งหมดที่IsTopTicketไม่อยู่จะแสดงตามลำดับที่ ไม่ได้กำหนด
    • ตัวเลือกทั้งหมดที่มี IsTopTicket ตั้งค่าเป็น false จะแสดงตามลำดับ undefined

ไวยากรณ์ XML สำหรับ CandidateSelection มีดังนี้ <BallotSelection xsi:type="CandidateSelection">

องค์ประกอบ

ตารางต่อไปนี้จะอธิบายองค์ประกอบสำหรับ CandidateSelection

องค์ประกอบ ความหลากหลาย ประเภท คำอธิบาย
CandidateIds 1 IDREFS ตัวระบุที่ไม่ซ้ำกันสำหรับองค์ประกอบ Candidate อย่างน้อย 1 รายการ ใช้เพื่อเชื่อมโยงผู้สมัครรับเลือกตั้งกับการเลือกผู้สมัครรับเลือกตั้งใน บัตรลงคะแนน นอกจากนี้ ยังมีประโยชน์เมื่อมีการเลือกผู้สมัครหลายคนในบัตรเลือกตั้ง เช่น บัตรเลือกตั้งที่มีการเลือกประธานาธิบดีและรองประธานาธิบดีพร้อมกัน
EndorsementPartyIds 0 ขึ้นไป IDREFS ตัวระบุที่ไม่ซ้ำกันสำหรับเอนทิตี Party ตั้งแต่ 2 รายการขึ้นไป ซึ่งแสดงถึงข้อตกลงที่พรรคการเมืองระบุชื่อผู้สมัครรับเลือกตั้งคนเดียวกันในบัตรลงคะแนน
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 ไวยากรณ์ XML สำหรับ PartySelection มีดังนี้ <BallotSelection xsi:type="PartySelection" ... />

องค์ประกอบ

ตารางต่อไปนี้จะอธิบายองค์ประกอบสำหรับ PartySelection

องค์ประกอบ ความหลากหลาย ประเภท คำอธิบาย
PartyIds 1 IDREFS ตัวระบุที่ไม่ซ้ำกันสำหรับองค์ประกอบ Party อย่างน้อย 1 รายการ ใช้เพื่อเชื่อมโยงบุคคลอย่างน้อย 1 คนกับตัวเลือกบุคคล

ตัวอย่าง

XML

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

JSON

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

BallotMeasureSelection

ใช้ BallotMeasureSelection เพื่อระบุการเลือกบัตรลงคะแนนที่เกี่ยวข้องกับ มาตรการลงคะแนน เช่น การลงประชามติ

BallotMeasureSelection จะรับค่าแอตทริบิวต์และองค์ประกอบของ BallotSelection ไวยากรณ์ XML สำหรับ BallotMeasureSelection มีดังนี้ <BallotSelection xsi:type="BallotMeasureSelection" ... />

องค์ประกอบ

ตารางต่อไปนี้จะอธิบายองค์ประกอบสำหรับ BallotMeasureSelection

องค์ประกอบ ความหลากหลาย ประเภท คำอธิบาย
ExternalIdentifiers 1 ExternalIdentifiers เชื่อมโยงรหัสกับการเลือกมาตรการลงคะแนน ต้องระบุ ตัวระบุที่เสถียร
Selection 1 InternationalizedText ระบุตัวเลือกที่ใช้ได้สำหรับบัตรลงคะแนน เช่น Yes หรือ No

ตัวอย่าง

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