<?xml version=“1.0” encoding=“UTF-8”?> <grammar ns=“www.metanorma.org/ns/mpfd” xmlns=“relaxng.org/ns/structure/1.0”>

<!--
  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="mpfd-standard"/>
  </start>
  <define name="DocumentType">
    <choice>
      <value>policy-and-procedures</value>
      <value>best-practices</value>
      <value>supporting-document</value>
      <value>report</value>
      <value>legal</value>
      <value>directives</value>
      <value>proposal</value>
      <value>standard</value>
    </choice>
  </define>
  <define name="editorialgroup">
    <element name="editorialgroup">
      <oneOrMore>
        <ref name="committee"/>
      </oneOrMore>
    </element>
  </define>
  <define name="BibDataExtensionType">
    <optional>
      <ref name="doctype"/>
    </optional>
    <optional>
      <ref name="docsubtype"/>
    </optional>
    <ref name="editorialgroup"/>
    <zeroOrMore>
      <ref name="ics"/>
    </zeroOrMore>
    <optional>
      <ref name="security"/>
    </optional>
  </define>
</include>
<define name="committee">
  <element name="committee">
    <attribute name="type">
      <choice>
        <value>technical</value>
        <value>provisional</value>
      </choice>
    </attribute>
    <text/>
  </element>
</define>
<define name="security">
  <element name="security">
    <text/>
  </element>
</define>
<define name="mpfd-standard">
  <element name="mpfd-standard">
    <attribute name="version"/>
    <attribute name="type">
      <choice>
        <value>semantic</value>
        <value>presentation</value>
      </choice>
    </attribute>
    <ref name="bibdata"/>
    <zeroOrMore>
      <ref name="termdocsource"/>
    </zeroOrMore>
    <optional>
      <ref name="misccontainer"/>
    </optional>
    <optional>
      <ref name="boilerplate"/>
    </optional>
    <ref name="preface"/>
    <oneOrMore>
      <ref name="sections"/>
    </oneOrMore>
    <zeroOrMore>
      <ref name="annex"/>
    </zeroOrMore>
    <ref name="bibliography"/>
    <zeroOrMore>
      <ref name="indexsect"/>
    </zeroOrMore>
  </element>
</define>

</grammar>