ใช้ BallotSelection เพื่อระบุตัวเลือกในการลงคะแนนในรายการแข่งขัน เช่น เมื่อคุณลิงก์ผู้สมัครรับเลือกตั้งและพรรคการเมืองกับจำนวนคะแนนเสียง
เอกสารนี้จะอธิบาย BallotSelection และเอนทิตีย่อย ดังนี้
BallotSelectionCandidateSelectionPartySelectionBallotMeasureSelectionSpecialBallotSelection
เลือกฟีดประเภทใดประเภทหนึ่งต่อไปนี้เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้ BallotSelection และองค์ประกอบที่เกี่ยวข้องกับฟีดประเภทนั้น
BallotSelection
BallotSelection เป็นองค์ประกอบนามธรรมที่มี 3 ประเภทซึ่งจะใช้ตามประเภทของการแข่งขัน
CandidateSelection: ใช้typeของBallotSelectionนี้เมื่อการแข่งขันมีผู้สมัครรับเลือกตั้งอย่างน้อย 1 คน โดยจะลิงก์ ตัวเลือกในการลงคะแนนกับCandidateองค์ประกอบPartySelection: ใช้typeของBallotSelectionนี้เมื่อประเภทการแข่งขันเป็นParty, เช่น การแข่งขันแบบสัดส่วนของพรรคBallotMeasureSelection: ใช้BallotSelectionประเภทนี้เพื่อแสดงตัวเลือกที่เป็นไปได้ในBallotMeasureContestSpecialBallotSelection:BallotSelectionประเภทนี้ใช้สำหรับการรวมคะแนนเสียง (เช่น การรวม ผู้สมัครรับเลือกตั้งหลายคนไว้ใน "อื่นๆ") และการลงคะแนนเสียงประเภทต่างๆ ที่ไม่ใช่การลงคะแนนเสียง (เช่น บัตรลงคะแนนเปล่า บัตรลงคะแนนที่ไม่ถูกต้อง และการลงคะแนนเสียง "ไม่มีตัวเลือกที่กล่าวมาข้างต้น")
แอตทริบิวต์
ตารางต่อไปนี้อธิบายแอตทริบิวต์สำหรับ BallotSelection
| แอตทริบิวต์ | จำเป็นหรือไม่ | ประเภท | คำอธิบาย |
|---|---|---|---|
objectId
|
ต้องระบุ | ID |
ตัวระบุภายในที่ไม่ซ้ำกันซึ่งองค์ประกอบอื่นๆ ใช้เพื่ออ้างอิง องค์ประกอบนี้ |
องค์ประกอบ
ตารางต่อไปนี้อธิบายองค์ประกอบสำหรับ BallotSelection
| องค์ประกอบ | ความหลากหลาย | ประเภท | คำอธิบาย |
|---|---|---|---|
SequenceOrder |
0 หรือ 1 | integer |
ระบุลำดับเริ่มต้นสำหรับตัวเลือกในการลงคะแนนเพื่อวัตถุประสงค์ในการแสดงผล หากไม่มี |
CandidateSelection
ใช้ CandidateSelection เพื่อระบุตัวเลือกในการลงคะแนนในการแข่งขันที่มีผู้สมัครรับเลือกตั้ง รวมถึงการเขียนชื่อผู้สมัครรับเลือกตั้งเอง
CandidateSelection สืบทอดแอตทริบิวต์และองค์ประกอบของ BallotSelection คุณสามารถรวมการอ้างอิงองค์ประกอบหลายรายการ
Candidateได้หากจำเป็น เช่น เมื่อตัวเลือกในการลงคะแนนเป็นบัตรลงคะแนนที่มีผู้สมัครรับเลือกตั้งหลายคน
เมื่อมีการอ้างอิงผู้สมัครรับเลือกตั้งหลายคนสำหรับบัตรลงคะแนน บางครั้งการรักษาลำดับของผู้สมัครรับเลือกตั้งไว้ก็มีความสำคัญ ในกรณีเหล่านี้ เราคาดหวังให้แอปพลิเคชันที่สร้างรายการอ้างอิงองค์ประกอบ Candidate ภายใน CandidateIds ตามรูปแบบการจัดลำดับที่มีอยู่ ตัวอย่างเช่น
ลำดับของผู้สมัครรับเลือกตั้งต้องตรงกับการจัดลำดับการอ้างอิงองค์ประกอบ
Officeภายใน
OfficeIdsในContestประเภท
CandidateContest
หากมีการอ้างอิงออบเจ็กต์ Candidate มากกว่า 1 รายการ ระบบจะแสดงออบเจ็กต์เหล่านั้นต่อผู้ใช้ตามลำดับต่อไปนี้
- ผู้สมัครรับเลือกตั้งทั้งหมดที่มี
IsTopTicketตั้งค่าเป็นtrueจะถูกจัดลำดับก่อนผู้สมัครรับเลือกตั้งทั้งหมดที่ไม่มีค่าIsTopTicketซึ่งจะถูกจัดลำดับก่อนผู้สมัครรับเลือกตั้งทั้งหมดที่มีIsTopTicketตั้งค่าเป็นfalseโดยควรตั้งค่าตัวเลือกเป็นผู้สมัครรับเลือกตั้ง 1 คนที่ไม่มีค่าIsTopTicketหรือมีผู้สมัครรับเลือกตั้ง 2 คน และ 1 ในนั้นมีIsTopTicketตั้งค่าเป็นtrueหากไม่เป็นไปตามเงื่อนไขต่อไปนี้จะเกิดขึ้น- ผู้สมัครรับเลือกตั้งทั้งหมดที่มี
IsTopTicketตั้งค่าเป็นtrueจะแสดงตามลำดับที่ไม่กำหนด - ผู้สมัครรับเลือกตั้งทั้งหมดที่ไม่มี
IsTopTicketจะแสดงตามลำดับที่ไม่กำหนด - ผู้สมัครรับเลือกตั้งทั้งหมดที่มี
IsTopTicketตั้งค่าเป็นfalseจะแสดงตามลำดับที่ไม่กำหนด
- ผู้สมัครรับเลือกตั้งทั้งหมดที่มี
ไวยากรณ์ XML สำหรับ CandidateSelection คือ
<BallotSelection xsi:type="CandidateSelection">
องค์ประกอบ
ตารางต่อไปนี้อธิบายองค์ประกอบสำหรับ CandidateSelection
| องค์ประกอบ | ความหลากหลาย | ประเภท | คำอธิบาย |
|---|---|---|---|
CandidateIds |
1 | IDREFS |
ตัวระบุที่ไม่ซ้ำกันสำหรับองค์ประกอบอย่างน้อย 1 รายการ
Candidate
ใช้เพื่อเชื่อมโยงผู้สมัครรับเลือกตั้งกับตัวเลือกในการลงคะแนนของผู้สมัครรับเลือกตั้งบน
บัตรลงคะแนน นอกจากนี้ยังเป็นประโยชน์เมื่อตัวเลือกในการลงคะแนนมีผู้สมัครรับเลือกตั้งหลายคน
เช่น บัตรลงคะแนนที่มีการเลือกประธานาธิบดีและรองประธานาธิบดี
พร้อมกัน |
EndorsementPartyIds |
0 รายการขึ้นไป | IDREFS |
ตัวระบุที่ไม่ซ้ำกันสำหรับเอนทิตีอย่างน้อย 2 รายการ
Party
ซึ่งแสดงถึงข้อตกลงที่พรรคการเมืองต่างๆ ระบุผู้สมัครรับเลือกตั้งคนเดียวกันในบัตรลงคะแนน |
IncludedInAggregation |
0 หรือ 1 | boolean |
ระบุว่าคะแนนเสียงของตัวเลือกจะรวมอยู่ใน
AggregateBallotSelection สำหรับการแข่งขันหรือไม่ ระบบจะถือว่าเป็น
false หากไม่ได้ระบุ
|
IsWriteIn |
0 หรือ 1 | boolean |
ระบุว่าผู้สมัครรับเลือกตั้งเป็นผู้สมัครรับเลือกตั้งที่เขียนชื่อเองหรือไม่ ค่าเริ่มต้นคือ
false.
|
PostElectionStatus |
0 หรือ 1 | CandidatePostElectionStatus |
สถานะสุดท้ายของผู้สมัครรับเลือกตั้ง เช่น winner หรือ
advanced-to-runoff |
PreElectionStatus |
0 หรือ 1 | CandidatePreElectionStatus |
สถานะการลงทะเบียนของผู้สมัครรับเลือกตั้ง เช่น filed หรือ
qualified |
ตัวอย่าง
XML
<BallotSelection objectId="cs-10861" xsi:type="CandidateSelection"> <CandidateIds>can-10861a can-10861b</CandidateIds> </BallotSelection>
PartySelection
ใช้ PartySelection เพื่อระบุตัวเลือกในการลงคะแนนที่เกี่ยวข้องกับพรรคการเมือง เช่น ตัวเลือกรายชื่อพรรคการเมืองในบัตรลงคะแนน
PartySelection สืบทอดแอตทริบิวต์และองค์ประกอบของ BallotSelection ไวยากรณ์ XML สำหรับ PartySelection คือ
<BallotSelection xsi:type="PartySelection" ... />
องค์ประกอบ
ตารางต่อไปนี้อธิบายองค์ประกอบสำหรับ PartySelection
| องค์ประกอบ | ความหลากหลาย | ประเภท | คำอธิบาย |
|---|---|---|---|
IncludedInAggregation |
0 หรือ 1 | boolean |
ระบุว่าคะแนนเสียงของตัวเลือกจะรวมอยู่ใน
AggregateBallotSelection สำหรับการแข่งขันหรือไม่ ระบบจะถือว่าเป็น
false หากไม่ได้ระบุ
|
PartyIds |
1 | IDREFS |
ตัวระบุที่ไม่ซ้ำกันสำหรับองค์ประกอบอย่างน้อย 1 รายการ
Party
ใช้เพื่อเชื่อมโยงพรรคการเมืองอย่างน้อย 1 พรรคกับการเลือกพรรคการเมือง
|
ตัวอย่าง
XML
<BallotSelection objectId="ps-150" xsi:type="PartySelection"> <PartyIds>par-100</PartyIds> </BallotSelection>
BallotMeasureSelection
ใช้ BallotMeasureSelection เพื่อระบุตัวเลือกในการลงคะแนนที่เกี่ยวข้องกับมาตรการลงคะแนน เช่น การลงประชามติ
BallotMeasureSelection สืบทอดแอตทริบิวต์และองค์ประกอบของ BallotSelection ไวยากรณ์ XML สำหรับ BallotMeasureSelection คือ
<BallotSelection xsi:type="BallotMeasureSelection" ... />
องค์ประกอบ
ตารางต่อไปนี้อธิบายองค์ประกอบสำหรับ BallotMeasureSelection
| องค์ประกอบ | ความหลากหลาย | ประเภท | คำอธิบาย |
|---|---|---|---|
ExternalIdentifiers |
0 หรือ 1 | ExternalIdentifiers |
เชื่อมโยงรหัสกับตัวเลือกมาตรการลงคะแนน ต้องมีตัวระบุที่เสถียร |
Selection |
1 | InternationalizedText |
ระบุตัวเลือกที่มีให้สำหรับบัตรลงคะแนน เช่น Yes
หรือ No |
ตัวอย่าง
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
BallotSelection ประเภทนี้ใช้สำหรับการรวมคะแนนเสียง (เช่น การรวมผู้สมัครรับเลือกตั้งหลายคนไว้ใน "อื่นๆ") และการลงคะแนนเสียงประเภทต่างๆ ที่ไม่ใช่การลงคะแนนเสียง (เช่น บัตรลงคะแนนเปล่า บัตรลงคะแนนที่ไม่ถูกต้อง และการลงคะแนนเสียง "ไม่มีตัวเลือกที่กล่าวมาข้างต้น")
SpecialBallotSelection ไม่ควรใช้ใน BallotSelection
องค์ประกอบย่อยทั่วไปของ Contest แต่ควรใช้ฟิลด์ที่แยกต่างหากของ Contest,
ได้แก่ AggregateBallotSelection, BlankBallotSelection,
NoneOfTheAboveBallotSelection และ NullBallotSelection ดูรายละเอียดเพิ่มเติมได้ที่องค์ประกอบ
Contest
องค์ประกอบ
ตารางต่อไปนี้อธิบายองค์ประกอบสำหรับ SpecialBallotSelection
| องค์ประกอบ | ความหลากหลาย | ประเภท | คำอธิบาย |
|---|---|---|---|
CountedInTotal |
0 หรือ 1 | boolean |
ระบุว่าคะแนนเสียงของตัวเลือกเอนทิตีจะรวมอยู่ในคะแนนเสียงทั้งหมดที่ลงคะแนน
ซึ่งถือว่ามีความสำคัญหรือไม่ ระบบจะถือว่าเป็น true หาก
ไม่ได้ระบุ
|
ExternalIdentifiers |
0 หรือ 1 | ExternalIdentifiers |
เชื่อมโยงรหัสกับตัวเลือกมาตรการลงคะแนน ต้องมีตัวระบุที่เสถียร |
Selection |
1 | InternationalizedText |
ระบุชื่อสำหรับตัวเลือกในการลงคะแนนนี้ เช่น "อื่นๆ" หรือ "ไม่มี ตัวเลือกที่กล่าวมาข้างต้น" |
ตัวอย่าง
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>