lib/asciidoctor/sample/isodoc.rng in metanorma-sample-1.0.10 vs lib/asciidoctor/sample/isodoc.rng in metanorma-sample-1.3.8
- old
+ new
@@ -16,33 +16,63 @@
for these elements, and a distinct namespace for any grammar inheriting
these elements; we just want one namespace for any child grammars
of this.
-->
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
- <include href="biblio.rng">
- <define name="status">
- <element name="status">
- <choice>
- <value>proposal</value>
- <value>working_draft</value>
- <value>committee_draft</value>
- <value>draft_standard</value>
- <value>final_draft</value>
- <value>published</value>
- <value>withdrawn</value>
- </choice>
+ <include href="reqt.rng"/>
+ <!-- include "biblio.rnc" { } -->
+ <include href="basicdoc.rng">
+ <start>
+ <ref name="standard-document"/>
+ </start>
+ <define name="BibDataExtensionType">
+ <ref name="doctype"/>
+ <zeroOrMore>
+ <ref name="structuredidentifier"/>
+ </zeroOrMore>
+ </define>
+ <define name="TitleType">
+ <text/>
+ </define>
+ <define name="sections">
+ <element name="sections">
+ <oneOrMore>
+ <choice>
+ <ref name="clause"/>
+ <ref name="terms"/>
+ <ref name="definitions"/>
+ </choice>
+ </oneOrMore>
</element>
</define>
+ <define name="references">
+ <element name="references">
+ <optional>
+ <attribute name="id">
+ <data type="ID"/>
+ </attribute>
+ </optional>
+ <optional>
+ <ref name="section-title"/>
+ </optional>
+ <zeroOrMore>
+ <ref name="BasicBlock"/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name="bibitem"/>
+ <zeroOrMore>
+ <ref name="note"/>
+ </zeroOrMore>
+ </zeroOrMore>
+ </element>
+ </define>
</include>
- <start>
- <ref name="standard-document"/>
- </start>
<define name="standard-document">
<element name="standard-document">
<ref name="bibdata"/>
<optional>
- <ref name="version"/>
+ <ref name="boilerplate"/>
</optional>
<optional>
<ref name="preface"/>
</optional>
<ref name="sections"/>
@@ -52,122 +82,136 @@
<zeroOrMore>
<ref name="references"/>
</zeroOrMore>
</element>
</define>
- <define name="bibdata">
- <element name="bibdata">
- <ref name="BibData"/>
+ <define name="preface">
+ <element name="preface">
+ <oneOrMore>
+ <choice>
+ <ref name="content"/>
+ <ref name="abstract"/>
+ <ref name="foreword"/>
+ <ref name="introduction"/>
+ <ref name="acknowledgements"/>
+ </choice>
+ </oneOrMore>
</element>
</define>
- <define name="version">
- <element name="version">
+ <define name="foreword">
+ <element name="foreword">
+ <ref name="Content-Section"/>
+ </element>
+ </define>
+ <define name="introduction">
+ <element name="introduction">
+ <ref name="Content-Section"/>
+ </element>
+ </define>
+ <define name="boilerplate">
+ <element name="boilerplate">
<optional>
- <ref name="vedition"/>
+ <ref name="copyright-statement"/>
</optional>
<optional>
- <ref name="revision-date"/>
+ <ref name="license-statement"/>
</optional>
- <zeroOrMore>
- <ref name="draft"/>
- </zeroOrMore>
+ <optional>
+ <ref name="legal-statement"/>
+ </optional>
+ <optional>
+ <ref name="feedback-statement"/>
+ </optional>
</element>
</define>
- <define name="vedition">
- <element name="edition">
- <data type="int"/>
+ <define name="copyright-statement">
+ <element name="copyright-statement">
+ <ref name="Content-Section"/>
</element>
</define>
- <define name="revision-date">
- <element name="revision-date">
- <data type="date"/>
+ <define name="license-statement">
+ <element name="license-statement">
+ <ref name="Content-Section"/>
</element>
</define>
- <define name="draft">
- <element name="draft">
- <text/>
+ <define name="legal-statement">
+ <element name="legal-statement">
+ <ref name="Content-Section"/>
</element>
</define>
- <define name="preface">
- <element name="preface">
- <oneOrMore>
- <ref name="content"/>
- </oneOrMore>
+ <define name="feedback-statement">
+ <element name="feedback-statement">
+ <ref name="Content-Section"/>
</element>
</define>
- <define name="sections">
- <element name="sections">
- <oneOrMore>
- <choice>
- <ref name="content"/>
- <ref name="clause"/>
- <ref name="terms"/>
- <ref name="definitions"/>
- </choice>
- </oneOrMore>
- </element>
- </define>
<define name="definitions">
<element name="definitions">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
+ <attribute name="language"/>
+ </optional>
+ <optional>
+ <attribute name="script"/>
+ </optional>
+ <optional>
<ref name="section-title"/>
</optional>
- <ref name="dl"/>
+ <oneOrMore>
+ <zeroOrMore>
+ <ref name="BasicBlock"/>
+ </zeroOrMore>
+ <ref name="dl"/>
+ </oneOrMore>
</element>
</define>
- <define name="section-title">
- <element name="title">
- <zeroOrMore>
- <ref name="TextElement"/>
- </zeroOrMore>
+ <define name="content">
+ <element name="clause">
+ <ref name="Content-Section"/>
</element>
</define>
- <define name="content">
- <element name="content">
+ <define name="abstract">
+ <element name="abstract">
<ref name="Content-Section"/>
</element>
</define>
+ <define name="acknowledgements">
+ <element name="acknowledgements">
+ <ref name="Content-Section"/>
+ </element>
+ </define>
<define name="content-subsection">
<element name="clause">
+ <optional>
+ <attribute name="type"/>
+ </optional>
<ref name="Content-Section"/>
</element>
</define>
- <define name="Basic-Section">
+ <define name="Content-Section">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
- <ref name="section-title"/>
+ <attribute name="language"/>
</optional>
- <oneOrMore>
- <ref name="BasicBlock"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </define>
- <define name="Content-Section">
<optional>
- <attribute name="id">
- <data type="ID"/>
- </attribute>
+ <attribute name="script"/>
</optional>
<optional>
<ref name="section-title"/>
</optional>
<choice>
<group>
- <oneOrMore>
+ <zeroOrMore>
<ref name="BasicBlock"/>
- </oneOrMore>
+ </zeroOrMore>
<zeroOrMore>
<ref name="note"/>
</zeroOrMore>
</group>
<oneOrMore>
@@ -175,33 +219,46 @@
</oneOrMore>
</choice>
</define>
<define name="clause">
<element name="clause">
+ <optional>
+ <attribute name="type"/>
+ </optional>
<ref name="Clause-Section"/>
</element>
</define>
<define name="Clause-Section">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
+ <attribute name="language"/>
+ </optional>
+ <optional>
+ <attribute name="script"/>
+ </optional>
+ <optional>
<ref name="section-title"/>
</optional>
<choice>
<group>
- <oneOrMore>
+ <zeroOrMore>
<ref name="BasicBlock"/>
- </oneOrMore>
+ </zeroOrMore>
<zeroOrMore>
<ref name="note"/>
</zeroOrMore>
</group>
<oneOrMore>
- <ref name="clause-subsection"/>
+ <choice>
+ <ref name="clause-subsection"/>
+ <ref name="terms"/>
+ <ref name="definitions"/>
+ </choice>
</oneOrMore>
</choice>
</define>
<define name="clause-subsection">
<element name="clause">
@@ -213,10 +270,16 @@
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
+ <optional>
+ <attribute name="language"/>
+ </optional>
+ <optional>
+ <attribute name="script"/>
+ </optional>
<attribute name="obligation">
<choice>
<value>normative</value>
<value>informative</value>
</choice>
@@ -224,45 +287,39 @@
<optional>
<ref name="section-title"/>
</optional>
<choice>
<group>
- <oneOrMore>
+ <zeroOrMore>
<ref name="BasicBlock"/>
- </oneOrMore>
+ </zeroOrMore>
<zeroOrMore>
<ref name="note"/>
</zeroOrMore>
</group>
<oneOrMore>
<ref name="clause-subsection"/>
</oneOrMore>
</choice>
</element>
</define>
- <define name="references">
- <element name="references">
+ <define name="terms">
+ <element name="terms">
<optional>
<attribute name="id">
<data type="ID"/>
</attribute>
</optional>
<optional>
- <ref name="section-title"/>
+ <attribute name="language"/>
</optional>
- <zeroOrMore>
- <ref name="bibitem"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="terms">
- <element name="terms">
<optional>
- <attribute name="id">
- <data type="ID"/>
- </attribute>
+ <attribute name="script"/>
</optional>
+ <zeroOrMore>
+ <ref name="BasicBlock"/>
+ </zeroOrMore>
<oneOrMore>
<ref name="term"/>
</oneOrMore>
</element>
</define>
@@ -278,15 +335,21 @@
</oneOrMore>
<zeroOrMore>
<ref name="admitted"/>
</zeroOrMore>
<zeroOrMore>
+ <ref name="related"/>
+ </zeroOrMore>
+ <zeroOrMore>
<ref name="deprecates"/>
</zeroOrMore>
<optional>
<ref name="termdomain"/>
</optional>
+ <zeroOrMore>
+ <ref name="termgrammar"/>
+ </zeroOrMore>
<ref name="definition"/>
<zeroOrMore>
<ref name="termnote"/>
</zeroOrMore>
<zeroOrMore>
@@ -309,10 +372,26 @@
<oneOrMore>
<ref name="TextElement"/>
</oneOrMore>
</element>
</define>
+ <define name="related">
+ <element name="related">
+ <optional>
+ <attribute name="type">
+ <choice>
+ <value>compare</value>
+ <value>contrast</value>
+ <value>see</value>
+ </choice>
+ </attribute>
+ </optional>
+ <oneOrMore>
+ <ref name="TextElement"/>
+ </oneOrMore>
+ </element>
+ </define>
<define name="deprecates">
<element name="deprecates">
<oneOrMore>
<ref name="TextElement"/>
</oneOrMore>
@@ -323,10 +402,17 @@
<oneOrMore>
<ref name="TextElement"/>
</oneOrMore>
</element>
</define>
+ <define name="termgrammar">
+ <element name="grammar">
+ <oneOrMore>
+ <ref name="TextElement"/>
+ </oneOrMore>
+ </element>
+ </define>
<define name="definition">
<element name="definition">
<ref name="paragraph"/>
</element>
</define>
@@ -368,724 +454,61 @@
<define name="modification">
<element name="modification">
<ref name="paragraph"/>
</element>
</define>
- <define name="BasicBlock">
- <choice>
- <ref name="paragraph-with-footnote"/>
- <ref name="table"/>
- <ref name="formula"/>
- <ref name="admonition"/>
- <ref name="ol"/>
- <ref name="ul"/>
- <ref name="dl"/>
- <ref name="figure"/>
- <ref name="quote"/>
- <ref name="sourcecode"/>
- <ref name="example"/>
- <ref name="review"/>
- <ref name="pre"/>
- </choice>
- </define>
- <define name="paragraph">
- <element name="p">
- <ref name="ParagraphType"/>
- </element>
- </define>
- <define name="Alignments">
- <choice>
- <value>left</value>
- <value>right</value>
- <value>center</value>
- <value>justified</value>
- </choice>
- </define>
- <define name="ParagraphType">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <optional>
- <attribute name="align">
- <ref name="Alignments"/>
- </attribute>
- </optional>
- <zeroOrMore>
- <ref name="TextElement"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </define>
- <define name="paragraph-with-footnote">
- <element name="p">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
+ <define name="structuredidentifier">
+ <element name="structuredidentifier">
<optional>
- <attribute name="align">
- <ref name="Alignments"/>
- </attribute>
+ <attribute name="type"/>
</optional>
- <zeroOrMore>
- <choice>
- <ref name="TextElement"/>
- <ref name="fn"/>
- </choice>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="note">
- <element name="note">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
<oneOrMore>
- <ref name="paragraph"/>
+ <element name="agency">
+ <text/>
+ </element>
</oneOrMore>
- </element>
- </define>
- <define name="review">
- <element name="review">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <attribute name="reviewer"/>
<optional>
- <attribute name="date">
- <data type="dateTime"/>
- </attribute>
+ <element name="class">
+ <text/>
+ </element>
</optional>
- <attribute name="from">
- <data type="IDREF"/>
- </attribute>
+ <element name="docnumber">
+ <text/>
+ </element>
<optional>
- <attribute name="to">
- <data type="IDREF"/>
- </attribute>
+ <element name="partnumber">
+ <text/>
+ </element>
</optional>
- <oneOrMore>
- <ref name="paragraph"/>
- </oneOrMore>
- </element>
- </define>
- <define name="formula">
- <element name="formula">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <ref name="stem"/>
<optional>
- <ref name="dl"/>
+ <element name="edition">
+ <text/>
+ </element>
</optional>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="quote">
- <element name="quote">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
<optional>
- <attribute name="alignment">
- <ref name="Alignments"/>
- </attribute>
+ <element name="version">
+ <text/>
+ </element>
</optional>
<optional>
- <ref name="quote-source"/>
+ <element name="supplementtype">
+ <text/>
+ </element>
</optional>
<optional>
- <ref name="quote-author"/>
+ <element name="supplementnumber">
+ <text/>
+ </element>
</optional>
- <oneOrMore>
- <ref name="paragraph-with-footnote"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="quote-source">
- <element name="source">
- <ref name="erefType"/>
- </element>
- </define>
- <define name="quote-author">
- <element name="author">
- <text/>
- </element>
- </define>
- <define name="sourcecode">
- <element name="sourcecode">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
<optional>
- <ref name="tname"/>
- </optional>
- <oneOrMore>
- <choice>
+ <element name="language">
<text/>
- <ref name="callout"/>
- </choice>
- </oneOrMore>
- <zeroOrMore>
- <ref name="annotation"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="pre">
- <element name="pre">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <optional>
- <ref name="tname"/>
+ </element>
</optional>
- <text/>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="table">
- <element name="table">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
<optional>
- <ref name="tname"/>
+ <element name="year">
+ <text/>
+ </element>
</optional>
- <optional>
- <ref name="thead"/>
- </optional>
- <ref name="tbody"/>
- <optional>
- <ref name="tfoot"/>
- </optional>
- <zeroOrMore>
- <ref name="table-note"/>
- </zeroOrMore>
- <optional>
- <ref name="dl"/>
- </optional>
</element>
- </define>
- <define name="tname">
- <element name="name">
- <text/>
- </element>
- </define>
- <define name="thead">
- <element name="thead">
- <ref name="tr"/>
- </element>
- </define>
- <define name="tfoot">
- <element name="tfoot">
- <ref name="tr"/>
- </element>
- </define>
- <define name="tbody">
- <element name="tbody">
- <oneOrMore>
- <ref name="tr"/>
- </oneOrMore>
- </element>
- </define>
- <define name="table-note">
- <element name="note">
- <ref name="paragraph"/>
- </element>
- </define>
- <define name="tr">
- <element name="tr">
- <oneOrMore>
- <choice>
- <ref name="td"/>
- <ref name="th"/>
- </choice>
- </oneOrMore>
- </element>
- </define>
- <define name="td">
- <element name="td">
- <optional>
- <attribute name="colspan"/>
- </optional>
- <optional>
- <attribute name="rowspan"/>
- </optional>
- <optional>
- <attribute name="align">
- <choice>
- <value>left</value>
- <value>right</value>
- <value>center</value>
- </choice>
- </attribute>
- </optional>
- <choice>
- <zeroOrMore>
- <ref name="TextElement"/>
- </zeroOrMore>
- <oneOrMore>
- <ref name="paragraph-with-footnote"/>
- </oneOrMore>
- </choice>
- </element>
- </define>
- <define name="th">
- <element name="th">
- <optional>
- <attribute name="colspan"/>
- </optional>
- <optional>
- <attribute name="rowspan"/>
- </optional>
- <optional>
- <attribute name="align">
- <choice>
- <value>left</value>
- <value>right</value>
- <value>center</value>
- </choice>
- </attribute>
- </optional>
- <choice>
- <zeroOrMore>
- <ref name="TextElement"/>
- </zeroOrMore>
- <oneOrMore>
- <ref name="paragraph-with-footnote"/>
- </oneOrMore>
- </choice>
- </element>
- </define>
- <define name="example">
- <element name="example">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <oneOrMore>
- <choice>
- <ref name="formula"/>
- <ref name="ul"/>
- <ref name="ol"/>
- <ref name="dl"/>
- <ref name="quote"/>
- <ref name="sourcecode"/>
- <ref name="paragraph-with-footnote"/>
- </choice>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="admonition">
- <element name="admonition">
- <attribute name="type">
- <choice>
- <value>warning</value>
- <value>note</value>
- <value>tip</value>
- <value>important</value>
- <value>caution</value>
- </choice>
- </attribute>
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <zeroOrMore>
- <ref name="paragraph-with-footnote"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="figure">
- <element name="figure">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <optional>
- <ref name="source"/>
- </optional>
- <optional>
- <ref name="tname"/>
- </optional>
- <choice>
- <ref name="image"/>
- <ref name="pre"/>
- <zeroOrMore>
- <ref name="figure"/>
- </zeroOrMore>
- </choice>
- <zeroOrMore>
- <ref name="fn"/>
- </zeroOrMore>
- <optional>
- <ref name="dl"/>
- </optional>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="TextElement">
- <choice>
- <text/>
- <ref name="em"/>
- <ref name="eref"/>
- <ref name="strong"/>
- <ref name="stem"/>
- <ref name="sub"/>
- <ref name="sup"/>
- <ref name="tt"/>
- <ref name="keyword"/>
- <ref name="strike"/>
- <ref name="smallcap"/>
- <ref name="xref"/>
- <ref name="br"/>
- <ref name="hyperlink"/>
- <ref name="hr"/>
- <ref name="pagebreak"/>
- <ref name="bookmark"/>
- </choice>
- </define>
- <define name="source">
- <element name="source">
- <ref name="TypedUri"/>
- </element>
- </define>
- <define name="em">
- <element name="em">
- <text/>
- </element>
- </define>
- <define name="strong">
- <element name="strong">
- <text/>
- </element>
- </define>
- <define name="tt">
- <element name="tt">
- <text/>
- </element>
- </define>
- <define name="keyword">
- <element name="keyword">
- <text/>
- </element>
- </define>
- <define name="sub">
- <element name="sub">
- <text/>
- </element>
- </define>
- <define name="sup">
- <element name="sup">
- <text/>
- </element>
- </define>
- <define name="strike">
- <element name="strike">
- <text/>
- </element>
- </define>
- <define name="smallcap">
- <element name="smallcap">
- <text/>
- </element>
- </define>
- <define name="br">
- <element name="br">
- <empty/>
- </element>
- </define>
- <define name="hr">
- <element name="hr">
- <empty/>
- </element>
- </define>
- <define name="pagebreak">
- <element name="pagebreak">
- <empty/>
- </element>
- </define>
- <!-- bare ID element, used for referencing arbitrary spans of text -->
- <define name="bookmark">
- <element name="bookmark">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <empty/>
- </element>
- </define>
- <define name="ReferenceFormat">
- <choice>
- <value>external</value>
- <value>inline</value>
- <value>footnote</value>
- <value>callout</value>
- </choice>
- </define>
- <define name="eref">
- <element name="eref">
- <ref name="erefType"/>
- </element>
- </define>
- <define name="erefType">
- <optional>
- <attribute name="normative">
- <data type="boolean"/>
- </attribute>
- </optional>
- <attribute name="citeas"/>
- <attribute name="type">
- <ref name="ReferenceFormat"/>
- </attribute>
- <ref name="CitationType"/>
- <text/>
- </define>
- <define name="hyperlink">
- <element name="link">
- <attribute name="target">
- <data type="anyURI"/>
- </attribute>
- <attribute name="type">
- <ref name="ReferenceFormat"/>
- </attribute>
- <text/>
- </element>
- </define>
- <define name="xref">
- <element name="xref">
- <attribute name="target">
- <data type="IDREF"/>
- </attribute>
- <attribute name="type">
- <ref name="ReferenceFormat"/>
- </attribute>
- <text/>
- </element>
- </define>
- <define name="fn">
- <element name="fn">
- <attribute name="reference"/>
- <oneOrMore>
- <ref name="paragraph"/>
- </oneOrMore>
- </element>
- </define>
- <!--
- This is xref with fixed @type="footnote", and @target built in as paragraph+
- @reference replaces ReferenceElement/text
- so <fn reference="2"><p>This is a footnote</p></fn>
- corresponds to
- <eref type="footnote" target="fn2">2</xref> <p id="fn2">This is a footnote</p>
- -->
- <define name="callout">
- <element name="callout">
- <attribute name="target">
- <data type="IDREF"/>
- </attribute>
- <text/>
- </element>
- </define>
- <!--
- This is xref with fixed @type="callout"; the target by convention is in an annotation in the same source code snippet
- so <callout target="xyz">1</callout>
- corresponds to <xref type="callout" target="xyz">1</xref>
- -->
- <define name="image">
- <element name="image">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <optional>
- <attribute name="src">
- <data type="anyURI"/>
- </attribute>
- </optional>
- <attribute name="imagetype">
- <choice>
- <value>SVG</value>
- <value>JPEG</value>
- <value>GIF</value>
- <value>PNG</value>
- <value>PDF</value>
- </choice>
- </attribute>
- <optional>
- <attribute name="width">
- <choice>
- <data type="int"/>
- <value>auto</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="height">
- <choice>
- <data type="int"/>
- <value>auto</value>
- </choice>
- </attribute>
- </optional>
- </element>
- </define>
- <define name="stem">
- <element name="stem">
- <attribute name="type">
- <choice>
- <value>MathML</value>
- <value>AsciiMath</value>
- </choice>
- </attribute>
- <text/>
- </element>
- </define>
- <define name="annotation">
- <element name="annotation">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <ref name="paragraph"/>
- </element>
- </define>
- <define name="ul">
- <element name="ul">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <oneOrMore>
- <ref name="li"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="li">
- <element name="li">
- <optional>
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- </optional>
- <oneOrMore>
- <ref name="paragraph-with-footnote"/>
- </oneOrMore>
- </element>
- </define>
- <define name="ol">
- <element name="ol">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <attribute name="type">
- <choice>
- <value>roman</value>
- <value>alphabet</value>
- <value>arabic</value>
- <value>roman_upper</value>
- <value>alphabet_upper</value>
- </choice>
- </attribute>
- <oneOrMore>
- <ref name="li"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="dl">
- <element name="dl">
- <attribute name="id">
- <data type="ID"/>
- </attribute>
- <oneOrMore>
- <ref name="dt"/>
- <ref name="dd"/>
- </oneOrMore>
- <zeroOrMore>
- <ref name="note"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="dt">
- <element name="dt">
- <zeroOrMore>
- <ref name="TextElement"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="dd">
- <element name="dd">
- <zeroOrMore>
- <ref name="paragraph-with-footnote"/>
- </zeroOrMore>
- </element>
- </define>
- <define name="BibData">
- <optional>
- <attribute name="type">
- <ref name="BibItemType"/>
- </attribute>
- </optional>
- <oneOrMore>
- <ref name="btitle"/>
- </oneOrMore>
- <optional>
- <ref name="formattedref"/>
- </optional>
- <zeroOrMore>
- <ref name="bsource"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="docidentifier"/>
- </zeroOrMore>
- <optional>
- <ref name="docnumber"/>
- </optional>
- <zeroOrMore>
- <ref name="bdate"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="contributor"/>
- </zeroOrMore>
- <optional>
- <ref name="edition"/>
- </optional>
- <zeroOrMore>
- <ref name="biblionote"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="language"/>
- </zeroOrMore>
- <zeroOrMore>
- <ref name="script"/>
- </zeroOrMore>
- <optional>
- <ref name="abstract"/>
- </optional>
- <optional>
- <ref name="status"/>
- </optional>
- <ref name="copyright"/>
- <zeroOrMore>
- <ref name="docrelation"/>
- </zeroOrMore>
</define>
</grammar>