CommunityScale / Code
← CS-Local 1.0

The element reference

Every element and attribute CS-Local adds to Akoma Ntoso 3.0, what each one may contain, which values are closed and which are recommendations, and what becomes of it when a document is reduced back to plain Akoma Ntoso. The specification argues for the design; this enumerates it.

Generated from schema/elements.yaml, so the reference and the validator read one list. 42 elements and attributes, 83 attributes, 13 vocabularies holding 87 values.

Document identity

§ 1

One local:code per government, holding one or more instruments. The jurisdiction says what kind of government it is, which decides what its legislature is called and what instruments are available to it; the profile declares the house style so nothing downstream has to guess it.

local:code

The root element. One per government.

Appears in
(document root)
Contains
local:jurisdiction local:profile references local:entities local:instrument
How many
Exactly one, as the document element.
On downgrade to AKN
Becomes akomaNtoso holding one act per instrument.

Attributes

None. This element carries its meaning by position and by what it contains.

<local:code xmlns:local="https://code.communityscale.io/ns/local/1.0"
            xmlns="http://docs.oasis-open.org/legaldocml/ns/akn/3.0">

local:jurisdiction

The government this code belongs to.

Appears in
local:code
Contains
local:place local:enablingFramework
How many
One per code.
On downgrade to AKN
Kept in proprietary; AKN has no element for it.

Attributes

None. This element carries its meaning by position and by what it contains.

local:place

The government itself. The text content is the name as it is written; the attributes are what a machine needs.

Appears in
local:jurisdiction
Text content
The place name, e.g. Sherborn.
How many
One per jurisdiction.
On downgrade to AKN
Kept in proprietary.

Attributes

Attribute Requirement Values Meaning
@type required
city town township borough village county authority tribal and 4 more
closed vocabulary →
The kind of government, which decides what its legislature is called, which instrument types are available to it, and what state framework it acts under. A county is not a large city, and this is what lets one model carry both.
@state required

Two-letter USPS code

The state whose enabling framework the government acts under.
@gnis optional

GNIS feature ID

The federal identifier for the place, so the government resolves to something outside this document.

local:enablingFramework

The state law under which this government legislates at all.

Appears in
local:jurisdiction
Text content
A citation, e.g. /us-ma/act/mgl.
How many
One per jurisdiction.
On downgrade to AKN
Kept in proprietary.

Attributes

None. This element carries its meaning by position and by what it contains.

local:profile

The house style, declared rather than detected. The converter and the renderer both read this, which is why a Title/Chapter/Article/Division code and a Part/Chapter/Article code round-trip through one code path.

Appears in
local:code local:instrument
How many
One per code; may be overridden per instrument.
On downgrade to AKN
Kept in proprietary.

Attributes

Attribute Requirement Values Meaning
@citation required
chapter-section dotted-decimal chapter-article-section dashed-triple flat alpha-chapter-section
closed vocabulary →
The shape of a section number, which is also the shape of the platform's URLs and the rule the eId scheme is derived from.
@enumeration required

Ladder name from profiles.yaml

The marker shapes the code descends through. 34 distinct ladders are in use across the corpus and the deepest runs nine rungs, so this cannot be a constant in a parser.
@containers required

Hyphen-joined container ladder, e.g. title-chapter-article-division

The containment vocabulary this government uses, in order. Chapter and article are near-universal, but 48% of codes use Part and 44% use Title.

Instruments

§ 2

An instrument is a body of text adopted as a whole by one body. 19% of codes in the corpus contain at least one chapter a legislature never voted on, and the difference decides what it takes to change a provision, so it is declared rather than inferred.

local:instrument

A body of text adopted as a whole by one body. In a published code this is usually a chapter.

Appears in
local:code
Contains
local:adoption meta num heading local:generalReferences body
How many
One or more per code.
On downgrade to AKN
Becomes an AKN act carrying @name; FRBRsubtype already holds the same value.

Attributes

Attribute Requirement Values Meaning
@type required
ordinance bylaw regulation charter specialAct acceptance franchise policy and 1 more
closed vocabulary →
What kind of instrument this is, which is what decides who can change it. This is the single most consequential fact about any provision in a municipal code, and the incumbent format records it only as a sentence of English.
@eId required

