@value. For example, paragraph 2 of subsection (a) of section 1 should have the @temporalId of "s1_a_2". ** Referencing Model ** All references are modeled as relative URLs. References are made to a logical rather than a physical hierarchy that starts always from the jurisdiction and reaches down to individual provisions within a bill, Resolution, or other Legislation. References do not predict or expect any particular document partitioning. It is the intent of the URL handler to map the logical hierarchy to any specific physical hierarchy. The highest level of the hierarchy is always the jurisdiction code, specified using the ISO 3166-1 country code and optionally followed by a dash and a lower level jurisdiction code. For the U.S. Federal Government, the jurisdiction code is "us". Lower levels of the hierarchy should either be a year with an optional modifier, or an abbreviated prefix and an assigned numeric designation, separated with the "/" in a hierarchy. For instance, Title 5 is expressed as "/us/usc/t5" while Pub. L. 111-314 is expressed as "/us/pl/111/314". When a URL is extended to within a document, the document hierarchy is expressed in an abbreviated form as in "/us/usc/t5/s101" or "/us/pl/111/314/s1".To build this URL, append the reference to the document + "/" + the element name with each dashes changed to a "/". So a reference to "s3-2-1" in "/us/pl/111/314" becomes "/us/pl/111/314/s3/2/1". A language-neutral reference does not include a language code. To create a reference to a specific language version of the document, include a language identifier at the nominal document level following a "!" symbol. For instance, to specify a reference to section 101 the English version of title 51, the reference would be "/us/usc/t51!eng/s101". To make a reference to a version that is operational at a specific point in time, include a date specification at the nominal document level following a "@" symbol ("at" the time of). For instance, to specify a reference to section 101 of Title 51 on 1 February, 2013, the reference would be "/us/t51@2013-02-01/s101". When including both a language and a time specification, place the language specification ahead of the time specification. For instance to combine both examples above, the result would be "/us/t51!eng@2013-02-01/s101". ]]> element, to be given a type specification. If the @type attribute is not specified, then the default type is "bag". The type values are inspired by the Resource Descriptor Framework (RDF). ]]> level or lower, but the model is general enough that it can be applied anywhere in the level hierarchy. A
will progress through a series of statuses, starting out as "proposed" in a bill, becoming "pending" when the bill is enacted, "operational" on the commencement date, and then later possibly "repealed". It is quite possible that stages in this sequence might be skipped. For instance, a section might be repealed before it ever becomes operational or it might never be repealed. If the status is not specified, then a section is assumed to be "operational". ]]> . - {index} - use the index position (1-based) of the element calculated against other elements of the same type at the same level. The @name should be stored as a formula and returned as resolved for specific point-in-time return results. The @name is used to compose the @temporalId attribute (if desired) and is used when resolving references. When an element does not have a @name attribute, it is identified by the element name. When an element does have a @name attribute, then the @name takes precedence over the element name. Some examples of @name attribute values: * "subject" - a property named "subject". * "s{num}" - a numbered section. Use the @value of the child corresponding to the temporal specification to evaluate the formula. * "proviso{index}" - Use the 1-based index number of the proviso, calculated against other elements within the parent element. For example, "the second proviso" corresponds to "proviso2". The @name attribute is optional. ]]> level is suppressed when calculating any @temporalId contained within. Secondly, when dealing with sections which are numbered as a sequence without regard to the upper levels, then the upper levels are suppressed from the computation of the @temporalId. Some examples: * "s2" - section to in the main part of the document * "schedule_s2" - section 2 in the schedule * "s2_1_proviso_a" - paragraph a of the proviso in subsection 1 of section 2. * "P2_D1" - division 1 of part 2 in the main part of the document The @temporalId attribute is optional. ]]> or element, that changes the context. The @identifier attribute is optional. ]]> . There can be thought of as rough equivalence between an element of a base class with a @role attribute and a derived class in the schema, although this equivalence is not explicit. For example is roughly equal to . When transforming XML to HTML, the @role attribute should be appended to the element name using an "_" underscore and used as the first value in the HTML @class attribute. If desired, the proposed XHTML @role attribute can be computed as either the XML @role attribute or, in the absence of the XML @role attribute, the XML element name. For example: =>
=>
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. ]]>