בחירת פתק

משתמשים ב-BallotSelection כדי לזהות את הבחירות בקלפי בתחרות, למשל כשמקשרים בין מועמדים ומפלגות לבין מספר הקולות שלהם.

במסמך הזה מוסבר על BallotSelection ועל ישויות המשנה שלו:

  • BallotSelection
    • CandidateSelection
    • PartySelection
    • BallotMeasureSelection

בוחרים אחד מסוגי הפידים הבאים כדי לקבל מידע נוסף על השימוש ב-BallotSelection ועל הרכיבים שקיימים בו לפי סוג הפיד.


BallotSelection

BallotSelection הוא רכיב מופשט עם שלושה סוגים שמשמשים בהתאם לסוג התחרות:

  • CandidateSelection: משתמשים ב-type מתוך BallotSelection כשהתחרות היא עבור מועמד אחד או יותר. הוא מקשר את הבחירה בפתק ההצבעה לרכיבי Candidate.
  • PartySelection: משתמשים בערך type מתוך BallotSelection כאשר סוג התחרות הוא Party, למשל תחרות יחסית בין מפלגות.
  • BallotMeasureSelection: משתמשים בסוג BallotSelection הזה כדי לייצג אפשרויות בחירה בBallotMeasureContest.

מאפיינים

בטבלה הבאה מתוארים המאפיינים של BallotSelection:

מאפיין חובה? סוג תיאור
objectId חובה ID מזהה פנימי ייחודי שמשמש רכיבים אחרים כדי ליצור הפניה לרכיב הזה.

רכיבים

בטבלה הבאה מתוארים הרכיבים של BallotSelection:

רכיב ריבוי סוג תיאור
SequenceOrder ‫0 או 1 integer

מציין סדר ברירת מחדל של הבחירות בקלפי למטרות תצוגה.

אם המאפיין SequenceOrder לא מופיע בפיד, לא מניחים שיש הזמנה.

CandidateSelection

משתמשים במקש CandidateSelection כדי לזהות את הבחירות בקלפי בתחרות בין מועמדים, כולל מועמדים שלא מופיעים בקלפי.

CandidateSelection יורש את המאפיינים והרכיבים של BallotSelection. אפשר לכלול הפניות לכמה רכיבי Candidate אם יש צורך בכך, למשל, כשבחירת המועמד היא לכרטיס של כמה מועמדים.

כשמפנים לכרטיס כמה מועמדים, לפעמים חשוב לשמור על הסדר של המועמדים. במקרים כאלה, אנחנו מצפים שאפליקציית היצירה תפרט את ההפניות לרכיבי Candidate בתוך CandidateIds בהתאם לסדר שנקבע. לדוגמה, הסדר של המועמדים צריך להיות זהה לסדר של ההפניות לאלמנט Office בתוך OfficeIds ב-Contest מסוג CandidateContest.

אם יש יותר מאובייקט Candidate אחד, הם יוצגו למשתמש בסדר הבא:

  • כל המועמדים עם הערך true של המאפיין IsTopTicket מופיעים לפני כל המועמדים ללא ערך של המאפיין IsTopTicket. הם מוזמנים לפני כל המועמדים עם הערך false שמוגדר ל-IsTopTicket. הבחירה האידיאלית היא מועמד אחד ללא ערך IsTopTicket, או זוג מועמדים שאחד מהם מוגדר עם ערך IsTopTicket של true. אם התנאים האלה לא מתקיימים, יקרו הדברים הבאים:
    • כל המועמדים עם הערך IsTopTicket שמוגדר ל-true מוצגים בסדר לא מוגדר.
    • כל המועמדים שבהם הערך IsTopTicket לא קיים מוצגים בסדר לא מוגדר.
    • כל המועמדים עם הערך IsTopTicket שמוגדר ל-false מוצגים בסדר לא מוגדר.

התחביר של CandidateSelection ב-XML הוא: <BallotSelection xsi:type="CandidateSelection">.

רכיבים

בטבלה הבאה מתוארים הרכיבים של CandidateSelection:

רכיב ריבוי סוג תיאור
CandidateIds 1 IDREFS מזהים ייחודיים של רכיב Candidate אחד או יותר. משתמשים כדי לשייך מועמד לבחירת המועמד בפתק ההצבעה. התכונה הזו שימושית גם כשבוחרים כמה מועמדים, למשל כשבוחרים יחד מועמד לנשיאות ומועמד לסגן הנשיא.
EndorsementPartyIds ‫0 או יותר IDREFS מזהה ייחודי של שתי ישויות Party או יותר. מדובר בהסדר שבו מפלגות פוליטיות מציגות את אותו מועמד בפתק הצבעה.
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 אחד או יותר. משתמשים בפרמטר הזה כדי לשייך צד אחד או יותר לבחירת הצד.

דוגמאות

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 משייך מזהה לבחירה של משאל עם. צריך לציין מזהה יציב.
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"
            }
          ]
        }
        "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"
            }
          ]
        }
        "Text": [
          {
            "value": "Yes",
            "language": "en"
          },
        ]
      }
    ]