diff --git a/grammars/basicdoc.rnc b/grammars/basicdoc.rnc index ed130dd..ab51ca8 100644 --- a/grammars/basicdoc.rnc +++ b/grammars/basicdoc.rnc @@ -24,12 +24,15 @@ section = section* } -## Two-letter language code taken from ISO-639, indicating the language in which the content is written +## Two-letter language code taken from ISO 639, indicating the language in which the content is written LanguageType = text -## Four-letter script code taken from ISO-15924, indicating the script in which the content is written +## Four-letter script code taken from ISO 15924, indicating the script in which the content is written ScriptType = text +## Country and country subdivisions identifier taken from ISO 3166, indicating the locale in which the content is written +LocaleType = text + ## Group of blocks within text, which is a leaf node in the hierarchical organisation of text (does not contain any sections of its own) Basic-Section = OptionalId, @@ -57,31 +60,49 @@ references = section-title = element title { TextElement* } +## Block of textual content BasicBlock = paragraph-with-footnote | table | formula | admonition | ol | ul | dl | figure | quote | sourcecode | example | review | pre | note | pagebreak | hr | bookmark | amend BasicBlockNoId = paragraph-with-footnote-no-id | table-no-id | formula-no-id | admonition-no-id | ol-no-id | ul-no-id | dl-no-id | figure-no-id | quote-no-id | sourcecode-no-id | example-no-id | review | pre-no-id | note-no-id | pagebreak | hr | bookmark | amend +## Block describing a change in a document, intended for human readers amend = element amend { AmendType } AmendType = OptionalId, + ## The type of change described in this block attribute change { "add" | "modify" | "delete" | "replace" }, + ## The span within location where the change applies to, + ## if location defines a container larger than the scope of the change attribute path { text }?, + ## The end of the span within location where the change applies to, + ## if location defines a container larger than the scope of the change. + ## Applicable to modify and delete attribute path_end { text }?, + ## Optional caption of this block attribute title { text }?, + ## The location(s) in the original document which have undergone the change described in this block element location { (locality | localityStack)* }?, + ## Description of the change described in this block element description { BasicBlock* }?, + ## New content to be added to the document; applicable to add and modify element newcontent { OptionalId, BasicBlock* }?, + ## Classification of the change classification*, + ## Contributor responsible for the change contributor* +## Key-value classification of an entity classification = element classification { - classification_tag, classification_value + ## Key for the classification + classification_tag, + ## Value for the classification + classification_value } classification_tag = element tag { text } @@ -120,6 +141,7 @@ ParagraphType = ParagraphBody = ## Inline elements constituting the content of the paragraph TextElement*, + ## Notes whose scope is the current block note* ## Inline elements constituting the content of the paragraph, including footnotes @@ -130,6 +152,7 @@ ParagraphFnBody = ## Footnotes interspersed with paragraph content fn )*, + ## Notes whose scope is the current block note* ## Paragraph containing no footnotes: optional ID attributes (for use in Relaton, metadata) @@ -156,6 +179,7 @@ paragraph-with-footnote-no-id = ParagraphFnBody } +## Note block note = element note { RequiredId, @@ -178,14 +202,22 @@ NoteBody = NoteNoIdBody = paragraph-no-id+ +## Block intended to capture reviewer comments about some text in the document review = element review { RequiredId, + ## The party who has offered the comment attribute reviewer { text }, + ## The type of reviewer comment attribute type { text }?, + ## The date when the comment was made attribute date { xsd:dateTime }?, + ## Identifier for the start of the text or point in the text to which the comment applies. + ## If not provided, the comment applies in the vicinity of the place it has been inserted into the text attribute from { xsd:IDREF }?, + ## Identifier for the end of the text to which the comment applies attribute to { xsd:IDREF }?, + ## Reviewer comments content paragraph+ } @@ -198,6 +230,7 @@ NumberingAttributes = ## with the same number and in a subsequence: 7a, 7b, 7c etc attribute subsequence { text }? +## Block containing a mathematical expression or other formulas formula = element formula { RequiredId, @@ -214,14 +247,23 @@ formula-no-id = FormulaAttr = NumberingAttributes, + ## Indication that the formula is to be labelled as an Inequality, if inequalities are differentiated from equations attribute inequality { xsd:boolean }? FormulaBody = - stem, dl?, note* + ## The content of the formula, as a mathematical expression + stem, + ## A definitions list defining any symbols used in the formula + dl?, + ## Notes whose scope is the current block + note* FormulaNoIdBody = - stem, dl-no-id?, note-no-id* + stem, dl-no-id?, + ## Notes whose scope is the current block + note-no-id* +## Block quotation, containing extensive textual content originally authored outside of the current document quote = element quote { RequiredId, @@ -237,18 +279,31 @@ quote-no-id = } QuoteAttr = + ## The alignment of the quote against the margins of the document attribute alignment { Alignments }? QuoteBody = + ## Bibliographic citation for the quotation quote-source?, + ## Author of the quotation. The `author` attribute of the quotation is redundant with `source`, + ## since it restates information about the author that should be recoverable from the `source` citation. + ## It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools quote-author?, + ## Content of quote paragraph-with-footnote+, + ## Notes whose scope is the current block note* QuoteNoIdBody = + ## Bibliographic citation for the quotation quote-source?, + ## Author of the quotation. The `author` attribute of the quotation is redundant with `source`, + ## since it restates information about the author that should be recoverable from the `source` citation. + ## It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools quote-author?, + ## Content of quote paragraph-with-footnote-no-id+, + ## Notes whose scope is the current block note-no-id* quote-source = @@ -257,6 +312,7 @@ quote-source = quote-author = element author { text } +## Block containing computer code or comparable text sourcecode = element sourcecode { RequiredId, @@ -273,14 +329,33 @@ sourcecode-no-id = SourceAttr = NumberingAttributes, - attribute lang { LanguageType }? + ## The computer language or other notational convention that the source code is expressed in + attribute lang { text }? SourceBody = - tname?, ( text | callout )+, annotation*, note* + tname?, + ( + ## 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) + text | + ## Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations + callout + )+, + ## 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 + annotation*, + ## Notes whose scope is the current block + note* SourceNoIdBody = - tname?, ( text | callout )+, annotation*, note-no-id* + tname?, ( text | callout )+, annotation*, + ## Notes whose scope is the current block + note-no-id* +## Pre-formatted block. Wrapper 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 pre = element pre { RequiredId, @@ -296,13 +371,21 @@ pre-no-id = } PreAttr = + ## Accessible description of the preformatted text attribute alt { text }? PreBody = - tname?, text, note* + ## The caption of the block + tname?, + ## The pre-formatted text presented in the block, as a single unformatted string. (Whitespace is treated as significant) + text, + ## Notes whose scope is the current block + note* PreNoIdBody = - tname?, text, note-no-id* + tname?, text, + ## Notes whose scope is the current block + note-no-id* ## Tabular arrangement of text table = @@ -440,6 +523,7 @@ ThBody = TdBody ThNoIdBody = TdNoIdBody +## Block containing an example illustrating a claim made in the main flow of text example = element example { RequiredId, @@ -458,13 +542,17 @@ ExampleAttr = NumberingAttributes ExampleBody = + ## The caption of the example tname?, + ## Content of the example ( formula | ul | ol | dl | quote | sourcecode | paragraph-with-footnote )+, + ## Notes whose scope is the current block note* ExampleNoIdBody = tname?, ( formula-no-id | ul-no-id | ol-no-id | dl-no-id | quote-no-id | sourcecode-no-id | paragraph-with-footnote-no-id )+, + ## Notes whose scope is the current block note-no-id* ## A sidebar block outside of the main flow of text, conveying particular warnings or supplementary text to the reader @@ -497,11 +585,13 @@ AdmonitionBody = ## Caption of admonition tname?, paragraph-with-footnote*, + ## Notes whose scope is the current block note* AdmonitionNoIdBody = tname?, paragraph-with-footnote-no-id*, + ## Notes whose scope is the current block note-no-id* ## Subclass of admonition determining how it is to be rendered @@ -517,6 +607,7 @@ AdmonitionType = ## Caution to reader, note of potential surprise or difficulty "caution" +## Block containing a figure: a visual rather than textual asset, possibly with accompanying text figure = element figure { RequiredId, @@ -533,17 +624,30 @@ figure-no-id = FigureAttr = NumberingAttributes, + ## The semantic category of the figure. This is to allow different classes of figure (e.g. _Plate_, _Chart_, _Diagram_) + ## to be auto-numbered and captioned differently attribute class { text }? FigureBody = - source?, tname?, + ## A URI or other reference intended to link to an externally hosted image (or equivalent) + source?, + ## The caption of the block + tname?, + ## Content of the figure (image | video | audio | pre | paragraph-with-footnote+ | figure*), - fn*, dl?, note* + ## Footnotes specific to the figure + fn*, + ## An optional definitions list defining any symbols used in the figure + dl?, + ## Notes whose scope is the current block + note* FigureNoIdBody = source?, tname?, (image-no-id | video-no-id | audio-no-id | pre-no-id | paragraph-with-footnote-no-id+ | figure-no-id*), - fn*, dl-no-id?, note-no-id* + fn*, dl-no-id?, + ## Notes whose scope is the current block + note-no-id* ## Any inline element containing text and associated formatting information. ## Includes inline elements that are identifiers or references to identifiers @@ -631,14 +735,23 @@ ruby_annotation = element annotation { attribute lang { LanguageType }? } +## Line break br = element br { empty } +## Horizontal rule hr = element hr { empty } +## Page break. Only applicable in paged layouts (e.g. PDF, Word), and not flow layouts (e.g. HTML) pagebreak = element pagebreak { empty } +## Index term, defined as applying to the location in the text where the index element appears, as a milestone index = element index { + ## A reference to an anchor element (typically a bookmark), + ## to indicate that the index range covers a range of locations between the current index element and the `to` anchor attribute to { xsd:IDREF }?, + ## Primary index term to be recorded at the current location element primary { PureTextElement+ }, + ## Secondary index term to be recorded at the current location element secondary { PureTextElement+ }?, + ## Tertiary index term to be recorded at the current element tertiary { PureTextElement+ }? } @@ -659,7 +772,10 @@ index-xref = element index-xref { } -# bare ID element, used for referencing arbitrary spans of text +## Anchor for cross-references which do not have scope over blocks or sections. +## Anchors within a block under the BasicDocument model cannot span across a number of inline elements; +## bookmarks are intended as point anchors. For that reason, the Review block has a starting reference and an optional ending reference, +## which can be bookmarks as well as block or section references bookmark = element bookmark { RequiredId, @@ -741,9 +857,7 @@ callout = text } -# This is xref with fixed @type="callout"; the target by convention is in an annotation in the same source code snippet -# so 1 -# corresponds to 1 +## Container for image content image = element image { RequiredId, ImageAttr @@ -755,15 +869,19 @@ image-no-id = element image { } ImageAttr = - attribute src { xsd:anyURI }, - attribute mimetype { text }, - attribute filename { text }?, + MediaAttr, + MediaAccessibilityAttr, + ## Height of image attribute width { ImageSize }?, - attribute height { ImageSize }?, - attribute alt { text }?, - attribute title { text }?, - attribute longdesc { xsd:anyURI }? + ## Width of image + attribute height { ImageSize }? +## MIME encoding of media type +MIMEType = text + +## Legal values for image height and width. +## Attributes are realised as a real number, with optional percent sign, +## or as the string "auto" ImageSize = xsd:string { pattern = "\d+([.]\d+)?(%?)" } | "auto" video = @@ -781,18 +899,18 @@ video-no-id = } VideoAttr = - attribute src { xsd:anyURI }, - attribute mimetype { text }, - attribute filename { text }?, - attribute width { xsd:int | "auto" }?, - attribute height { xsd:int | "auto" }?, - attribute alt { text }?, - attribute title { text }?, - attribute longdesc { xsd:anyURI }? + MediaAttr, + MediaAccessibilityAttr, + ## Width of video + attribute width { ImageSize }?, + ## Height of video + attribute height { ImageSize }? VideoBody = + ## Alternative files to use as media altsource* +## Container for audio content audio = element audio { RequiredId, @@ -808,22 +926,33 @@ audio-no-id = } AudioAttr = - attribute src { xsd:anyURI }, - attribute mimetype { text }, - attribute filename { text }?, - attribute alt { text }?, - attribute title { text }?, - attribute longdesc { xsd:anyURI }? + MediaAttr, + MediaAccessibilityAttr AudioBody = + ## Alternative files to use as media altsource* +## Alternative file to use as media altsource = - element altsource { + element altsource { MediaAttr } + +MediaAttr = + ## URI of the media file attribute src { xsd:anyURI }, - attribute mimetype { text }, + ## Type of the media file, in MIME + attribute mimetype { MIMEType }, + ## File name corresponding to the media, to which the media can be extracted if it is represented inline + ## (e.g. in Base64 encoding in the URI) attribute filename { text }? -} + +MediaAccessibilityAttr = + ## Alternate text, supplied for accessibility + attribute alt { text }?, + ## Title, supplied for accessibility + attribute title { text }?, + ## URI pointing to more extensive alternate text description, supplied for accessibility + attribute longdesc { xsd:anyURI }? ## Mathematically formatted text @@ -841,6 +970,7 @@ annotation = paragraph } +## Unordered list block ul = element ul { RequiredId, @@ -858,15 +988,21 @@ ul-no-id = UlAttr = empty UlBody = - li+, note* + li+, + ## Notes whose scope is the current block + note* UlNoIdBody = - li-no-id+, note-no-id* + li-no-id+, + ## Notes whose scope is the current block + note-no-id* +## Item in a list block li = element li { OptionalId, LiAttr, + ## Content of list item LiBody } @@ -885,6 +1021,7 @@ LiBody = LiNoIdBody = paragraph-with-footnote-no-id+ +## Ordered list, with numbering applied to the list items ol = element ol { RequiredId, @@ -900,16 +1037,24 @@ ol-no-id = } OlAttr = + ## Type of numbering to be applied to the list items attribute type { ( "roman" | "alphabet" | "arabic" | "roman_upper" | "alphabet_upper" ) }, + ## Starting value for numbering of the list items; is a number, regardless of the type, + ## and is mapped to the ordinal represented in the type attribute start { text }? OlBody = - li+, note* + li+, + ## Notes whose scope is the current block + note* OlNoIdBody = - li-no-id+, note-no-id* + li-no-id+, + ## Notes whose scope is the current block + note-no-id* +## Definition list, composed of definitions rather than list items dl = element dl { RequiredId, @@ -926,14 +1071,26 @@ dl-no-id = DlAttr = empty DlBody = - (dt, dd)+, note* + ## Entry-Definition pair used to constitute a definition list + ( + ## Entry being defined in the definition + dt, + ## Definition of the entry + dd + )+, + ## Notes whose scope is the current block + note* DlNoIdBody = - (dt, dd-no-id)+, note-no-id* + (dt, dd-no-id)+, + ## Notes whose scope is the current block + note-no-id* +## Entry in a definition list dt = element dt { TextElement* } +## Definition in a definition list dd = element dd { paragraph-with-footnote* } diff --git a/grammars/basicdoc.rng b/grammars/basicdoc.rng index 7ab859e..a69e917 100644 --- a/grammars/basicdoc.rng +++ b/grammars/basicdoc.rng @@ -38,11 +38,15 @@ so the hierarchical arrangement of sections can be arbitrarily deep - Two-letter language code taken from ISO-639, indicating the language in which the content is written + Two-letter language code taken from ISO 639, indicating the language in which the content is written - Four-letter script code taken from ISO-15924, indicating the script in which the content is written + Four-letter script code taken from ISO 15924, indicating the script in which the content is written + + + + Country and country subdivisions identifier taken from ISO 3166, indicating the locale in which the content is written @@ -100,6 +104,7 @@ so the hierarchical arrangement of sections can be arbitrarily deep + Block of textual content @@ -144,6 +149,7 @@ so the hierarchical arrangement of sections can be arbitrarily deep + Block describing a change in a document, intended for human readers @@ -151,6 +157,7 @@ so the hierarchical arrangement of sections can be arbitrarily deep + The type of change described in this block add modify @@ -159,16 +166,26 @@ so the hierarchical arrangement of sections can be arbitrarily deep - + + The span within location where the change applies to, +if location defines a container larger than the scope of the change + - + + The end of the span within location where the change applies to, +if location defines a container larger than the scope of the change. +Applicable to modify and delete + - + + Optional caption of this block + + The location(s) in the original document which have undergone the change described in this block @@ -179,6 +196,7 @@ so the hierarchical arrangement of sections can be arbitrarily deep + Description of the change described in this block @@ -186,6 +204,7 @@ so the hierarchical arrangement of sections can be arbitrarily deep + New content to be added to the document; applicable to add and modify @@ -193,16 +212,25 @@ so the hierarchical arrangement of sections can be arbitrarily deep - + + Classification of the change + - + + Contributor responsible for the change + + Key-value classification of an entity - - + + Key for the classification + + + Value for the classification + @@ -270,7 +298,9 @@ in a document (e.g. sourcecode annotations) - + + Notes whose scope is the current block + @@ -286,7 +316,9 @@ in a document (e.g. sourcecode annotations) - + + Notes whose scope is the current block + @@ -314,6 +346,7 @@ in a document (e.g. sourcecode annotations) + Note block @@ -341,29 +374,40 @@ in a document (e.g. sourcecode annotations) + Block intended to capture reviewer comments about some text in the document - + + The party who has offered the comment + - + + The type of reviewer comment + + The date when the comment was made + Identifier for the start of the text or point in the text to which the comment applies. +If not provided, the comment applies in the vicinity of the place it has been inserted into the text + Identifier for the end of the text to which the comment applies - + + Reviewer comments content + @@ -384,6 +428,7 @@ with the same number and in a subsequence: 7a, 7b, 7c etc + Block containing a mathematical expression or other formulas @@ -401,17 +446,24 @@ with the same number and in a subsequence: 7a, 7b, 7c etc + Indication that the formula is to be labelled as an Inequality, if inequalities are differentiated from equations - + + The content of the formula, as a mathematical expression + - + + A definitions list defining any symbols used in the formula + - + + Notes whose scope is the current block + @@ -420,10 +472,13 @@ with the same number and in a subsequence: 7a, 7b, 7c etc - + + Notes whose scope is the current block + + Block quotation, containing extensive textual content originally authored outside of the current document @@ -440,36 +495,57 @@ with the same number and in a subsequence: 7a, 7b, 7c etc + The alignment of the quote against the margins of the document - + + Bibliographic citation for the quotation + - + + Author of the quotation. The `author` attribute of the quotation is redundant with `source`, +since it restates information about the author that should be recoverable from the `source` citation. +It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools + - + + Content of quote + - + + Notes whose scope is the current block + - + + Bibliographic citation for the quotation + - + + Author of the quotation. The `author` attribute of the quotation is redundant with `source`, +since it restates information about the author that should be recoverable from the `source` citation. +It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools + - + + Content of quote + - + + Notes whose scope is the current block + @@ -483,6 +559,7 @@ with the same number and in a subsequence: 7a, 7b, 7c etc + Block containing computer code or comparable text @@ -500,7 +577,7 @@ with the same number and in a subsequence: 7a, 7b, 7c etc - + The computer language or other notational convention that the source code is expressed in @@ -510,15 +587,25 @@ with the same number and in a subsequence: 7a, 7b, 7c etc - - + + 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) + + + Zero or more cross-references; these are intended to be embedded within the content string, and link to annotations + - + + 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 + - + + Notes whose scope is the current block + @@ -535,10 +622,16 @@ with the same number and in a subsequence: 7a, 7b, 7c etc - + + Notes whose scope is the current block + + Pre-formatted block. Wrapper 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 @@ -554,16 +647,24 @@ with the same number and in a subsequence: 7a, 7b, 7c etc - + + Accessible description of the preformatted text + - + + The caption of the block + - + + The pre-formatted text presented in the block, as a single unformatted string. (Whitespace is treated as significant) + - + + Notes whose scope is the current block + @@ -572,7 +673,9 @@ with the same number and in a subsequence: 7a, 7b, 7c etc - + + Notes whose scope is the current block + @@ -843,6 +946,7 @@ in case the table cannot be rendered accessibly (HTML 5) + Block containing an example illustrating a claim made in the main flow of text @@ -861,10 +965,13 @@ in case the table cannot be rendered accessibly (HTML 5) - + + The caption of the example + + Content of the example @@ -875,7 +982,9 @@ in case the table cannot be rendered accessibly (HTML 5) - + + Notes whose scope is the current block + @@ -894,7 +1003,9 @@ in case the table cannot be rendered accessibly (HTML 5) - + + Notes whose scope is the current block + @@ -942,7 +1053,9 @@ Typically is a subclass of an admonition type - + + Notes whose scope is the current block + @@ -953,7 +1066,9 @@ Typically is a subclass of an admonition type - + + Notes whose scope is the current block + @@ -972,6 +1087,7 @@ Typically is a subclass of an admonition type + Block containing a figure: a visual rather than textual asset, possibly with accompanying text @@ -988,17 +1104,25 @@ Typically is a subclass of an admonition type - + + The semantic category of the figure. This is to allow different classes of figure (e.g. _Plate_, _Chart_, _Diagram_) +to be auto-numbered and captioned differently + - + + A URI or other reference intended to link to an externally hosted image (or equivalent) + - + + The caption of the block + + Content of the figure @@ -1011,13 +1135,19 @@ Typically is a subclass of an admonition type - + + Footnotes specific to the figure + - + + An optional definitions list defining any symbols used in the figure + - + + Notes whose scope is the current block + @@ -1046,7 +1176,9 @@ Typically is a subclass of an admonition type - + + Notes whose scope is the current block + @@ -1303,34 +1435,42 @@ Restricted recursively to contain only other such inline elements with no identi + Line break + Horizontal rule + Page break. Only applicable in paged layouts (e.g. PDF, Word), and not flow layouts (e.g. HTML) + Index term, defined as applying to the location in the text where the index element appears, as a milestone + A reference to an anchor element (typically a bookmark), +to indicate that the index range covers a range of locations between the current index element and the `to` anchor + Primary index term to be recorded at the current location + Secondary index term to be recorded at the current location @@ -1338,6 +1478,7 @@ Restricted recursively to contain only other such inline elements with no identi + Tertiary index term to be recorded at the current @@ -1384,8 +1525,11 @@ The text in the inline element is the primary index term to be be cross-referenc - + Anchor for cross-references which do not have scope over blocks or sections. +Anchors within a block under the BasicDocument model cannot span across a number of inline elements; +bookmarks are intended as point anchors. For that reason, the Review block has a starting reference and an optional ending reference, +which can be bookmarks as well as block or section references @@ -1511,12 +1655,8 @@ the extent of the target is not expressed overtly - + Container for image content @@ -1529,36 +1669,29 @@ the extent of the target is not expressed overtly - - - - - - - + + + Height of image + Width of image - - - - - - - - - - - + + + MIME encoding of media type + + Legal values for image height and width. +Attributes are realised as a real number, with optional percent sign, +or as the string "auto" \d+([.]\d+)?(%?) @@ -1581,47 +1714,30 @@ the extent of the target is not expressed overtly - - - - - - - + + - - - auto - + Width of video + - - - auto - - - - - - - - - - - - + Height of video + - + + Alternative files to use as media + + Container for audio content @@ -1636,41 +1752,56 @@ the extent of the target is not expressed overtly + + + + + + + Alternative files to use as media + + + + + Alternative file to use as media + + + + + + URI of the media file - + + Type of the media file, in MIME + + - + + File name corresponding to the media, to which the media can be extracted if it is represented inline +(e.g. in Base64 encoding in the URI) + + + - + + Alternate text, supplied for accessibility + - + + Title, supplied for accessibility + + URI pointing to more extensive alternate text description, supplied for accessibility - - - - - - - - - - - - - - - - Mathematically formatted text @@ -1698,6 +1829,7 @@ the extent of the target is not expressed overtly + Unordered list block @@ -1719,7 +1851,9 @@ the extent of the target is not expressed overtly - + + Notes whose scope is the current block + @@ -1727,14 +1861,19 @@ the extent of the target is not expressed overtly - + + Notes whose scope is the current block + + Item in a list block - + + Content of list item + @@ -1758,6 +1897,7 @@ the extent of the target is not expressed overtly + Ordered list, with numbering applied to the list items @@ -1773,6 +1913,7 @@ the extent of the target is not expressed overtly + Type of numbering to be applied to the list items roman alphabet @@ -1782,7 +1923,10 @@ the extent of the target is not expressed overtly - + + Starting value for numbering of the list items; is a number, regardless of the type, +and is mapped to the ordinal represented in the type + @@ -1790,7 +1934,9 @@ the extent of the target is not expressed overtly - + + Notes whose scope is the current block + @@ -1798,10 +1944,13 @@ the extent of the target is not expressed overtly - + + Notes whose scope is the current block + + Definition list, composed of definitions rather than list items @@ -1819,11 +1968,20 @@ the extent of the target is not expressed overtly - - + + Entry-Definition pair used to constitute a definition list + + Entry being defined in the definition + + + Definition of the entry + + - + + Notes whose scope is the current block + @@ -1832,10 +1990,13 @@ the extent of the target is not expressed overtly - + + Notes whose scope is the current block + + Entry in a definition list @@ -1843,6 +2004,7 @@ the extent of the target is not expressed overtly + Definition in a definition list diff --git a/models/lists/Definition.lutaml b/models/lists/Definition.lutaml index ce9e912..796614f 100644 --- a/models/lists/Definition.lutaml +++ b/models/lists/Definition.lutaml @@ -1,6 +1,6 @@ class Definition{ definition { - Definition used to constitute a definition list. + Entry-Definition pair used to constitute a definition list. } +item: TextElement[0..*] { definition { diff --git a/models/multiparagraphs/AmendBlock.lutaml b/models/multiparagraphs/AmendBlock.lutaml index f735795..d913c0f 100644 --- a/models/multiparagraphs/AmendBlock.lutaml +++ b/models/multiparagraphs/AmendBlock.lutaml @@ -32,7 +32,7 @@ class AmendBlock { applicable to modify or delete. } } - +name: String[0..1] { + +title: String[0..1] { definition { Optional caption of this block. } @@ -49,12 +49,12 @@ class AmendBlock { } +classification: Classification[0..*] { definition { - Classification of the machine-readable change. + Classification of the change. } } +contributor: <> Contributor[0..*] { definition { - Contributor responsible for the machine-readable change. + Contributor responsible for the change. } } } diff --git a/models/multiparagraphs/ChangeType.lutaml b/models/multiparagraphs/ChangeType.lutaml index 2ce954f..93f7c40 100644 --- a/models/multiparagraphs/ChangeType.lutaml +++ b/models/multiparagraphs/ChangeType.lutaml @@ -19,4 +19,9 @@ enum ChangeType { Indicates a change that deletes content. } } + replace { + definition { + Indicates a change that replaces content. + } + } } diff --git a/models/multiparagraphs/QuoteBlock.lutaml b/models/multiparagraphs/QuoteBlock.lutaml index 13bb101..0898be3 100644 --- a/models/multiparagraphs/QuoteBlock.lutaml +++ b/models/multiparagraphs/QuoteBlock.lutaml @@ -9,7 +9,7 @@ class QuoteBlock{ } +author: <> Contributor[0..1] { definition { - Author of the quotation. The `author` attribute of the quotation is redundant with the citation, since it restates information about the author that should be recoverable from the citation itself. It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools. + Author of the quotation. The `author` attribute of the quotation is redundant with `source`, since it restates information about the author that should be recoverable from the `source` citation. It is included for convenience, in case processing the citation to extract the author is prohibitive for rendering tools. } } }