اختيار الاقتراع

استخدِم 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 واحد، يتم عرضه للمستخدمين بالترتيب التالي:

  • يتم ترتيب جميع المرشحين الذين تم ضبط قيمة 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. يشير ذلك إلى ترتيب تدرج فيه الأحزاب السياسية المرشح نفسه في بطاقة الاقتراع.
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. في ما يلي بنية 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"
            }
          ]
        }
      }
    ]