<?xml version=“1.0” encoding=“UTF-8”?> <grammar ns=“www.metanorma.org/ns/bsi” xmlns=“relaxng.org/ns/structure/1.0” datatypeLibrary=“www.w3.org/2001/XMLSchema-datatypes”>
<!-- default namespace = "https://www.metanorma.com/ns/bsi" --> <include href="isostandard.rng"> <start> <ref name="bsi-standard"/> </start> <define name="DocumentType"> <choice> <value>british-standard</value> <value>draft-for-development</value> <value>published-document</value> <value>privately-subscribed-standard</value> <value>publicly-available-specification</value> <value>flex-standard</value> <value>international-standard</value> <value>technical-specification</value> <value>technical-report</value> <value>guide</value> <value>international-workshop-agreement</value> <value>industry-technical-agreement</value> <value>standard</value> <value>european-workshop-agreement</value> </choice> </define> <define name="DocumentSubtype"> <choice> <value>specification</value> <value>method-of-test</value> <value>method-of-specifying</value> <value>vocabulary</value> <value>code-of-practice</value> </choice> </define> <define name="BibDataExtensionType"> <ref name="doctype"/> <optional> <ref name="docsubtype"/> </optional> <ref name="editorialgroup"/> <zeroOrMore> <ref name="ics"/> </zeroOrMore> <ref name="structuredidentifier"/> <optional> <ref name="stagename"/> </optional> <zeroOrMore> <ref name="coverimages"/> </zeroOrMore> </define> <define name="admonition"> <element name="admonition"> <attribute name="type"> <ref name="AdmonitionType"/> </attribute> <optional> <attribute name="class"/> </optional> <attribute name="id"> <data type="ID"/> </attribute> <optional> <attribute name="target"> <data type="IDREF"/> </attribute> </optional> <optional> <attribute name="uri"> <data type="anyURI"/> </attribute> </optional> <optional> <ref name="tname"/> </optional> <zeroOrMore> <ref name="paragraph-with-footnote"/> </zeroOrMore> <zeroOrMore> <ref name="note"/> </zeroOrMore> </element> </define> </include> <!-- end overrides --> <define name="AdmonitionType" combine="choice"> <value>commentary</value> </define> <define name="coverimages"> <element name="coverimages"> <oneOrMore> <ref name="image"/> </oneOrMore> </element> </define> <!-- We display the Normative References between scope and terms; but to keep the grammar simple, we keep the references together --> <define name="bsi-standard"> <element name="bsi-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>