<?xml version="1.0" encoding="UTF-8"?> <grammar ns="https://www.metanorma.org/ns/ogc" xmlns="http://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="ogc-standard"/> </start> <define name="DocumentType"> <choice> <value>abstract-specification-topic</value> <value>best-practice</value> <value>change-request-supporting-document</value> <value>community-practice</value> <value>community-standard</value> <value>discussion-paper</value> <value>engineering-report</value> <value>other</value> <value>policy</value> <value>reference-model</value> <value>release-notes</value> <value>standard</value> <value>user-guide</value> <value>white-paper</value> <value>test-suite</value> </choice> </define> <define name="editorialgroup"> <element name="editorialgroup"> <ref name="committee"/> <optional> <ref name="subcommittee"/> </optional> <optional> <ref name="workgroup"/> </optional> </element> </define> <define name="BibDataExtensionType"> <optional> <ref name="doctype"/> </optional> <optional> <ref name="docsubtype"/> </optional> <ref name="editorialgroup"/> <zeroOrMore> <ref name="ics"/> </zeroOrMore> </define> <define name="preface"> <element name="preface"> <optional> <ref name="abstract"/> </optional> <ref name="foreword"/> <optional> <ref name="submitters"/> </optional> </element> </define> </include> <define name="TextElement" combine="choice"> <ref name="hi"/> </define> <define name="PureTextElement" combine="choice"> <ref name="hi"/> </define> <define name="hi"> <element name="hi"> <zeroOrMore> <choice> <ref name="PureTextElement"/> <ref name="stem"/> </choice> </zeroOrMore> </element> </define> <define name="DocumentSubtype"> <choice> <value>conceptual-model</value> <value>conceptual-model-and-encoding</value> <value>conceptual-model-and-implementation</value> <value>encoding</value> <value>extension</value> <value>implementation</value> <value>profile</value> <value>profile-with-extension</value> <value>general</value> </choice> </define> <define name="submitters"> <element name="submitters"> <ref name="Basic-Section"/> </element> </define> <define name="committee"> <element name="committee"> <choice> <value>technical</value> <value>planning</value> <value>strategic-member-advisory</value> </choice> </element> </define> <define name="subcommittee"> <element name="subcommittee"> <ref name="IsoWorkgroup"/> </element> </define> <define name="workgroup"> <element name="workgroup"> <ref name="IsoWorkgroup"/> </element> </define> <define name="ogc-standard"> <element name="ogc-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>