استخدِم BallotSelection لتحديد خيارات بطاقة الاقتراع في إحدى الانتخابات، مثلاً عند ربط المرشحين والأحزاب بأعداد الأصوات التي حصلوا عليها.
يتناول هذا المستند BallotSelection والكيانات الفرعية التابعة له:
BallotSelectionCandidateSelectionPartySelectionBallotMeasureSelectionSpecialBallotSelection
اختَر أحد أنواع الخلاصات التالية لمعرفة المزيد حول كيفية استخدام
BallotSelection وعناصره المضمّنة مع هذا النوع من الخلاصات.
BallotSelection
BallotSelection هو عنصر مجرّد يتضمّن ثلاثة أنواع يتم استخدامها استنادًا إلى نوع المسابقة:
CandidateSelection: استخدِمtypeBallotSelectionهذا عندما تكون المسابقة مخصّصة لمرشّح واحد أو أكثر. ويربط هذا المعرّف خيار الاقتراع بعناصر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" } } }