Schema that includes the redefinitions for USLM/XHTML tables. MathML3 Schema without modifications. or element, that changes the context. * The @temporalId attribute that is intended to provide a changeable, human-meaningful, identifier. Like the @name attribute, the @temporalId will vary with time. For this reason, the @temporalId is computed each time a document is extracted from the repository, based on the point-in-time requested, rather than being statically stored with the text in the repository. The @temporalId is specified to be nominally unique within the document to which the element belongs. The @temporalId is composed by concatenating the @temporalId of the element's parent, if existing (or the parent element's name if the @temporalId does not exist), "_", and the element's @value. For example, paragraph 2 of subsection (a) of section 1 should have the @temporalId of "s1_a_2". This attribute is not currently used. ** 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 use an abbreviated prefix or a numeric/ alphabetic entry to identify the target. Each level in the reference is 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 with "/" + the level designators. So a reference to "title 2 of division 3 of public law 113-314" would be "/us/pl/111/314/d3/t2". 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 using the three-letter system defined in ISO 639-2, as used by the Library of Congress, using the Bibliographic language code (B) where there is a choice. (https://www.loc.gov/standards/iso639-2/php/code_list.php) For instance, to specify a reference to section 101 of the English version of title 51, the reference would be "/us/usc/t51@eng/s101". This should be used in conjunction with the xml:lang attribute with the correct value. To make a reference to a specified version of a provision or level, an "@" symbol is used. For instance, to specify a reference to section 101 of Title 51 on 1 February, 2013, the reference would be "/us/usc/t51@2013-02-01/s101", which uses the ISO time reference system. The version specification could also be an arbitrary name or relative date, such as 'pre-1824' or 'v1.1.1'. A version string that is not a date must not begin with a number, to avoid confusion with dates. Version strings must not contain special characters or spaces. For compability with AKN, or when including both a language and version specification, the "!" designator may also be used for a language-specific version of a provision instead of the "@" designator, e.g., "/us/stat/53/1561!nor" for the Norwegian version of "/us/stat/53/1561!eng". When including both a language and a version specification, place the language specification ahead of the version specification. For instance to combine both examples above, the result would be "/us/usc/t51!eng@2013-02-01/s101" or "/us/usc/t51!eng@v1.1.1/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. ]]> 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 2 in the main part of the document * "schedule_s2" - section 2 in the schedule * "pt2_d1" - division 1 of part 2 in the main part of the document The @temporalId attribute is optional. ]]> element, that changes the context. The @identifier attribute is optional. ]]> . There is a 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. In a similar way to the @class attribute, multiple role values can be specified in a space separated list. ]]> 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, that changes the context. The @identifier attribute is optional. ]]> element, , and elements are allowed in the ToC or index 1 or more times. ]]> 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 elements * []* is a sequence of zero or more child elements * | 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: * [][
][][][][][]* * [|]* * [||]+ * [?