<?xml version="1.0" encoding="UTF-8"?> <grammar ns="https://www.metanorma.org/ns/un" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <!-- Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc, we cannot have a new default namespace: we will end up with a grammar with two different namespaces, one for isostandard and one for csand additions. And we do not want that. --> <include href="isodoc.rng"> <start> <ref name="un-standard"/> </start> <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="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="admonition"> <element name="admonition"> <attribute name="id"> <data type="ID"/> </attribute> <optional> <attribute name="unnumbered"> <data type="boolean"/> </attribute> </optional> <attribute name="type"> <choice> <value>danger</value> <value>caution</value> <value>warning</value> <value>important</value> <value>safety precautions</value> </choice> </attribute> <optional> <ref name="tname"/> </optional> <oneOrMore> <choice> <ref name="paragraph-with-footnote"/> <ref name="table"/> <ref name="formula"/> <ref name="ol"/> <ref name="ul"/> <ref name="dl"/> <ref name="figure"/> <ref name="quote"/> <ref name="sourcecode"/> <ref name="example"/> <ref name="review"/> </choice> </oneOrMore> <zeroOrMore> <ref name="note"/> </zeroOrMore> </element> </define> <define name="DocumentType"> <choice> <value>recommendation</value> <value>plenary</value> <value>addendum</value> <value>communication</value> <value>corrigendum</value> <value>reissue</value> <value>agenda</value> <value>budgetary</value> <value>sec-gen-notes</value> <value>expert-report</value> <value>resolution</value> </choice> </define> <define name="editorialgroup"> <element name="editorialgroup"> <oneOrMore> <ref name="committee"/> </oneOrMore> </element> </define> <define name="sections"> <element name="sections"> <oneOrMore> <ref name="clause"/> </oneOrMore> </element> </define> <define name="BibDataExtensionType"> <optional> <ref name="doctype"/> </optional> <zeroOrMore> <ref name="submissionlanguage"/> </zeroOrMore> <optional> <ref name="editorialgroup"/> </optional> <zeroOrMore> <ref name="ics"/> </zeroOrMore> <optional> <ref name="distribution"/> </optional> <optional> <ref name="session"/> </optional> <optional> <ref name="job_number"/> </optional> </define> <define name="preface"> <element name="preface"> <optional> <ref name="abstract"/> </optional> <optional> <ref name="foreword"/> </optional> <optional> <ref name="introduction"/> </optional> </element> </define> <define name="abstract"> <element name="abstract"> <ref name="Basic-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> <attribute name="inline-header"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="obligation"> <choice> <value>normative</value> <value>informative</value> </choice> </attribute> </optional> <optional> <attribute name="unnumbered"> <data type="boolean"/> </attribute> </optional> <optional> <ref name="section-title"/> </optional> <group> <group> <zeroOrMore> <ref name="BasicBlock"/> </zeroOrMore> <zeroOrMore> <ref name="note"/> </zeroOrMore> </group> <zeroOrMore> <choice> <ref name="clause-subsection"/> <ref name="terms"/> <ref name="definitions"/> </choice> </zeroOrMore> </group> </define> <define name="Annex-Section"> <optional> <attribute name="id"> <data type="ID"/> </attribute> </optional> <optional> <attribute name="language"/> </optional> <optional> <attribute name="script"/> </optional> <optional> <attribute name="inline-header"> <data type="boolean"/> </attribute> </optional> <optional> <attribute name="obligation"> <choice> <value>normative</value> <value>informative</value> </choice> </attribute> </optional> <optional> <attribute name="unnumbered"> <data type="boolean"/> </attribute> </optional> <optional> <ref name="section-title"/> </optional> <group> <group> <zeroOrMore> <ref name="BasicBlock"/> </zeroOrMore> <zeroOrMore> <ref name="note"/> </zeroOrMore> </group> <zeroOrMore> <choice> <ref name="annex-subsection"/> <ref name="terms"/> <ref name="definitions"/> <ref name="references"/> </choice> </zeroOrMore> </group> </define> </include> <define name="session"> <element name="session"> <optional> <ref name="session-number"/> </optional> <optional> <ref name="session-date"/> </optional> <zeroOrMore> <ref name="item-number"/> </zeroOrMore> <zeroOrMore> <ref name="item-name"/> </zeroOrMore> <zeroOrMore> <ref name="subitem-name"/> </zeroOrMore> <optional> <ref name="collaborator"/> </optional> <optional> <ref name="agenda-id"/> </optional> <optional> <ref name="item-footnote"/> </optional> </element> </define> <define name="committee"> <element name="committee"> <text/> </element> </define> <define name="session-number"> <element name="number"> <text/> </element> </define> <define name="session-date"> <element name="session-date"> <data type="date"/> </element> </define> <define name="item-number"> <element name="item-number"> <text/> </element> </define> <define name="collaborator"> <element name="collaborator"> <text/> </element> </define> <define name="agenda-id"> <element name="agenda-id"> <text/> </element> </define> <define name="item-name"> <element name="item-name"> <text/> </element> </define> <define name="subitem-name"> <element name="subitem-name"> <text/> </element> </define> <define name="item-footnote"> <element name="item-footnote"> <text/> </element> </define> <define name="submissionlanguage"> <element name="submissionlanguage"> <text/> </element> </define> <define name="distribution"> <element name="distribution"> <choice> <value>general</value> <value>limited</value> <value>restricted</value> <value>provisional</value> </choice> </element> </define> <define name="job_number"> <element name="job_number"> <text/> </element> </define> <define name="un-standard"> <element name="un-standard"> <attribute name="version"/> <attribute name="type"> <choice> <value>semantic</value> <value>presentation</value> </choice> </attribute> <ref name="bibdata"/> <optional> <ref name="misccontainer"/> </optional> <optional> <ref name="boilerplate"/> </optional> <ref name="preface"/> <oneOrMore> <ref name="sections"/> </oneOrMore> <zeroOrMore> <ref name="annex"/> </zeroOrMore> <zeroOrMore> <ref name="indexsect"/> </zeroOrMore> </element> </define> </grammar>