Atlas · blocks · Plate 04 of 16

blocks

Blocks

Diagram view views/Blocks.lml composing 12 LML includes and 11 associations.

Includes12
Associations11
Types12
Full UML diagram for Blocks

Model definitions

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.

ParagraphBlock

class models/blocks/paragraphs/ParagraphBlock.lml

Default block of textual content. Unlike the case for other document models, paragraphs _cannot_ contain other blocks, such as lists, tables, or figures: they are modelled as a basic building block of text.

AttributeTypeCardinalityDefinition
+contents BasicElement 0..* Inline elements constituting the content of the paragraph.
+alignment TextAlignment 0..1 The alignment of the paragraph against the margins of the document. Text alignment is the only concession the modelling of paragraphs makes to rendering, and is there because the application of alignment to paragraphs, while rare, can be unpredictable from paragraph semantics. Other rendering attributes of paragraphs, such as spacing before and after, are considered to be semantically predictable and are relegated to document stylesheets.

TableBlock

class models/blocks/tables/TableBlock.lml

Tabular arrangement of text

AttributeTypeCardinalityDefinition
+name TextElement 0..* Caption for the table.
+alt String 0..1 Accessible description of the tabular text, in case the table cannot be rendered accessibly.
+summary String 0..1 Alternative more extensive summary of table to be provided for accessibility purposes, in case the table cannot be rendered accessibly.
+uri Uri 0..1 Online location of content of table (in case the table is available as a separate external document).
+head TextTableRow 0..* Table rows constituting the table header.
+body TextTableRow 1..* Table rows constituting the table body.
+foot TextTableRow 0..1 Table rows constituting the table footer.
+definitions DefinitionList 0..1 Definitions list defining any symbols used in the table.

FigureBlock

class models/blocks/ancillaryblocks/FigureBlock.lml

Block containing a figure: a visual rather than textual asset, possibly with accompanying text.

AttributeTypeCardinalityDefinition
+source String 0..1 A URI or other reference intended to link to an externally hosted image (or equivalent).
+name TextElement 0..* The caption of the block.
+image Image 0..1 The image file to be included in the figure as its main content.
+video Video 0..1 The video file to be included in the figure as its main content.
+audio Audio 0..1 The audio file to be included in the figure as its main content.
+figure Subfigure 0..* Figures embedded within the main figure.
+definitions DefinitionList 0..1 An optional definitions list defining any symbols used in the figure.
+footnotes ReferenceToIdWithParagraphElement 0..* Optional footnotes specific to the figure.

SourcecodeBlock

class models/blocks/ancillaryblocks/SourcecodeBlock.lml

Block containing computer code or comparable text.

AttributeTypeCardinalityDefinition
+name TextElement 0..* The caption of the block.
+filename String 0..1 A file name associated with the source code (and which could be used to extract the source code fragment to from the document, or to populate the source code fragment with from the external file, in automated processing of the document).
+lang String 0..1 The computer language or other notational convention that the source code is expressed in.
+content String 1 The computer code or other such text presented in the block, as a single unformatted string. (The string should be treated as pre-formatted text, with whitespace treated as significant.)
+callouts ReferenceToIdElement 0..* Zero or more cross-references; these are intended to be embedded within the `content` string, and link to annotations.
+calloutAnnotations ParagraphBlock 0..* Annotations to the source code; each annotation consists of zero or more paragraphs, and is intended to be referenced by a callout within the source code.

FormulaBlock

class models/blocks/ancillaryblocks/FormulaBlock.lml

Block containing a mathematical expression or other formulas.

AttributeTypeCardinalityDefinition
+stem StemElement 1 The content of the formula, as a mathematical expression.
+inequality Boolean 0..1 Indication that the formula is to be labelled as an Inequality, if inequalities are differentiated from equations.
+definitions DefinitionList 0..1 A definitions list defining any symbols used in the formula.

LiteralBlock

class models/blocks/ancillaryblocks/LiteralBlock.lml

Pre-formatted blocks are wrappers for text to be rendered with fixed-width typeface, and preserving spaces including line breaks. They are intended for a restricted number of functions, most typically ASCII Art (which is still in prominent use in some standards documents), and computer output. In most cases, Sourcecode blocks are more appropriate in markup, as it is more clearly motivated semantically.

AttributeTypeCardinalityDefinition
+alt String 0..1 Accessible description of the preformatted text.
+name TextElement 0..* The caption of the block.
+content String 1 The pre-formatted text presented in the block, as a single unformatted string. (Whitespace is treated as significant.)

AmendBlock

class models/blocks/amend/AmendBlock.lml

Block describing a change in a document, intended for human readers as opposed to the machine-readable Change.

AttributeTypeCardinalityDefinition
+change ChangeType 1 The type of change described in this block.
+bibLocality <<Bibliography>> BibItemLocality 0..* The location in the original document which has undergone the change described in this block. Typically this is given as a clause.
+localityStack <<Bibliography>> LocalityStack 0..* The location in the original document which has undergone the change described in this block, expressed as multiple levels of citation..
+path String 0..1 The location within the bibLocality where the change applies to, if bibLocality defines a container larger than the scope of the change.
+position AmendPosition 0..1 For an add change, whether the change is added before or after the location.
+pathEnd String 0..1 The end of the span within the bibLocality where the change applies to; applicable to modify or delete.
+title String 0..1 Optional caption of this block.
+description BasicBlock 0..* Description of the change described in this block.
+newContent NewContentBlock 0..1 New content to be added to the document; applicable to add and modify.
+classification Attribute 0..* Classification of the change.
+contributor <<Bibliography>> Contributor 0..* Contributor responsible for the change.