Legislative Hierarchy

Legislation is organized in a tree of nested structural elements. AKN provides a standard set of hierarchy levels that jurisdictions can pick from to model their own legislation.

The hierarchy from top to bottom

book
  └─ part
       └─ title
            └─ subtitle
                 └─ chapter
                      └─ subchapter
                           └─ section
                                └─ subsection
                                     └─ article
                                          └─ paragraph
                                               └─ subparagraph
                                                    └─ clause
                                                         └─ subclause
                                                              └─ ...

Not all levels are used in every jurisdiction. The hierarchy is flexible:

  • France/Spain/Italy: typically use title → chapter → article → paragraph
  • UK: uses part → chapter → section → subsection
  • US: uses title → subtitle → chapter → subchapter → section
  • EU: uses title → chapter → section → article → paragraph

Hierarchy element structure

Every hierarchy element follows the same internal pattern:

<article eId="art_1">
  <num>1</num>                           <!-- optional: the number -->
  <heading>Short title</heading>         <!-- optional: the heading -->
  <subheading>More detail</subheading>   <!-- optional: subtitle -->
  <content>                              <!-- for leaf elements: inline content -->
    <p>The text of this article.</p>
  </content>
</article>

Or, for non-leaf elements (those containing sub-elements):

<section eId="sec_1">
  <num>1</num>
  <heading>General provisions</heading>
  <intro><p>This section establishes:</p></intro>   <!-- optional preamble text -->
  <article eId="sec_1__art_1"><!-- ... --></article>
  <article eId="sec_1__art_2"><!-- ... --></article>
  <wrapUp><p>The above provisions apply jointly.</p></wrapUp>  <!-- optional closing text -->
</section>

Key child elements

Element Description When to use
<num> The official number/letter "Article 1", "Section 3(a)"
<heading> The title/heading "General provisions"
<subheading> Secondary heading Subtitles, annotations
<content> Inline content wrapper Leaf elements (no children)
<intro> Introduction before sub-elements "The following shall apply:"
<wrapUp> Closing text after sub-elements "The above provisions are subject to..."

Content rule

A hierarchy element must contain either <content> (if it's a leaf) or child hierarchy elements (if it's a branch). It cannot have both <content> and child hierarchy elements.

The standard elements

Hierarchy containers (from largest to smallest)

Element eId abbreviation Typical usage
<book> book Large code divisions
<part> part Major divisions
<title> title
<subtitle> subtitle
<chapter> chp
<subchapter> subchp
<section> sec Key division in UK/US legislation
<subsection> subsec
<article> art Key division in continental European legislation
<paragraph> para
<subparagraph> subpara
<clause> cl
<subclause> subcl
<point> point Lettered/numbered items
<indent> indent Indented sub-items
<alinea> al Used in French/EU tradition
<rule> rule Rules in regulations
<subrule> subrule Sub-rules
<proviso> proviso "Provided that..." clauses
<division> dvs Generic division
<subdivision> subdvs Generic subdivision

<hcontainer> — Custom hierarchy levels

When no standard element fits, <hcontainer> provides a custom hierarchy level:

<hcontainer name="disposicionTransitoria" eId="hcont_1">
  <heading>Transitional Provision 1</heading>
  <content><p>During the first year...</p></content>
</hcontainer>

The eId and wId conventions

eId (Expression-level identifier)

The eId uses hierarchical dot notation with double underscores (__) separating levels:

art_1                        → Article 1
art_1__para_2                → Paragraph 2 of Article 1
sec_3__art_1__para_2         → Paragraph 2 of Article 1 of Section 3

The prefix before the number is an abbreviation of the element name (see table above).

wId (Work-level identifier)

The wId is present only when it differs from eId — typically after renumbering:

<!-- Article was originally number 2, now renumbered to 3 -->
<article wId="art_2" eId="art_3">
  <num>3</num>
  <content><p>Originally article 2</p></content>
</article>

When wId is absent, it is implicitly equal to eId.

See Naming convention for complete rules.

Lists within hierarchy

Legislation often uses numbered/lettered lists within articles. AKN provides <list> (inline) and <blockList> (block-level):

<article eId="art_6">
  <heading>Artículo 6. Verduras</heading>
  <content>
    <p>Se utilizarán las siguientes verduras:</p>
    <blockList eId="art_6__list_1">
      <item eId="art_6__list_1__item_a">
        <num>(a)</num>
        <p>200 gramos de judía verde ancha</p>
      </item>
      <item eId="art_6__list_1__item_b">
        <num>(b)</num>
        <p>100 gramos de garrofón</p>
      </item>
      <item eId="art_6__list_1__item_c">
        <num>(c)</num>
        <p>1 tomate maduro rallado</p>
      </item>
    </blockList>
  </content>
</article>

Tables

For tabular content within legislation:

<table eId="art_3__table_1">
  <tr>
    <th><p>Category</p></th>
    <th><p>Maximum amount</p></th>
  </tr>
  <tr>
    <td><p>Rice</p></td>
    <td><p>400g</p></td>
  </tr>
</table>

Previous: Metadata | Next: Inline elements

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.