Atlas · document · Plate 02 of 16

bibdata · blocks · change · contribmetadata · document · sections

BasicDocument

Diagram view views/BasicDocument.lml composing 12 LML includes and 13 associations.

Includes12
Associations13
Types12
Full UML diagram for BasicDocument

Model definitions

BasicDocument

class models/document/BasicDocument.lml

Class modelling a basic document.

AttributeTypeCardinalityDefinition
+identifier UniqueIdentifier 0..1 A globally unique identifier for the document in an agreed identifier schema. The identifier is to be used for tracking interactions with the document without depending on formal document registries; it would be exemplified by a GUID, rather than a document registry identifier such as "`ISO 639`", which belongs to `bibdata`.
+bibdata BibData 1 A bibliographic description, capturing bibliographic metadata about the document itself, including authors, title, and date of production.
+sections BasicSection 1..* Hierarchically arranged units of textual content within the document.
+references ReferencesSection 0..* Bibliographic content.
+integrityValue IntegrityValue 0..* A digital signature of the contribution.
+attributes Attribute 0..* Entries from the generic attribute register: an open key-value set that markup languages bind their own attribute types into.

UniqueIdentifier

class models/change/UniqueIdentifier.lml

Identifier used to uniquely identify a BasicDocument.

AttributeTypeCardinalityDefinition
+value String 1 A string that uniquely identifies a BasicDocument.

BibData

class models/bibdata/BibData.lml

The bibliographic description of a BasicDocument. BibData differs from BibliographicItem by making `title` and `copyright` mandatory.

AttributeTypeCardinalityDefinition
+ext BibDataExtensionType 1 The extension point of the bibliographic description of a BasicDocument.

BibliographicItem

class <<Bibliography>> models/bibdata/relaton/BibliographicItem.lml

Boundary reference to Relaton's BibliographicItem. Basicdoc defines only the bibliographic basis (BibData and its ext hook BibDataExtensionType); Relaton and downstream models extend and implement the full bibliographic semantics (OCP: open for extension, closed for modification here).

BibDataExtensionType

class models/bibdata/BibDataExtensionType.lml

The extension point of the bibliographic description of a BasicDocument.

AttributeTypeCardinalityDefinition
+doctype DocumentType 0..* Classification of the BasicDocument, indicating that it is to be rendered in a distinct manner.

BasicSection

class models/sections/BasicSection.lml

Group of blocks within text, which is a leaf node in the hierarchical organisation of text (does not contain any sections of its own).

AttributeTypeCardinalityDefinition
+title TextElement 0..* Title of the section.
+id String 0..1 Identifier for the section, to be used for cross-references within the document. (Citations of references are modelled as cross-references to the corresponding bibliographical item in the References section.)
+language Iso639Code 0..* Language tags for the section, coded as ISO 639 codes.
+script Iso15924Code 0..* Script tags for the section, coded as ISO 15924 codes.
+blocks BasicBlock 0..* Blocks, containing the textual content of the section (but excluding subsections, which are only present in Hierarchical Sections).
+attributes Attribute 0..* Entries from the generic attribute register: an open key-value set that markup languages bind their own attribute types into.

HierarchicalSection

class models/sections/HierarchicalSection.lml

Sections: groups of blocks within text, which can also contain other sections.

AttributeTypeCardinalityDefinition
+subsections HierarchicalSection 0..* Sections contained within the current section. The relation is recursive, so the hierarchical arrangement of sections can be arbitrarily deep.

ContentSection

class models/sections/ContentSection.lml

Prefatory sections of text, outside the main flow of text. In the BasicDocument model these are treated as equivalent to Hierarchical Sections. (The distinction is currently reserved for downstream models such as Metanorma, which differentiates structurally between prefatory sections and sections in the main body of the text; differences between the two may be introduced in the Basic Document model at a later date.)

BasicBlock

class models/blocks/BasicBlock.lml

Block of textual content in BasicDocument.

AttributeTypeCardinalityDefinition
+notes NoteBlock 0..* Notes whose scope is the current block.
+contribMetadata ContributionElementMetadata 0..* Attribution of the block to a specific contributor, to be used in change management of documents.
+attributes Attribute 0..* Entries from the generic attribute register: an open key-value set that markup languages bind their own attribute types into.