eId

The instrument's identifier, e.g. chp_240.

local:adoption

Who adopted this instrument, under what authority, and by what procedure.

Appears in
local:instrument
Contains
local:body local:authority local:procedure local:date
How many
One per instrument.
On downgrade to AKN
The date becomes a lifecycle eventRef and the body is already FRBRauthor; the authority and procedure have no AKN home and are kept in proprietary.

Attributes

None. This element carries its meaning by position and by what it contains.

local:body

The body that adopted it.

Appears in
local:adoption
Text content
The body's name as published, e.g. Town Meeting.
How many
One per adoption.
On downgrade to AKN
Already carried as FRBRauthor.

Attributes

Attribute Requirement Values Meaning
@role required
legislative executive administrative judicial
closed vocabulary →
Declared, never inferred. Classifying adopting bodies by name leaves 5,070 of the corpus's 20,308 adoption statements unresolved, because a Board of Selectmen legislates in some towns and administers in others. Curated per government from that government's charter.
@refersTo required

Reference to a declared TLCOrganization

The organization entity, so the body survives being renamed in prose.

local:authority

The statute that empowers this body to make this instrument. Follows the CFR, which requires an AUTH element naming the enabling statute on every part: for a regulation, the authority is the whole basis of its validity.

Appears in
local:adoption
Text content
The citation as written, e.g. MGL c. 41, § 81Q.
How many
Required on every instrument whose type is not ordinance, bylaw or charter. Populated at onboarding, since local practice almost never states it anywhere a machine can reach.
On downgrade to AKN
No AKN element exists; kept in proprietary and reported as lost.

Attributes

Attribute Requirement Values Meaning
@href required

Citation URI

The machine-resolvable form of the same citation.

local:procedure

What it takes to change this instrument. The platform renders this as "what it takes to change this", and the comment workflow reads it to name the meeting a comment should go to.

Appears in
local:adoption
How many
One per adoption.
On downgrade to AKN
No AKN element exists; kept in proprietary and reported as lost.

Attributes

Attribute Requirement Values Meaning
@amendedBy required
town-meeting-article council-vote board-vote ballot charter-commission

recommended; the list is open

The action that amends it.
@hearing optional
required none
Whether a public hearing is a precondition.
@majority optional
simple two-thirds three-quarters
The margin the adopting body needs.
@review optional
ma-attorney-general none

recommended; the list is open

A state-level review that must follow adoption before the change takes effect.

local:date

A dated event in the instrument's life.

Appears in
local:adoption
How many
One or more per adoption.
On downgrade to AKN
Becomes a lifecycle eventRef.

Attributes

Attribute Requirement Values Meaning
@date required

ISO 8601 date

The date the event happened.
@type required
adoption effective codification repeal

recommended; the list is open

What kind of event it is.

Typed notes

§ 5

Akoma Ntoso has one note. CS-Local types notes as USLM does, because the corpus carries this material in 90% of codes and 41,320 paragraphs, and an editor's note and a source credit are not the same kind of statement.

local:editorialNote

The codifier speaking: renumbering, supersession, moves. Present in 90% of codes and 41,320 paragraphs, and load-bearing rather than decorative.

