משתמשים ב-BallotSelection כדי לזהות את הבחירות בקלפי בתחרות, למשל כשמקשרים בין מועמדים ומפלגות לבין מספר הקולות שלהם.
במסמך הזה מוסבר על BallotSelection ועל ישויות המשנה שלו:
BallotSelectionCandidateSelectionPartySelectionBallotMeasureSelectionSpecialBallotSelection
בוחרים אחד מסוגי הפידים הבאים כדי לקבל מידע נוסף על השימוש ב-BallotSelection ועל הרכיבים שקיימים בו באופן מובנה עבור סוג הפיד הזה.
BallotSelection
BallotSelection הוא רכיב מופשט עם שלושה סוגים שמשמשים בהתאם לסוג התחרות:
-
CandidateSelection: משתמשים בtypeשלBallotSelectionכשהתחרות היא למועמד אחד או יותר. הוא מקשר את הבחירה בפתק ההצבעה לרכיביCandidate. -
PartySelection: משתמשים בtypeהזה שלBallotSelectionכאשר סוג התחרות הואParty, למשל תחרות יחסית בין מפלגות. -
BallotMeasureSelection: משתמשים בסוג הזה שלBallotSelectionכדי לייצג אפשרויות בחירה אפשריות בBallotMeasureContest. -
SpecialBallotSelection: סוג הBallotSelectionהזה משמש לצבירה של ספירת קולות (למשל, צבירה של כמה מועמדים לקטגוריה 'אחרים') ולסוגים שונים של קולות לא תקפים (כלומר, פתקי הצבעה ריקים, פתקי הצבעה פסולים וקולות 'אף אחד מהמועמדים').
מאפיינים
בטבלה הבאה מתוארים המאפיינים של BallotSelection:
| מאפיין | חובה? | סוג | תיאור |
|---|---|---|---|
objectId
|
חובה | ID |
מזהה פנימי ייחודי שמשמש רכיבים אחרים כדי ליצור הפניה לרכיב הזה. |
רכיבים
בטבלה הבאה מתוארים הרכיבים של BallotSelection:
| רכיב | ריבוי | סוג | תיאור |
|---|---|---|---|
SequenceOrder |
0 או 1 | integer |
מציין סדר ברירת מחדל לבחירת פריטים להצגה בפתק ההצבעה. אם המאפיין |
CandidateSelection
משתמשים ב-CandidateSelection כדי לזהות את הבחירות בקלפי בתחרות בין מועמדים, כולל מועמדים שלא מופיעים בקלפי.
CandidateSelection יורש את המאפיינים והאלמנטים של BallotSelection. אפשר לכלול הפניות לכמה רכיבי Candidate אם יש צורך בכך, למשל, אם הבחירה בקלפי היא לכרטיס של כמה מועמדים.
כשמפנים לכמה מועמדים לכרטיס, לפעמים חשוב לשמור על הסדר של המועמדים. במקרים כאלה, אנחנו מצפים שהאפליקציה היוצרת תציג את ההפניות לרכיבי Candidate בתוך CandidateIds בהתאם לסדר שנקבע. לדוגמה, הסדר של המועמדים צריך להיות זהה לסדר של ההפניות לאלמנט Office בתוך OfficeIds ב-Contest מסוג CandidateContest.
אם יש יותר מאובייקט Candidate אחד, הם יוצגו למשתמש בסדר הבא:
- כל המועמדים עם
IsTopTicketשהוגדר ל-trueמופיעים לפני כל המועמדים ללא ערךIsTopTicket. הם מוצגים לפני כל המועמדים שבהם הערך שלIsTopTicketהואfalse. הכי טוב לבחור מועמד אחד ללא ערךIsTopTicket, או שני מועמדים שאחד מהם מוגדר עםIsTopTicketבערךtrue. אם התנאים האלה לא מתקיימים, יקרו הדברים הבאים:- כל המועמדים עם הערך
IsTopTicketשמוגדר ל-trueמוצגים בסדר לא מוגדר. - כל המועמדים שבהם
IsTopTicketלא מופיע מוצגים בסדר לא מוגדר. - כל המועמדים עם הערך
IsTopTicketשמוגדר ל-falseמוצגים בסדר לא מוגדר.
- כל המועמדים עם הערך
תחביר ה-XML של CandidateSelection הוא:
<BallotSelection xsi:type="CandidateSelection">.
רכיבים
בטבלה הבאה מתוארים הרכיבים של CandidateSelection:
| רכיב | ריבוי | סוג | תיאור |
|---|---|---|---|
CandidateIds |
1 | IDREFS |
מזהים ייחודיים של רכיב Candidate אחד או יותר. משתמשים כדי לשייך מועמד לבחירת המועמד בפתק ההצבעה. התכונה הזו שימושית גם כשבוחרים כמה מועמדים, למשל כשבוחרים יחד במועמד לנשיאות ובמועמד לסגן הנשיא. |
EndorsementPartyIds |
0 או יותר | IDREFS |
מזהה ייחודי של שתי ישויות Party או יותר.
מדובר בהסדר שבו מפלגות פוליטיות מציגות את אותו מועמד בפתק הצבעה. |
IncludedInAggregation |
0 או 1 | boolean |
האם קולות הבחירה נכללים בAggregateBallotSelection של התחרות. אם לא מציינים ערך, ברירת המחדל היא false.
|
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:
| רכיב | ריבוי | סוג | תיאור |
|---|---|---|---|
IncludedInAggregation |
0 או 1 | boolean |
האם קולות הבחירה נכללים בAggregateBallotSelection של התחרות. אם לא מציינים ערך, ברירת המחדל היא false.
|
PartyIds |
1 | IDREFS |
מזהה ייחודי של רכיב Party אחד או יותר. משתמשים בו כדי לשייך צד אחד או יותר לבחירת הצד. |
דוגמאות
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 |
0 או 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" } ] } } ]
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="selection3"> <Selection> <Text language="en">Other Candidates</Text> </Selection> <ExternalIdentifiers> <ExternalIdentifier> <Type>other</Type> <OtherType>stable</OtherType> <Value>selection3</Value> </ExternalIdentifier> </ExternalIdentifiers> </AggregateBallotSelection> <!-- Counts of ballots left blank --> <BlankBallotSelection objectId="selection4"> <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>selection4</Value> </ExternalIdentifier> </ExternalIdentifiers> </BlankBallotSelection> <!-- Votes for "None of the above" option on the ballot --> <NoneOfTheAboveBallotSelection objectId="selection5"> <!-- 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>selection5</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="selection5"> <!-- 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>selection5</Value> </ExternalIdentifier> </ExternalIdentifiers> </NullBallotSelection>
JSON
"AggregateBallotSelection": { "objectId": "selection3", "Selection": { "Text": { "@language": "en", "#text": "Other Candidates" } }, "ExternalIdentifiers": { "ExternalIdentifier": { "Type": "other", "OtherType": "stable", "Value": "selection3" } }, }, "BlankBallotSelection": { "objectId": "selection4", "Selection": { "Text": { "@language": "en", "#text": "Blank Ballots" } }, "CountedInTotal": true, "ExternalIdentifiers": { "ExternalIdentifier": { "Type": "other", "OtherType": "stable", "Value": "selection4" } } }, "NoneOfTheAboveBallotSelection": { "objectId": "selection5", "Selection": { "Text": { "@language": "en", "#text": "None" } }, "CountedInTotal": true, "ExternalIdentifiers": { "ExternalIdentifier": { "Type": "other", "OtherType": "stable", "Value": "selection5" } } }, "NullBallotSelection": { "objectId": "selection5", "Selection": { "Text": { "@language": "en", "#text": "Spoiled ballots" } }, "CountedInTotal": false, "ExternalIdentifiers": { "ExternalIdentifier": { "Type": "other", "OtherType": "stable", "Value": "selection5" } } }