This approach is easily reversible.
]]>
and
elements can use the reference group.
All attributes are optional.
]]>
element, then the referencing
element builds on top of that reference, acquiring its attributes
as default values (which may be overridden by local values). This
is a recursive structure; an element may, through the @idref
attribute, point to an [ element which itself builds on
another ][ element, and so on. This is to support the complex
referencing sometimes found in legislation.
]]>]
and
elements.
]]>
, , and elements.
]]>
element is a primitive element to be used to mark or
denote a spot in the text. It can be used in the areas or
anywhere else where an element is expected. The
element contains no text.
]]>
element is a primitive element to be used within
areas or within any other areas which can accept
inline content.
]]>
element is a primitive element to be used anywhere
where elements are permitted including within
elements or anywhere where elements have been explicitly
permitted.
]]>
element is a primitive element to be used anywhere
where a very general content model is desired, including within
other elements.
]]>
... is the enclosing tag
* is a required child
* [] is an optional child
* []? is a sequence of zero or one child
* []* is a sequence of zero or more children
* | is either child1 or child2
* [|] is either child1 or child2 or neither
* [|]* is a sequence of zero or more child1s or
child2s in no particular pattern
Basic Model:
* [][][]*
* [|]*
* [][][|]*
* [][][]*
* [|||||
||]*
* [{text}|||[||]|
]*
* ????[?|
?|?[||
|note]*]]
* {text}
* can contain text, inline, ref, marker
* can contain content
* can contain text, note, inline, marker
* can contain text, inline, ref, marker
* can contain text, action, quotedText,
quotedStructure ( is abstract)
* can contain text, ref
* can contain text, statement, main, level, num,
heading, ref, date, attachments, attachment, notes, note
* [[{test}||]*]
* [{text}||[|]*]
]]>
†"
where the dagger is the indicator. An endnote or footnote
reference should always use the @idref attribute to point to
an endnote or a footnote within the document.
]]>
elements
within each to indicate specific columns.
]]>
element) or generate/regenerate any TOC with a
@generate attribute with a value of "true".
Any TOC generated by a TOC generator and stuffed into the
element should include the @generate attribute with
a value of "true".
]]>
element to describe the text to show.
If the text is arranged in columns, use
elements to denote each column.
]]>
area,
properties can also be found in the main container.
Elements derived from the core and defined
within the property substitution group can also be
used.
]]>
property and
included in the block substitution group, such as
approval signatures, can be placed in the main
container.
]]>
property and included in the statement
substitution group can be placed in the main
container.
]]>
body of the document may have a table of
contents. Typically this will be generated. The
model permits multiple elements, but this is
only due to limitations with XML schemas (XSD 1.0).
]]>
,
closing , or a . It is also
possible to have interstitial content modeled as
, although the need should be very rare.
]]>
can, in some cases, begin with a heading.
]]>
is made up of a series of recitals.
Recitals typically begin "Whereas,".
]]>
is present, the enacting formula
will end the preamble in a Bill.
]]>
is usually numbered. However, in a few cases,
typically preliminary sections or with item lists, this
may not be the case.
]]>
generally has a heading, but this is not
required.
]]>
will be manually defined rather than generated.
]]>
. This may not exist in
cases where the level has been repealed, omitted, spent,
or otherwise removed and a simple note has been left
behind.
]]>
element should surround the complete text of the number
including any preceding prefix and any decoration and punctuation.
This is to allow the complete text to be property displayed in
the published form.
Numbers can be used for either single values or for number ranges.
]]>
content. When the text content represents a
range of values, use the @beginValue and @endValue
attributes to record the range.
]]>
element is a collection of note elements.
Typically, rather than using the abstract
element, the notes will be either
elements or elements.
]]>
may or may not be numbered.
]]>
may or may not have a heading.
]]>
may or may not have a table of contents.
]]>
is to be included by reference, use the
@src attribute with a normal URL to point to the document
to be included.
]]>
element should apply to a different temporal period.
Notes will typically only follow a when found in a repealed,
omitted, spent, or otherwise removed section or level that is being
noted.
]]>
should exist only once for a single temporal period.
Multiple headings are permitted to support versioning without having
to create a whole new parent level or appendix. This is
important in hierarchical upper levels where it is not desirable to
generate a whole new level should part of the heading change.
Use the optional in cases where there is one or more
subheadings to the parent item. Like the element,
different elements can be added to apply to different
temporal periods.
Notes may follow the heading. Often this is a source note.
]]>
followed by optional notes.
]]>
(such as a or ) followed by optional notes.
]]>
or
an can exist within the part of a .
When a is used, the is found within
the , at the bottom.
Notes may be defined after the or .
]]>
elements should only be used for cases
where the instruction has been versioned and it is not desirable
to create a whole new version of the parent level. This use
case should be very rare.
]]>
elements should only be used for cases
where the content has been versioned and it is not desirable
to create a whole new version of the parent level. This use
case should be very rare.
]]>
, an
interstitial or closing , or a .
]]>
is not the lowest level of a hierarchy, it
will primarily be made up of child levels.
It is generally desirable to push all versioning down to
lower elements to avoid replicating large portions of
the document to support version changes. This means that
the , , and elements should
be defined across different temporal periods rather than
defining elements across temporal periods.
However, elements can be defined with the
temporal attributes and this applies to the lower levels,
such as the level, where practical
considerations necessitate versioning at the
element.
]]>
is a base level element representing all types of
legislative documents.
]]>
is a base level element for loosely structured
documents.
]]>
block contains properties and sets of properties recording
metadata about the document. The information contained within the
meta block is not part of the official law and should not be printed
as such. Ordinarily, all text content in a document is intended for
publication in textual representations of the document. However,
this is not the case for textual content in the block. If,
for instance, a property in the meta block has text content, it
does not automatically become text to be included in a published
form. However, in some case this may be desirable and can be done.
However, the meaning is not implicit.
The block may contain elements from the Dublin Core.
]]>
is simple value recorded with the document. Typically
properties are stored in the block of the document. However,
this is not necessarily the case. It is possible to also define
properties within any content area in the document. A case where
this occurs is the definition of the short title. The short title
is treated as a property (the element is a derivation
from the element).
If a property in the block has textual content, then this
text is not implicitly intended for publication. However, if a
property outside the block has textual content, then this
text is implicitly intended for publication.
]]>
is a grouping of properties in the block. Sets
themselves can contain other sets. Sets can be typed using the
@type attribute with the SetTypeEnum enumeration. By default, sets
are simply unordered bags of properties.
]]>
is a table of contents. A table of contents can appear in a
number of locations in document. A table of contents can appear in
three different locations:
- It can appear anywhere within the top of the element,
before the levels.
- It can appear in any level following the , ,
and any notes.
- It can appear in an .
]]>
is an entry in a table of contents. In addition to being
found within a element, a can contain other
elements in a hierarchy.
]]>
is the primary container for the body of a legislative
document.
]]>
is the general container for the provisions at the
beginning of legislation.
]]>
is a container for the "Whereas" clauses and the
enacting formula. Modern practice is to not use the preamble,
but to use a standalone enacting formula. However, for the rare
cases where a preamble is desired, the tags are made available.
]]>
is a preliminary statement in a bill stating the reasons
for the Bill. Modern legislation seldom uses a recital although it
can still occur.
]]>
is specified just before the main provisions of
a bill. The can appear as either the last statement
in a preamble or, when a preamble is not present, standalone within
the main element just prior to the main provisions.
]]>
is the general container for the main provisions of
legislation, often organized as a hierarchy.
]]>
surrounds the numeric designation assigned to a level
in legislation. Numbering is not always present. The number should
always include the surrounding decoration including descriptive
text and parenthesis and grammar. This number should never be
auto-generated. A normalized value based on the text content of the
element should be stored in the @value attribute.
]]>
element is a base class for , ,
, and any other type of text that can be interspersed
in the hierarchy of a document. It is similar to the tag,
but has more limited applicability. In general, use the
tag when a hierarchical level is made up largely of general content
and use the one of its derivatives of the text tag when limited text
is found interstitially between levels or other tags.
]]>
is an optional part of a level element and various other
elements. The heading is based on the content primitive and can contain
various elements including definitions.
]]>
is an optional part of a level element and various
other elements. Like the heading, the subheading is based on the
content primitive and can contain various elements including
definitions. A subheading should only be created if a heading
already exists.
]]>
is a non-hierarchical heading construct which can
be placed within and amongst heading levels. A acts
as a divider, separating items within a level.
Cross headings are typically shown as center-aligned headings
without any level identification or level numbering.
]]>
is a container having formalized text describing an
amendment or a modification. An contains the s
and / necessary to describe an
amendment.
]]>
is an atomic-level change defined within an amending
formula. The action contains the text related to that action and,
through attributes, identifies the item affected and the type of
action to be performed.
]]>
is a container for collections of individual notes.
]]>
is a generic element for notes associated with items in the
document. Typically, a derived note type should be used to
differentiate between official statutory notes and unofficial
editorial notes.
]]>
is a generic element appended to the main part of a
document. Appendices can either be inline or included via a @src
reference. Typically the appendix tag is not used. Rather, the
derived tags such as and are used instead.
]]>
consists of a name and, optionally, role, affiliation,
and/or date. Both the name and the role may be hyperlinked to something
which identifies the person or role.
]]>
element is a reference or link to another document, a
location within another document, or a location with the same
document.
]]>
element is a wrapper around dates. A normalized value
of the date text can be stored in the @date attribute or in the
@startDate and @endDate attributes in the case of a date range.
]]>
element is used for an extraction of simple text from
another source or origin. If the quoted text is to have literal
quotes surrounding it, then those characters must be included in the
text surrounding the quoted text and not within it.
Quoted text is seen in amendments or modifications.
]]>
element is used for an extraction of potentially structured
text (text with XML elements) from another source or origin.
Quoted content is used in USC Notes, amendments, and modifications.
]]>
, , and elements to denote the rows and
columns of the structure. A can be either row oriented or
column oriented.
Use layout types when describing legislative structure in a column
oriented fashion. For regular tables as shown in forms, use HTML
tables.
]]>
type can contain various types of elements
as rows including headers, rows, TOC items, blocks,
and contents. All elements, aside from elements,
are treated as rows when found directly within a layout
structure.
]]>
element, any child element directly in
a element, aside from a element, is regarded as a
row.
]]>
element, it can contain a wide range of text and elements.
]]>
element, it can contain a wide range of text and elements.
]]>
element is used to denote an area of text intended to
be displayed in a columns-oriented format similar to table. Use
the , , and elements to denote the rows and
columns of the structure.
Use when describing legislative structure in a column-
oriented fashion. For regular tables as shown for forms, use HTML
tables.
]]>
denotes a header row within a column-based structure.
]]>
denotes a row entry within a column-based structure.
In addition to the formal element, any child element
in a element, aside from a element, is regarded as
a row. There should always be a element as an
ancestor of a . Both column and row spans may be defined for
entries.
]]>
denotes a column when specified directly under a
or a cell when specified within a (or equivalent) in a
structure. There should always be a element as an
ancestor of a . Both column and row spans may be defined for
entries.
]]>
is a simple paragraph. This is different from the
more complex numbered element used for
the formal paragraph level of legislative documents.
]]>
is simple marker element denoting a line break.
]]>
is a simple marker element denoting where a graphic
image is to be inserted. Use the @src attribute to point to the
image with a normal URL.
]]>
is content text to be centered on the page.
]]>
is an inline spacer which denotes an area to be filled
in a printed form. Usually, a is rendered as dotted lines
with the text content within the tags shown just below. If
parenthesis are to surround the text shown below the line, then
those parenthesis should be included in the text content.
]]>
is an inline tick box which denotes a box to be filled
in on an form.
]]>
is a simple inline text to be shown in bold text.
]]>
is a simple inline text to be shown in italic text.
]]>
is a simple inline text to be shown in subscript text.
]]>
is a simple inline text to be shown in superscript text.
]]>
is a simple inline text to be shown in deleted text
within a modification.
]]>
is a simple inline tag to be used to show inserted text
within a modification.
]]>
is a document containing proposed law. When enacted, a
becomes an .
]]>
is a document containing an enacted bill.
]]>
is a simple resolution, joint resolution, or concurrent
resolution, as those terms are defined by the U.S. Congress.
]]>
is a document containing a pre-enactment stage amendment.
]]>
is a document containing a title or appendix of the
U.S. Code.
]]>
is a property that contains a numeric designation
assigned to this document. The document number should not contain
any document prefix. Use the for the prefix.
]]>
is a property used to record the name of
the publication that this document is part of. The values of the
are not defined.
]]>
is a property used to record the point the document
was released. The values of the doc status are not defined. For a USC title,
this may be the Public Law number that the title is updated through.
]]>
is a statement that precedes the long title in legislation. The short title is declared in the
first clause of a bill and is tagged in that location using the
tag.
]]>
is a statement that sets out the purposes of the bill
in general terms.
]]>
element is used to surround the short title when it
is first defined, usually in the first clause of the bill. Note
that the element is to be used in this case rather than
the element.
]]>
is always defined within a definition. The element
surrounds the words for the term being defined. It is quite possible
for multiple elements to be specified within a definition.
When a is the words, in the alternate language, then the
xml:lang attribute must be used. elements can also be used
for synonyms or near-synonyms which are also specified within the
definition.
There are two ways in which defined terms are presented. The modern
form is to present the term in bold and/or italic. The older form
is to present the terms bounded by open and close double quotes. In
all cases, the term (excluding the quotation marks) should be bound
with the element. The presentation should be determined based
on the use of the @class and the @style attributes (TBD). It is
important that the semantics be captured in the tags and that the
presentation be separated and isolated to the styling attributes.
Notes:
(1) In some cases, a term from the opposite language may be defined
without a term in the primary language and the term will be used as
such in the legislation despite being in the opposite language.
(2) It is possible that a appear multiple times within a
definition and be identified as a (along with the
corresponding interpretation) each time the term appears.
(3) In some rare cases, a term may be defined to include the open
and close quotes. In newer presentation forms, the term with the
quotation marks will be found within the bold and/or italics while
in older presentation forms, the term will show as a pair of open
and a pair of close quotation marks. In that case, the inner
quotation marks should be treated as part of the term itself.
]]>
level is used to create a hierarchical region
of the main document consisting of preliminary clauses that
are outside of the main document hierarchy.
When naming a preliminary level, the case-sensitive prefix "prelim".
]]>
is the top hierarchical level of a legislative document.
When naming a title, use the case-sensitive prefix "t".
]]>
is a hierarchical level of a legislative document.
When naming a subtitle, use the case-sensitive prefix "st".
]]>
is a hierarchical level of a legislative document.
When naming a part, use the case-sensitive prefix "p".
]]>
is a hierarchical level of a legislative document.
When naming a subpart, use the case-sensitive prefix "sp".
]]>
is a hierarchical level of a legislative document.
When naming a Division, use the case-sensitive prefix "d".
]]>
is a hierarchical level of a legislative document.
When naming a subdivision, use the case-sensitive prefix "sd".
]]>
is a hierarchical of a legislative document.
When naming a chapter, use the case-sensitive prefix "c". ]]>
is a hierarchical level of a legislative document.
When naming a subchapter, use the case-sensitive prefix "sc". ]]>
is a used in bills.
When naming an article, use the case-sensitive prefix "a". ]]>
is used in bills.
When naming a subarticle, use the case-sensitive prefix "sa". ]]>
is used in title appendices.
When naming a compiledAct, use the case-sensitive prefix "cact". ]]>
is used in title appendices.
courtRules is a containment level that is not named. ]]>
is used in appendices.
When naming a courtRule, use the case-sensitive prefix "crule". ]]>
are used in title appendices.
reorganizationPlans is a containment level that is not named. ]]>
is used in title appendices.
When naming a reorganizationPlan, use the case-sensitive prefix "rplan". ]]>
is the primary hierarchical level in a USC Title or a bill.
When naming a section, use the case-sensitive prefix "s".
]]>
is an optional hierarchical level below a section.
Subsections are usually numbered with lower-case letters.
When naming a subsection, use the case-sensitive prefix "ss".
]]>
is a numbered level usually found below a
subsection in the document hierarchy. Paragraphs are
usually numbered with Arabic numbers.
When naming a paragraph, use the case-sensitive prefix "p".
]]>
is a level below a paragraph in the document
hierarchy. Subparagraphs are usually numbered with upper-case
letters.
When naming a subparagraph, use the case-sensitive prefix "sp".
]]>
is an optional below-section hierarchical level.
Clauses are usually numbered with lower-case Roman numerals.
When naming a subclause, use the case-sensitive prefix "sc".
]]>
is an optional hierarchical level below a clause.
Subclauses are usually numbered with upper-case Roman numerals.
When naming a subclause, use the case-sensitive prefix "sc".
]]>
is a level usually below a subclause in the document
hierarchy. Items are usually numbered with double lower-case
letters.
]]>
is a level below an item in the document
hierarchy. Subitems are usually numbered with double upper-case
letters.
]]>
is a level below a subitem in the document
hierarchy. Subsubitems are usually numbered with triple lower-case
letters.
]]>
defines a term. It contains one or more elements
identifying the term being defined as well as the text describing
the term. It is customary for the to be identified in both
languages. In the case where the term is for the opposite language,
then the xml:lang attribute should be set for the term expressed in
the opposite language. In some cases, closely related other terms
might also be identified within the text of the definition and will
also be identified with the element..
]]>
whenever there is introductory text that comes
before lower levels in a level hierarchy and the text alone is not
permitted by the content model.
]]>
for interstitial text or whenever there is
final text that comes after lower levels in a level hierarchy and
the text alone is not permitted by the content model.
Be careful not to confuse continuation text with a proviso, which has
a separate tag.
]]>
is a paragraph that states conditions relating to the
law it is related to. A proviso generally begins with "Provided that"
or just "Provided". Proviso can contain their own
complex structure including sandwich structures. When referencing
into numbered parts of a proviso, a "proviso" level is added to
the reference. If there are multiple provisos within a single
parent, then those provisos should be named.
]]>
element is an instruction used when defining an amendment
to legislation or proposed legislation.
]]>
is a note included to indicate the source of a
provision. It usually will contain a reference to the source of the
provision and the Statute(s) that have affected it. Source credits are
usually set out in parenthesis. The surrounding
parenthesis are shown in the text - they must
not be automatically added.
]]>
is a note that becomes part of the law.
]]>
is a note included for editorial purposes only. While
present in the text of the document as printed, it is not a part of
the law. Editorial notes are often used to record where provisions
have been omitted or other changes have been made.
]]>
is a note that records a non-substantive change that
has been made to the document. Usually
change notes are set out in square brackets and these must be set out in
the text and must not be automatically added.
]]>
is an appendix to a bill or other document.
It contains a wide variety of content and the containment model is
consequently quite loose. A is often a list of numbered items,
sometimes arranged in columns. Sometimes a schedule is a list of
consequential amendments. Schedules can also be tables or documents
defined externally such as extradition treaties or trade agreements.
Schedules are sometimes printed in a landscape rather that portrait
orientation.
In order to support the wide variety of content types, it is possible
to embed arbitrary HTML content in a element within a
schedule.
]]>