The vote Element

The vote element records the parliamentary vote on a changeSet. It lives inside changeSet and captures the outcome, date, individual voters, and a link to the full debate record.

Structure

<akndiff:vote date="2024-05-10"
            result="approved"
            source="/poc/debate/pae-2024-01-pleno">
  <akndiff:for>
    <akndiff:voter href="/poc/persona/diputada-madrilena" showAs="Dip. Madrileña"/>
    <akndiff:voter href="/poc/persona/diputado-catalan" showAs="Dip. Catalán"/>
  </akndiff:for>
  <akndiff:against>
    <akndiff:voter href="/poc/persona/diputado-valenciano" showAs="Dip. Valenciano"/>
  </akndiff:against>
  <akndiff:abstain/>
</akndiff:vote>

Attributes

Attribute Required Description
date Yes Date of the vote (ISO 8601)
result Yes Outcome of the vote (see values below)
source No FRBR URI of the debate document containing the full session record

Result values

Value Meaning
approved The amendment was approved. The changeSet produces a new document version (result differs from base).
rejected The amendment was voted down. The changeSet has base == result.
withdrawn The author withdrew the amendment before or during the vote. The changeSet has base == result.
inadmissible The amendment was ruled out of order (e.g., procedural reasons). The changeSet has base == result.
pending The amendment has not yet been voted on.

Voter containers

The vote is broken into three containers, each holding zero or more voter elements:

Container Description
<akndiff:for> Voters who voted in favor
<akndiff:against> Voters who voted against
<akndiff:abstain> Voters who abstained

Empty containers are still included for clarity:

<!-- Unanimous rejection: nobody voted for -->
<akndiff:for/>
<akndiff:against>
  <akndiff:voter href="..." showAs="..."/>
  <!-- ... all 8 voters ... -->
</akndiff:against>
<akndiff:abstain/>
<!-- Withdrawn before vote: all containers empty -->
<akndiff:for/>
<akndiff:against/>
<akndiff:abstain/>

The voter element

<akndiff:voter href="/poc/persona/diputada-madrilena" showAs="Dip. Madrileña"/>
Attribute Required Description
href Yes FRBR URI identifying the person (typically matches a TLCPerson in the document's <references>)
showAs Yes Human-readable display name

Why vote lives at changeSet level

In parliamentary procedure, amendments are typically voted on as a whole — all the article changes in an amendment are approved or rejected together. That's why vote is a child of changeSet, not of individual articleChange elements.

This matches real-world practice: a legislator votes for or against "Amendment 2" (the complete package of changes), not for individual article modifications within it.

Relationship to AKN debate documents

The source attribute on vote links to a standard AKN debate document where the full session transcript lives — speeches, arguments, procedural notes. AKN Diff voting data complements but doesn't replace the debate record; it provides the structured, computable summary.


Previous: The changeSet element | Next: Examples walkthrough

parlamento.ai

Diff es un proyecto de investigacion de parlamento.ai, donde proveemos transcripciones en tiempo real y alertas sobre lo que esta pasando en el Congreso.

Constantemente buscamos empujar los limites de que tan transparente puede ser el Congreso. Cualquier comentario o sugerencia es muy bienvenido.