Appears in
local:instrument any hierarchical element
Contains
p
How many
Any number.
On downgrade to AKN
Becomes note[refersTo=#noteclass_editorial].

Attributes

None. This element carries its meaning by position and by what it contains.

local:sourceCredit

The provenance note as published, verbatim, beside the parsed events. Seven written forms exist in the corpus and the parse is lossy, so the string is authoritative. Also used at schedule level, where it records the amendment that produced the state the schedule is in.

Appears in
local:instrument any hierarchical element local:schedule
Contains
local:asPublished local:event
How many
Any number.
On downgrade to AKN
Becomes note[refersTo=#noteclass_sourceCredit] carrying the published string; the parsed events are reported as lost.

Attributes

None. This element carries its meaning by position and by what it contains.

<local:sourceCredit>
  <local:asPublished>[Amended 4-25-2023 ATM by Art. 23]</local:asPublished>
  <local:event date="2023-04-25" type="amendment" by="#org_town_meeting"
               instrument="Art. 23"/>
</local:sourceCredit>

local:asPublished

The provenance note exactly as the code prints it. Authoritative over the parse.

Appears in
local:sourceCredit
Text content
The note, e.g. [Amended 4-25-2023 ATM by Art. 23].
How many
One per source credit.
On downgrade to AKN
Becomes the note's paragraph text.

Attributes

None. This element carries its meaning by position and by what it contains.

local:event

One parsed event from the published string.

Appears in
local:sourceCredit
How many
Any number.
On downgrade to AKN
Reported as lost; AKN keeps only the string.

Attributes

Attribute Requirement Values Meaning
@date required

ISO 8601 date

When it happened.
@type required
adoption amendment repeal insertion substitution renumbering

recommended; the list is open

What was done.
@by optional

Reference to a declared TLCOrganization

The body that did it.
@instrument optional

Free text

The vehicle, e.g. Art. 23 or Ord. No. 314.
@precision optional
day month year
How exact the published date is. Many notes give a year alone, and recording that is not the same as asserting January 1.

local:generalReferences

The cross-reference block at the head of a chapter, present in 45% of codes. The apparatus a reader uses to find related material.

Appears in
local:instrument
Contains
p
How many
At most one per instrument.
On downgrade to AKN
Becomes note[refersTo=#noteclass_generalReferences].

Attributes

None. This element carries its meaning by position and by what it contains.

local:disposition

The ordinance-to-location audit trail, present in 66% of codes: every ordinance ever adopted mapped to where it landed or why it was omitted. The only audit trail a code has.

Appears in
local:instrument
Contains
p table
How many
Any number.
On downgrade to AKN
Becomes note[refersTo=#noteclass_disposition].

Attributes

None. This element carries its meaning by position and by what it contains.

local:derivation

Current numbering mapped to the prior codification, present in 27% of codes. What lets a citation from before the last recodification still resolve.

Appears in
local:instrument
Contains
p table
How many
Any number.
On downgrade to AKN
Becomes note[refersTo=#noteclass_derivation].

Attributes

None. This element carries its meaning by position and by what it contains.

local:effectiveNote

An effective date that differs from the adoption date, after the CFR's EFFDNOT.

Appears in
local:instrument any hierarchical element
Contains
p
How many
Any number.
On downgrade to AKN
Becomes note[refersTo=#noteclass_effectiveNote].

Attributes

None. This element carries its meaning by position and by what it contains.

The entity registry

§ 9.1

The join between a schedule column header, the name a code uses in prose, and the key a map layer draws on. Declared once, for entities of any kind: zoning districts are the first kind, not the only one, since a stormwater chapter keys its schedules on watersheds and needs the same declaration rather than a parallel one.

local:entities

A registry of entities of one declared kind. Zoning districts are the first kind, not the only one: the same declaration serves a stormwater chapter's watersheds or a licensing chapter's premises.

Appears in
local:code local:instrument
Contains
local:entity
How many
Any number, one per kind.
On downgrade to AKN
Each entity becomes a TLCConcept; the registry element itself disappears.

Attributes

Attribute Requirement Values Meaning
@kind required
district watershed premises way overlay zone

recommended; the list is open

What kind of thing this registry declares. Becomes the ontology path of the TLCConcept each entity downgrades to.
@established optional

Reference to a provision

The provision that creates these entities, if one provision creates them all. May be overridden per entity.

local:entity

One identified thing that provisions refer to, schedules key on, and a map can draw.

Appears in
local:entities
How many
One or more per registry.
On downgrade to AKN
Becomes TLCConcept keeping eId and showAs. The code, class, map key, governing provisions and overlay relation have no AKN home and are reported as lost, which is most of why the registry exists.

Attributes

Attribute Requirement Values Meaning
@eId required

eId

The identifier every reference resolves to, e.g. dist_ra.
@showAs required

Free text

The full name as the code writes it, e.g. Residence District A.
@code required

Free text

The abbreviation the code itself uses in schedule headers and prose, e.g. RA. District codes come in a handful of shapes across the corpus: bare letters, letter and digit, letter-dash-digit, with a thin tail of compounds.
@map optional

Free text

The value of the geometry layer's attribute, present only when a layer exists. It differs from @code whenever the map speaks its own dialect. Its absence is information: a district established by the code with no polygon is stated, not silent.
@class optional
residential business commercial industrial mixed overlay special
closed vocabulary →
What kind of district or entity this is.
@established optional

Reference to a provision

The provision that creates this entity, overriding the registry's.
@governedBy optional

References to provisions

whitespace-separated list

The provisions that regulate this entity, which are different provisions from the one that establishes it. For an overlay this is the whole answer: one line creates the Flood Plain District and another section is what it actually requires.
@relation required when class="overlay"
supplements restricts replaces
closed vocabulary →
What this overlay does to the districts beneath it. A parcel is in an overlay and its base district at once, so resolving what may be built there means resolving the base district and then applying every overlay in its declared relation.
@over optional

References to declared entities

whitespace-separated list

The districts this overlay sits on. Absent, the overlay applies wherever it is mapped.

Normative schedules

§ 9.2 – 9.5

A table that lays text out stays an Akoma Ntoso table and nothing more is claimed about it. A table that states rules additionally gets a local:schedule, whose axes bind to declared entities. Only 25% of zoning instruments publish these matrices inline; 22% publish them as an attachment the code merely points at and 17% as per-district prose, so a schedule lives beside its source whatever the source is, and declares where it came from.

local:schedule

A table that states rules, as structure. Sits beside the published expression rather than replacing it: where an inline table exists it remains untouched, because that is what the law is.

Appears in
the provision that publishes the rule
Contains
local:sourceCredit local:provenance local:legend local:dimensions local:columns local:group local:row local:footnote
How many
Any number per provision.
On downgrade to AKN
Dropped and reported with its cell count. The AKN table, where one exists, remains, so no meaning changes for an AKN consumer; the structured rules simply have no carrier.

Attributes

Attribute Requirement Values Meaning
@eId required

eId

The schedule's identifier, e.g. schd_240-3.2. Footnote eIds derive from it.
@type required
use dimensional parking sign landscaping other
closed vocabulary →
What kind of rules the schedule states. Typed rather than named, because the same table is called Use Regulations in the East and Use Table or Use Matrix in the West.
@source required

Reference to a provision

The provision that publishes these rules. When that provision holds an inline table the schedule is a parse of it; otherwise provenance is required.

local:provenance

Where the rules came from, when they did not come from an inline table. Required whenever @source does not point at a provision containing one.

Appears in
local:schedule
Contains
local:transcribedFrom local:curatedFrom
How many
At most one per schedule.
On downgrade to AKN
Dropped with the schedule.

Attributes

None. This element carries its meaning by position and by what it contains.

local:transcribedFrom

The attachment-only mode, 22% of zoning instruments: the rules exist as a PDF the code points at, so every number in them is otherwise unreachable to search, to the map, and to anyone reading the code online. A transcription says so, and says what it was checked against.

Appears in
local:provenance
How many
Any number.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@href required

URI

The attachment as published.
@supplement optional

Free text

The supplement the transcription was taken from, e.g. Supp 3, Aug 2025.
@verified optional

ISO 8601 date

When a person last checked the transcription against the source.

local:curatedFrom

The prose mode, 17% of zoning instruments: use rules written as per-district sections of running text with no matrix anywhere. The schedule is an index over the prose, and each row's @source names the provision it was read from, so every cell is traceable to the sentence that justifies it.

Appears in
local:provenance
How many
Any number.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@href optional

References to provisions

whitespace-separated list

The provisions the schedule was built from, where a single list covers it.

local:legend

What the symbols in this schedule's cells mean. Declared per schedule and never assumed: 331 codes with a use matrix run 200 distinct symbol systems, the same glyph means "allowed", "accessory" or "agriculture permit" in different codes' own legends, and only 17% publish a legend a machine can read.

Appears in
local:schedule
Contains
local:symbol
How many
At most one per schedule; required where cells carry symbols.
On downgrade to AKN
Dropped with the schedule.

Attributes

None. This element carries its meaning by position and by what it contains.

local:symbol

One symbol and what it means here. The code is an opaque string whose meaning is given entirely by its outcome.

Appears in
local:legend
Text content
The meaning as the code publishes it, e.g. Allowable on special permit.
How many
One or more per legend.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@code required

Free text

The symbol as printed, e.g. P, SP, CUP, or an em dash. Carries no meaning of its own.
@outcome required
permitted accessory approval prohibited not-applicable see
closed vocabulary →
What the symbol does to the use in that district. This is what makes a cell computable across jurisdictions that share no vocabulary.
@approver required when outcome="approval"

Reference to a declared TLCOrganization

The body that grants the approval, which connects the schedule to the instrument and procedure model: the platform can answer who says yes and by what process.
@procedure optional
special-permit conditional-use site-plan variance
closed vocabulary →
The instrument the approval is granted by.

local:dimensions

The columns of a dimensional schedule, declared before the rows use them.

Appears in
local:schedule
Contains
local:dimension
How many
At most one per schedule; required for type="dimensional".
On downgrade to AKN
Dropped with the schedule.

Attributes

None. This element carries its meaning by position and by what it contains.

local:dimension

One measurable requirement. About twenty concepts cover the dimension vocabulary of every inline dimensional matrix in the corpus, so the concept is normalized while the label stays exactly as published.

Appears in
local:dimensions
Text content
The label as printed, e.g. Minimum Lot Size.
How many
One or more.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@key required

Token

What cells in this schedule use to refer to this dimension.
@concept optional
lot-area lot-width lot-depth frontage setback-front setback-side setback-rear height and 6 more
closed vocabulary →
The normalized concept, which is what makes one town's schedule comparable with another's.
@bound optional
min max
Whether the value is a floor or a ceiling. Carried separately from the label because "Minimum Lot Size" states it in prose and a machine should not parse prose.
@unit optional
acre sqft ft story percent ratio du-per-acre
closed vocabulary →
The unit the values are in.
@footnote optional

Markers declared in this schedule

whitespace-separated list

A note that applies to every cell in this column. Attaching it here rather than to each cell is what keeps a note that qualifies a whole column to one declaration.

local:columns

The columns of a schedule whose axis is neither districts nor dimensions. Parking tables appear in 825 zoning instruments, more than twice as many as carry a use matrix, and sign and landscaping tables behind them; these are usually use by requirement.

Appears in
local:schedule
Contains
local:column
How many
At most one per schedule.
On downgrade to AKN
Dropped with the schedule.

Attributes

None. This element carries its meaning by position and by what it contains.

local:column

One generic column.

Appears in
local:columns
How many
One or more.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@key required

Token

What cells use to refer to this column.
@label required

Free text

The column heading as printed.
@footnote optional

Markers declared in this schedule

whitespace-separated list

A note applying to the whole column.

local:group

A band of rows under a heading. 73% of codes with a use matrix group their rows this way, and readers navigate by the bands, so the grouping is structure rather than styling.

Appears in
local:schedule
Contains
local:row
How many
Any number.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@heading required

Free text

The band heading as printed, e.g. Residential uses.
@footnote optional

Markers declared in this schedule

whitespace-separated list

A note applying to every cell in the band.

local:row

One row of the matrix: a use in a use schedule, a district in a dimensional schedule, a subject in a generic one.

Appears in
local:schedule local:group
Contains
local:cell
How many
One or more.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@eId optional

eId

The row's identifier, which is what a comment addressed to one line of a schedule anchors to.
@num optional

Free text

The row number as printed, e.g. 1 or 2A. Readers cite these, so they are kept as published rather than renumbered.
@subject required when the row is not keyed by an entity

Free text

What the row regulates, in the schedule's own words.
@refersTo optional

Reference to a defined term

The term this row regulates. Bound by identity because the wordings routinely differ: a schedule says "Single-family home" where the glossary says DWELLING, SINGLE-FAMILY, and matching on text fails silently. Optional, because plenty of rows name things a code never defines, though the share that bind is a useful measure of how well a schedule and its glossary agree.
@entity required when the schedule is keyed by entity on the row axis

References to declared entities

whitespace-separated list

The entity this row states requirements for, in a dimensional schedule.
@source optional

Reference to a provision

The provision this row was read from, which is what makes the prose mode traceable.
@footnote optional

Markers declared in this schedule

whitespace-separated list

A note applying to every cell in the row.

local:cell

One cell. Uniform everywhere in the schedule vocabulary so a renderer never branches on cell shape. An absent cell means the source published nothing, which is distinct from a cell whose outcome is not-applicable, and both are preserved.

Appears in
local:row
How many
Any number per row.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@entity required when the schedule is keyed by entity on the column axis

References to declared entities

whitespace-separated list

The entity this cell states a rule for. A list, because a source cell merged across several columns is common and one published cell should stay one cell rather than being duplicated per district.
@dim required when type="dimensional"

A key declared in this schedule's dimensions

Which dimension this cell gives a value for.
@col required when the schedule declares generic columns

A key declared in this schedule's columns

Which column this cell belongs to.
@symbol optional

A code declared in this schedule's legend

The permission symbol, in a use schedule.
@value optional

Number

The numeric value, in a dimensional schedule.
@text optional

Free text

The published words where the cell is not a number, e.g. "Not applicable" or an em dash. Carried rather than normalized away, because the words are what was adopted.
@footnote optional

Markers declared in this schedule

whitespace-separated list

Notes qualifying this cell. A footnoted symbol is not the bare symbol, so a consumer resolving the outcome has to apply these.
@see optional

Reference to a provision

The provision that regulates this combination further. 29% of codes with a use matrix carry a per-use reference column.

local:footnote

A note that qualifies the cells marking it. 45% of codes with a use matrix footnote individual cells, and those notes are frequently the rule rather than a gloss, so the marker is something a consumer must resolve rather than decoration.

Appears in
local:schedule
Text content
The note as published.
How many
Any number per schedule.
On downgrade to AKN
Dropped with the schedule.

Attributes

Attribute Requirement Values Meaning
@marker required

Free text

The marker as printed, e.g. *, **, † or 3. Scoped to this schedule and unique within it.
@effect required
clarifies conditions varies
closed vocabulary →
What this note does to the cells it marks. A cell's outcome is provisional until its footnotes are applied, and a consumer that meets an effect it does not recognize treats it as conditions, so an under-curated footnote degrades to a warning rather than a false yes.
@eId optional

eId

Document-unique identity, derived from the schedule and a slug of the marker, e.g. schd_240-3.2__fn_ast. Derived from the marker rather than from position so that inserting a footnote does not renumber its neighbours, which matters because comments anchor to eIds.
@see optional

Reference to a provision

Where the circumstance this note states is written out.

Scope

A marker means nothing outside its own schedule. Resolution is a lookup in the declaring schedule and nowhere else, because codes reuse markers across their tables as a matter of course: of the codes carrying two or more footnoted matrices, 93% use the same marker on more than one of them, and one California code puts "b" on 91 different tables. Markers must be unique within one schedule, which is a validation error rather than a resolution rule. Document-unique identity lives in the eId instead.

Attributes on inherited elements

§ 6

Two attributes CS-Local adds to Akoma Ntoso's own hierarchical elements. 73% of codes publish reserved placeholders and every code publishes repealed provisions, and both are published rather than dropped: a reserved number asserts that nothing is missing, and a repealed section is where a reader following an old citation lands.

@local:inForce

attribute

Whether the provision is currently operative. Follows USLM's @inEffect rather than AKN's @status, which conflates the dispositions below. This is the boolean the renderer keys on.

Appears in
any Akoma Ntoso hierarchical element
On downgrade to AKN
A false value becomes @status="removed".

Attributes

Attribute Requirement Values Meaning
(value) optional
true false
Defaults to true when absent.

@local:disposition

attribute

Why a provision is not in force, or that it is. AKN's @status cannot express the difference between a number held in reserve and a section repealed and pointed elsewhere.

Appears in
any Akoma Ntoso hierarchical element
On downgrade to AKN
No AKN attribute carries it and a proprietary attribute is not possible on the same element, so it is reported as lost.

Attributes

Attribute Requirement Values Meaning
(value) optional
current reserved deleted repealed superseded renumbered
closed vocabulary →
Defaults to current when absent.

@local:coversFrom

attribute

The first number a provision stands for, when one published heading stands for a block of them. One publisher reserves numbers one at a time; the other publishes "Secs. 94-1—94-30. Reserved." as a single heading, and does it 7,884 times across 152,931 section numbers in 70% of its codes.

Appears in
any Akoma Ntoso hierarchical element
On downgrade to AKN
Reported as lost, along with the disposition it qualifies.

Attributes

Attribute Requirement Values Meaning
(value) required when the provision stands for more than one number

A citation in the document's declared grammar

Written as the code writes it. Declared together with coversTo, and only on a provision that also declares a disposition, since a span with no disposition asserts nothing.

@local:coversTo

attribute

The last number a provision stands for. A citation to any number within the span resolves to this provision, which is the whole point: it is how a reader chasing a number is told it is deliberately empty rather than missing.

Appears in
any Akoma Ntoso hierarchical element
On downgrade to AKN
Reported as lost.

Attributes

Attribute Requirement Values Meaning
(value) required when coversFrom is present

A citation in the document's declared grammar

The end of the span, inclusive.
<section eId="sec_94-1_thru_94-30" local:inForce="false"
         local:disposition="reserved"
         local:coversFrom="94-1" local:coversTo="94-30">
  <num>94-1—94-30</num>
  <heading>Reserved</heading>
</section>

@local:depth

attribute

How far below its section a rung sits, written only on the rungs Akoma Ntoso has no element for. AKN offers five below section; 17% of codes in the second corpus descend to a sixth or seventh, and repeating the last element would make two different depths into one.

Appears in
hcontainer[@name="level"]
On downgrade to AKN
Reported as lost. The hcontainer itself survives, so the nesting a reader sees is unchanged.

Attributes

Attribute Requirement Values Meaning
(value) required

Integer greater than five

Counted from the section, so the first rung below one is 1 and the overflow rungs are 6 and beyond.
<hcontainer name="level" local:depth="6" eId="…__indent_a__level_i">
  <num>i.</num>
  <content><p>…</p></content>
</hcontainer>

Provenance

§ 10

Source identifiers only, inside Akoma Ntoso's proprietary. Never drafting comments, reviewer names, or internal notes: the working document for Sherborn alone carries 28 of them, and the build fails if one appears in rendered output.

local:sourceSystem

The identifiers the source of a capture uses for it, so a later capture of the same instrument can be matched against this one.

Appears in
proprietary
How many
At most one per instrument.
On downgrade to AKN
Kept inside proprietary, which AKN already provides.

Attributes

Attribute Requirement Values Meaning
@customer optional

Free text

The source's account identifier for this government, e.g. SH4020.
@id optional

Free text

The source's identifier for this instrument.
@codeDate optional

ISO 8601 date

The date the published code was current to.
@captured optional

ISO 8601 date

When we took the copy, which is not the same as the code date and must not be conflated with it.

local:attachment

A file the published code refers to but does not contain, most often the schedule or the zoning map.

Appears in
proprietary
How many
Any number.
On downgrade to AKN
Kept inside proprietary.

Attributes

Attribute Requirement Values Meaning
@href required

URI

The attachment as published.

Vocabularies

Closed vocabularies are validated: a value outside the list makes the document invalid. Open ones are recommendations, and a value outside them is legal but undeclared, which a consumer may treat as unknown rather than as an error.

Kinds of government

A county is not a large city: its legislature may be a Board of Supervisors, a County Council or a Board of Commissioners, it may have no charter, and in many states it can only legislate on subjects the state has delegated. The type is what lets one document model carry both without either being a special case.

city A municipal corporation, and the most common form
town A municipality whose legislature, in New England, is usually a Town Meeting
township A subdivision of a county, with powers that vary widely by state
borough The municipal form used in Pennsylvania, New Jersey, Connecticut and Alaska
village An incorporated place, typically smaller than a city
county A subdivision of a state, often able to legislate only on delegated subjects
authority A single-purpose body governed by its own board
tribal A tribal government publishing its own code
municipality Used where the state's own term for the form is simply municipality
district A special-purpose district with rule-making power of its own
metropolitan A regional or consolidated city-county government
other A form none of the above describes

Kinds of instrument

Required and closed. What distinguishes these is who can change them, which is the question a reader of any provision most needs answered.

ordinance Legislation of a city, county, township, borough or village
bylaw Legislation of a New England town
regulation Rules made by a board under delegated authority
charter The instrument the government itself is made under
specialAct State legislation for this government alone
acceptance A local vote to adopt a state statute
franchise A contract with a utility or operator
policy Internal administrative policy
ruleOfProcedure A body's rules for its own conduct

Roles an adopting body plays

Declared per government at onboarding, from that government's charter, because the name of a body does not determine its role.

legislative Its vote makes law
executive It administers, and may make rules under law
administrative It makes rules under delegated authority
judicial It adjudicates

Citation grammars

The shape of a section number, which is also the shape of the platform's URLs. profiles.yaml carries each one's pattern.

chapter-section § 1-14
dotted-decimal § 14.05.030
chapter-article-section § 240-4.5
dashed-triple § 1-04-010
flat § 112
alpha-chapter-section § A676-3

Dispositions

Why a provision reads as it does. Published rather than dropped, because a reserved number asserts that nothing is missing and a repealed section is where a reader following an old citation lands.

current In force
reserved A number held deliberately empty; 73% of codes publish these
deleted Removed, with the published note kept in place
repealed Repealed by a later instrument
superseded Displaced by state law or another provision
renumbered Moved; the old number stays as a landing point

Entity classes

Recommended values for zoning districts. Open, since other kinds need their own.

residential Dwellings are the principal permitted use
business Trade and services, often at a neighborhood scale
commercial Larger-scale retail, office and service uses
industrial Manufacturing, warehousing and related uses
mixed Residential and non-residential uses together
overlay Sits on top of other districts; must declare a relation and its governing text
special A district that fits none of the above, such as open space or institutional

What an overlay does

Required on an overlay. A parcel is in the overlay and its base district at once, so a consumer that cannot resolve the overlay must say so rather than answer from the base district alone.

supplements Adds uses or allowances the underlying district does not give
restricts Adds constraints; the underlying rules still apply
replaces Supersedes the underlying rules, for the subjects its text covers

Kinds of schedule

use Use by district, cells carrying permission symbols
dimensional District by dimension, cells carrying values
parking Usually use by requirement; 825 zoning instruments carry one
sign 340 instruments
landscaping 218 instruments
other Any other normative matrix, with declared generic columns

Permission outcomes

Required and closed. Symbols are opaque strings and this is where their meaning lives, which is the only workable design given 200 distinct symbol systems across 331 codes.

permitted Allowed by right
accessory Allowed as an accessory use
approval Allowed on a discretionary approval; names the approver and procedure
prohibited Not allowed
not-applicable The combination cannot occur
see Defers to a provision, which the cell's see attribute names

Approval procedures

special-permit A discretionary permit granted by a named board after a hearing
conditional-use The western equivalent, usually a conditional use permit
site-plan Approval of the layout rather than of the use itself
variance Relief from a requirement on a showing of hardship

What a footnote does to the cell it marks

Required and closed. This is what makes a marker computable rather than decorative.

clarifies Defines a term or a measurement datum; the outcome and value stand
conditions The outcome applies only subject to the stated circumstance; a permitted cell so marked must never be presented as an unconditional yes
varies The value or outcome differs in stated circumstances; the text says how and see says where

Dimension concepts

Recommended values. About twenty concepts cover the dimension axis of essentially every dimensional schedule, which is what makes one government's schedule comparable with another's.

lot-area The area of a lot
lot-width The width of a lot, however the code measures it
lot-depth The depth of a lot from front line to rear
frontage The length of a lot along the way that serves it
setback-front Required distance from the front lot line
setback-side Required distance from a side lot line
setback-rear Required distance from the rear lot line
height Building height, in feet or in stories
coverage-lot The share of a lot that may be covered
coverage-building The share covered by buildings specifically
far Floor area ratio: floor area relative to lot area
open-space The share that must be left unbuilt
density Dwelling units relative to land area
impervious The share that may be impervious surface

Units

acre Acres
sqft Square feet
ft Linear feet
story Stories, which a code may count differently from height in feet
percent A percentage, written as published
ratio A bare ratio, as floor area ratio is written
du-per-acre Dwelling units per acre