metanorma-itu 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/.hound.yml +3 -0
 - data/.rubocop.yml +10 -0
 - data/.travis.yml +17 -0
 - data/CODE_OF_CONDUCT.md +74 -0
 - data/Gemfile +4 -0
 - data/LICENSE +25 -0
 - data/README.adoc +72 -0
 - data/Rakefile +6 -0
 - data/appveyor.yml +29 -0
 - data/lib/asciidoctor/itu.rb +7 -0
 - data/lib/asciidoctor/itu/biblio.rng +949 -0
 - data/lib/asciidoctor/itu/converter.rb +164 -0
 - data/lib/asciidoctor/itu/front.rb +182 -0
 - data/lib/asciidoctor/itu/isodoc.rng +1132 -0
 - data/lib/asciidoctor/itu/isostandard.rng +801 -0
 - data/lib/asciidoctor/itu/itu.rng +223 -0
 - data/lib/asciidoctor/itu/reqt.rng +162 -0
 - data/lib/asciidoctor/itu/validate.rb +55 -0
 - data/lib/isodoc/itu.rb +11 -0
 - data/lib/isodoc/itu/base_convert.rb +210 -0
 - data/lib/isodoc/itu/html/Logo_ITU.jpg +0 -0
 - data/lib/isodoc/itu/html/header.html +162 -0
 - data/lib/isodoc/itu/html/html_itu_intro.html +42 -0
 - data/lib/isodoc/itu/html/html_itu_titlepage.html +144 -0
 - data/lib/isodoc/itu/html/htmlstyle.scss +1167 -0
 - data/lib/isodoc/itu/html/itu-document-comb.png +0 -0
 - data/lib/isodoc/itu/html/itu.scss +707 -0
 - data/lib/isodoc/itu/html/logo.png +0 -0
 - data/lib/isodoc/itu/html/scripts.html +82 -0
 - data/lib/isodoc/itu/html/scripts.pdf.html +70 -0
 - data/lib/isodoc/itu/html/word_itu_intro.html +246 -0
 - data/lib/isodoc/itu/html/word_itu_titlepage.html +283 -0
 - data/lib/isodoc/itu/html/wordstyle.scss +1237 -0
 - data/lib/isodoc/itu/html_convert.rb +72 -0
 - data/lib/isodoc/itu/i18n-en.yaml +2 -0
 - data/lib/isodoc/itu/metadata.rb +100 -0
 - data/lib/isodoc/itu/pdf_convert.rb +70 -0
 - data/lib/isodoc/itu/word_convert.rb +115 -0
 - data/lib/metanorma-itu.rb +8 -0
 - data/lib/metanorma/itu.rb +11 -0
 - data/lib/metanorma/itu/processor.rb +43 -0
 - data/lib/metanorma/itu/version.rb +5 -0
 - data/metanorma-itu.gemspec +44 -0
 - metadata +327 -0
 
| 
         @@ -0,0 +1,223 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <?xml version="1.0" encoding="UTF-8"?>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
         
     | 
| 
      
 3 
     | 
    
         
            +
              <!--
         
     | 
| 
      
 4 
     | 
    
         
            +
                Currently we inherit from a namespaced grammar, isostandard. Until we inherit from isodoc,
         
     | 
| 
      
 5 
     | 
    
         
            +
                we cannot have a new default namespace: we will end up with a grammar with two different
         
     | 
| 
      
 6 
     | 
    
         
            +
                namespaces, one for isostandard and one for csand additions. And we do not want that.
         
     | 
| 
      
 7 
     | 
    
         
            +
              -->
         
     | 
| 
      
 8 
     | 
    
         
            +
              <include href="isostandard.rng">
         
     | 
| 
      
 9 
     | 
    
         
            +
                <start>
         
     | 
| 
      
 10 
     | 
    
         
            +
                  <ref name="itu"/>
         
     | 
| 
      
 11 
     | 
    
         
            +
                </start>
         
     | 
| 
      
 12 
     | 
    
         
            +
                <define name="figure">
         
     | 
| 
      
 13 
     | 
    
         
            +
                  <element name="figure">
         
     | 
| 
      
 14 
     | 
    
         
            +
                    <attribute name="id">
         
     | 
| 
      
 15 
     | 
    
         
            +
                      <data type="ID"/>
         
     | 
| 
      
 16 
     | 
    
         
            +
                    </attribute>
         
     | 
| 
      
 17 
     | 
    
         
            +
                    <optional>
         
     | 
| 
      
 18 
     | 
    
         
            +
                      <ref name="tname"/>
         
     | 
| 
      
 19 
     | 
    
         
            +
                    </optional>
         
     | 
| 
      
 20 
     | 
    
         
            +
                    <choice>
         
     | 
| 
      
 21 
     | 
    
         
            +
                      <ref name="image"/>
         
     | 
| 
      
 22 
     | 
    
         
            +
                      <ref name="pre"/>
         
     | 
| 
      
 23 
     | 
    
         
            +
                      <oneOrMore>
         
     | 
| 
      
 24 
     | 
    
         
            +
                        <ref name="subfigure"/>
         
     | 
| 
      
 25 
     | 
    
         
            +
                      </oneOrMore>
         
     | 
| 
      
 26 
     | 
    
         
            +
                    </choice>
         
     | 
| 
      
 27 
     | 
    
         
            +
                    <zeroOrMore>
         
     | 
| 
      
 28 
     | 
    
         
            +
                      <ref name="fn"/>
         
     | 
| 
      
 29 
     | 
    
         
            +
                    </zeroOrMore>
         
     | 
| 
      
 30 
     | 
    
         
            +
                    <optional>
         
     | 
| 
      
 31 
     | 
    
         
            +
                      <ref name="dl"/>
         
     | 
| 
      
 32 
     | 
    
         
            +
                    </optional>
         
     | 
| 
      
 33 
     | 
    
         
            +
                    <zeroOrMore>
         
     | 
| 
      
 34 
     | 
    
         
            +
                      <ref name="note"/>
         
     | 
| 
      
 35 
     | 
    
         
            +
                    </zeroOrMore>
         
     | 
| 
      
 36 
     | 
    
         
            +
                  </element>
         
     | 
| 
      
 37 
     | 
    
         
            +
                </define>
         
     | 
| 
      
 38 
     | 
    
         
            +
                <define name="subfigure">
         
     | 
| 
      
 39 
     | 
    
         
            +
                  <element name="figure">
         
     | 
| 
      
 40 
     | 
    
         
            +
                    <attribute name="id">
         
     | 
| 
      
 41 
     | 
    
         
            +
                      <data type="ID"/>
         
     | 
| 
      
 42 
     | 
    
         
            +
                    </attribute>
         
     | 
| 
      
 43 
     | 
    
         
            +
                    <optional>
         
     | 
| 
      
 44 
     | 
    
         
            +
                      <ref name="tname"/>
         
     | 
| 
      
 45 
     | 
    
         
            +
                    </optional>
         
     | 
| 
      
 46 
     | 
    
         
            +
                    <choice>
         
     | 
| 
      
 47 
     | 
    
         
            +
                      <ref name="image"/>
         
     | 
| 
      
 48 
     | 
    
         
            +
                      <ref name="pre"/>
         
     | 
| 
      
 49 
     | 
    
         
            +
                    </choice>
         
     | 
| 
      
 50 
     | 
    
         
            +
                  </element>
         
     | 
| 
      
 51 
     | 
    
         
            +
                </define>
         
     | 
| 
      
 52 
     | 
    
         
            +
                <define name="DocumentType">
         
     | 
| 
      
 53 
     | 
    
         
            +
                  <choice>
         
     | 
| 
      
 54 
     | 
    
         
            +
                    <value>recommendation</value>
         
     | 
| 
      
 55 
     | 
    
         
            +
                    <value>recommendation-supplement</value>
         
     | 
| 
      
 56 
     | 
    
         
            +
                    <value>recommendation-amendment</value>
         
     | 
| 
      
 57 
     | 
    
         
            +
                    <value>recommendation-corrigendum</value>
         
     | 
| 
      
 58 
     | 
    
         
            +
                    <value>recommendation-errata</value>
         
     | 
| 
      
 59 
     | 
    
         
            +
                    <value>recommendation-annex</value>
         
     | 
| 
      
 60 
     | 
    
         
            +
                    <value>focus-group</value>
         
     | 
| 
      
 61 
     | 
    
         
            +
                    <value>implementers-guide</value>
         
     | 
| 
      
 62 
     | 
    
         
            +
                    <value>technical-paper</value>
         
     | 
| 
      
 63 
     | 
    
         
            +
                    <value>technical-report</value>
         
     | 
| 
      
 64 
     | 
    
         
            +
                    <value>joint-itu-iso-iec</value>
         
     | 
| 
      
 65 
     | 
    
         
            +
                  </choice>
         
     | 
| 
      
 66 
     | 
    
         
            +
                </define>
         
     | 
| 
      
 67 
     | 
    
         
            +
                <define name="editorialgroup">
         
     | 
| 
      
 68 
     | 
    
         
            +
                  <element name="editorialgroup">
         
     | 
| 
      
 69 
     | 
    
         
            +
                    <ref name="bureau"/>
         
     | 
| 
      
 70 
     | 
    
         
            +
                    <ref name="group"/>
         
     | 
| 
      
 71 
     | 
    
         
            +
                    <optional>
         
     | 
| 
      
 72 
     | 
    
         
            +
                      <ref name="subgroup"/>
         
     | 
| 
      
 73 
     | 
    
         
            +
                    </optional>
         
     | 
| 
      
 74 
     | 
    
         
            +
                    <optional>
         
     | 
| 
      
 75 
     | 
    
         
            +
                      <ref name="workgroup"/>
         
     | 
| 
      
 76 
     | 
    
         
            +
                    </optional>
         
     | 
| 
      
 77 
     | 
    
         
            +
                  </element>
         
     | 
| 
      
 78 
     | 
    
         
            +
                </define>
         
     | 
| 
      
 79 
     | 
    
         
            +
                <define name="workgroup">
         
     | 
| 
      
 80 
     | 
    
         
            +
                  <element name="workgroup">
         
     | 
| 
      
 81 
     | 
    
         
            +
                    <ref name="ItuGroup"/>
         
     | 
| 
      
 82 
     | 
    
         
            +
                  </element>
         
     | 
| 
      
 83 
     | 
    
         
            +
                </define>
         
     | 
| 
      
 84 
     | 
    
         
            +
                <define name="BibDataExtensionType">
         
     | 
| 
      
 85 
     | 
    
         
            +
                  <optional>
         
     | 
| 
      
 86 
     | 
    
         
            +
                    <ref name="doctype"/>
         
     | 
| 
      
 87 
     | 
    
         
            +
                  </optional>
         
     | 
| 
      
 88 
     | 
    
         
            +
                  <ref name="editorialgroup"/>
         
     | 
| 
      
 89 
     | 
    
         
            +
                  <zeroOrMore>
         
     | 
| 
      
 90 
     | 
    
         
            +
                    <ref name="ics"/>
         
     | 
| 
      
 91 
     | 
    
         
            +
                  </zeroOrMore>
         
     | 
| 
      
 92 
     | 
    
         
            +
                  <zeroOrMore>
         
     | 
| 
      
 93 
     | 
    
         
            +
                    <ref name="bkeyword"/>
         
     | 
| 
      
 94 
     | 
    
         
            +
                  </zeroOrMore>
         
     | 
| 
      
 95 
     | 
    
         
            +
                  <optional>
         
     | 
| 
      
 96 
     | 
    
         
            +
                    <ref name="recommendationstatus"/>
         
     | 
| 
      
 97 
     | 
    
         
            +
                  </optional>
         
     | 
| 
      
 98 
     | 
    
         
            +
                </define>
         
     | 
| 
      
 99 
     | 
    
         
            +
              </include>
         
     | 
| 
      
 100 
     | 
    
         
            +
              <define name="recommendationstatus">
         
     | 
| 
      
 101 
     | 
    
         
            +
                <element name="recommendationstatus">
         
     | 
| 
      
 102 
     | 
    
         
            +
                  <element name="from">
         
     | 
| 
      
 103 
     | 
    
         
            +
                    <ref name="ISO8601Date"/>
         
     | 
| 
      
 104 
     | 
    
         
            +
                  </element>
         
     | 
| 
      
 105 
     | 
    
         
            +
                  <element name="to">
         
     | 
| 
      
 106 
     | 
    
         
            +
                    <ref name="ISO8601Date"/>
         
     | 
| 
      
 107 
     | 
    
         
            +
                  </element>
         
     | 
| 
      
 108 
     | 
    
         
            +
                  <optional>
         
     | 
| 
      
 109 
     | 
    
         
            +
                    <ref name="approvalstage"/>
         
     | 
| 
      
 110 
     | 
    
         
            +
                  </optional>
         
     | 
| 
      
 111 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 112 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 113 
     | 
    
         
            +
              <define name="approvalstage">
         
     | 
| 
      
 114 
     | 
    
         
            +
                <element name="approvalstage">
         
     | 
| 
      
 115 
     | 
    
         
            +
                  <attribute name="process">
         
     | 
| 
      
 116 
     | 
    
         
            +
                    <choice>
         
     | 
| 
      
 117 
     | 
    
         
            +
                      <value>tap</value>
         
     | 
| 
      
 118 
     | 
    
         
            +
                      <value>aap</value>
         
     | 
| 
      
 119 
     | 
    
         
            +
                    </choice>
         
     | 
| 
      
 120 
     | 
    
         
            +
                  </attribute>
         
     | 
| 
      
 121 
     | 
    
         
            +
                  <choice>
         
     | 
| 
      
 122 
     | 
    
         
            +
                    <value>determined</value>
         
     | 
| 
      
 123 
     | 
    
         
            +
                    <value>in-force</value>
         
     | 
| 
      
 124 
     | 
    
         
            +
                    <value>a</value>
         
     | 
| 
      
 125 
     | 
    
         
            +
                    <value>lc</value>
         
     | 
| 
      
 126 
     | 
    
         
            +
                    <value>ac</value>
         
     | 
| 
      
 127 
     | 
    
         
            +
                    <value>lj</value>
         
     | 
| 
      
 128 
     | 
    
         
            +
                    <value>aj</value>
         
     | 
| 
      
 129 
     | 
    
         
            +
                    <value>na</value>
         
     | 
| 
      
 130 
     | 
    
         
            +
                    <value>ar</value>
         
     | 
| 
      
 131 
     | 
    
         
            +
                    <value>ri</value>
         
     | 
| 
      
 132 
     | 
    
         
            +
                    <value>at</value>
         
     | 
| 
      
 133 
     | 
    
         
            +
                    <value>sg</value>
         
     | 
| 
      
 134 
     | 
    
         
            +
                    <value>c</value>
         
     | 
| 
      
 135 
     | 
    
         
            +
                    <value>tap</value>
         
     | 
| 
      
 136 
     | 
    
         
            +
                  </choice>
         
     | 
| 
      
 137 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 138 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 139 
     | 
    
         
            +
              <define name="bkeyword">
         
     | 
| 
      
 140 
     | 
    
         
            +
                <element name="keyword">
         
     | 
| 
      
 141 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 142 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 143 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 144 
     | 
    
         
            +
              <define name="bureau">
         
     | 
| 
      
 145 
     | 
    
         
            +
                <element name="bureau">
         
     | 
| 
      
 146 
     | 
    
         
            +
                  <choice>
         
     | 
| 
      
 147 
     | 
    
         
            +
                    <value>T</value>
         
     | 
| 
      
 148 
     | 
    
         
            +
                    <value>D</value>
         
     | 
| 
      
 149 
     | 
    
         
            +
                    <value>R</value>
         
     | 
| 
      
 150 
     | 
    
         
            +
                  </choice>
         
     | 
| 
      
 151 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 152 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 153 
     | 
    
         
            +
              <define name="group">
         
     | 
| 
      
 154 
     | 
    
         
            +
                <element name="group">
         
     | 
| 
      
 155 
     | 
    
         
            +
                  <ref name="ItuGroup"/>
         
     | 
| 
      
 156 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 157 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 158 
     | 
    
         
            +
              <define name="subgroup">
         
     | 
| 
      
 159 
     | 
    
         
            +
                <element name="subgroup">
         
     | 
| 
      
 160 
     | 
    
         
            +
                  <ref name="ItuGroup"/>
         
     | 
| 
      
 161 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 162 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 163 
     | 
    
         
            +
              <define name="ItuGroup">
         
     | 
| 
      
 164 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 165 
     | 
    
         
            +
                  <attribute name="type">
         
     | 
| 
      
 166 
     | 
    
         
            +
                    <choice>
         
     | 
| 
      
 167 
     | 
    
         
            +
                      <value>tsag</value>
         
     | 
| 
      
 168 
     | 
    
         
            +
                      <value>study-group</value>
         
     | 
| 
      
 169 
     | 
    
         
            +
                      <value>work-group</value>
         
     | 
| 
      
 170 
     | 
    
         
            +
                    </choice>
         
     | 
| 
      
 171 
     | 
    
         
            +
                  </attribute>
         
     | 
| 
      
 172 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 173 
     | 
    
         
            +
                <ref name="tname"/>
         
     | 
| 
      
 174 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 175 
     | 
    
         
            +
                  <ref name="groupacronym"/>
         
     | 
| 
      
 176 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 177 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 178 
     | 
    
         
            +
                  <ref name="groupperiod"/>
         
     | 
| 
      
 179 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 180 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 181 
     | 
    
         
            +
              <define name="groupacronym">
         
     | 
| 
      
 182 
     | 
    
         
            +
                <element name="acronym">
         
     | 
| 
      
 183 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 184 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 185 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 186 
     | 
    
         
            +
              <define name="groupperiod">
         
     | 
| 
      
 187 
     | 
    
         
            +
                <element name="period">
         
     | 
| 
      
 188 
     | 
    
         
            +
                  <ref name="groupperiodstart"/>
         
     | 
| 
      
 189 
     | 
    
         
            +
                  <optional>
         
     | 
| 
      
 190 
     | 
    
         
            +
                    <ref name="groupperiodend"/>
         
     | 
| 
      
 191 
     | 
    
         
            +
                  </optional>
         
     | 
| 
      
 192 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 193 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 194 
     | 
    
         
            +
              <define name="groupperiodstart">
         
     | 
| 
      
 195 
     | 
    
         
            +
                <element name="start">
         
     | 
| 
      
 196 
     | 
    
         
            +
                  <data type="gYear"/>
         
     | 
| 
      
 197 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 198 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 199 
     | 
    
         
            +
              <define name="groupperiodend">
         
     | 
| 
      
 200 
     | 
    
         
            +
                <element name="end">
         
     | 
| 
      
 201 
     | 
    
         
            +
                  <data type="gYear"/>
         
     | 
| 
      
 202 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 203 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 204 
     | 
    
         
            +
              <define name="itu">
         
     | 
| 
      
 205 
     | 
    
         
            +
                <element name="itu-standard">
         
     | 
| 
      
 206 
     | 
    
         
            +
                  <ref name="bibdata"/>
         
     | 
| 
      
 207 
     | 
    
         
            +
                  <zeroOrMore>
         
     | 
| 
      
 208 
     | 
    
         
            +
                    <ref name="termdocsource"/>
         
     | 
| 
      
 209 
     | 
    
         
            +
                  </zeroOrMore>
         
     | 
| 
      
 210 
     | 
    
         
            +
                  <optional>
         
     | 
| 
      
 211 
     | 
    
         
            +
                    <ref name="boilerplate"/>
         
     | 
| 
      
 212 
     | 
    
         
            +
                  </optional>
         
     | 
| 
      
 213 
     | 
    
         
            +
                  <ref name="preface"/>
         
     | 
| 
      
 214 
     | 
    
         
            +
                  <oneOrMore>
         
     | 
| 
      
 215 
     | 
    
         
            +
                    <ref name="sections"/>
         
     | 
| 
      
 216 
     | 
    
         
            +
                  </oneOrMore>
         
     | 
| 
      
 217 
     | 
    
         
            +
                  <zeroOrMore>
         
     | 
| 
      
 218 
     | 
    
         
            +
                    <ref name="annex"/>
         
     | 
| 
      
 219 
     | 
    
         
            +
                  </zeroOrMore>
         
     | 
| 
      
 220 
     | 
    
         
            +
                  <ref name="bibliography"/>
         
     | 
| 
      
 221 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 222 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 223 
     | 
    
         
            +
            </grammar>
         
     | 
| 
         @@ -0,0 +1,162 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <?xml version="1.0" encoding="UTF-8"?>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
         
     | 
| 
      
 3 
     | 
    
         
            +
              <!--
         
     | 
| 
      
 4 
     | 
    
         
            +
                Presupposes isodoc.rnc, is included in it
         
     | 
| 
      
 5 
     | 
    
         
            +
                include "isodoc.rnc" { }
         
     | 
| 
      
 6 
     | 
    
         
            +
              -->
         
     | 
| 
      
 7 
     | 
    
         
            +
              <define name="requirement">
         
     | 
| 
      
 8 
     | 
    
         
            +
                <element name="requirement">
         
     | 
| 
      
 9 
     | 
    
         
            +
                  <ref name="RequirementType"/>
         
     | 
| 
      
 10 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 11 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 12 
     | 
    
         
            +
              <define name="recommendation">
         
     | 
| 
      
 13 
     | 
    
         
            +
                <element name="recommendation">
         
     | 
| 
      
 14 
     | 
    
         
            +
                  <ref name="RequirementType"/>
         
     | 
| 
      
 15 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 16 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 17 
     | 
    
         
            +
              <define name="permission">
         
     | 
| 
      
 18 
     | 
    
         
            +
                <element name="permission">
         
     | 
| 
      
 19 
     | 
    
         
            +
                  <ref name="RequirementType"/>
         
     | 
| 
      
 20 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 21 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 22 
     | 
    
         
            +
              <define name="RequirementType">
         
     | 
| 
      
 23 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 24 
     | 
    
         
            +
                  <attribute name="obligation">
         
     | 
| 
      
 25 
     | 
    
         
            +
                    <ref name="ObligationType"/>
         
     | 
| 
      
 26 
     | 
    
         
            +
                  </attribute>
         
     | 
| 
      
 27 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 28 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 29 
     | 
    
         
            +
                  <attribute name="unnumbered">
         
     | 
| 
      
 30 
     | 
    
         
            +
                    <data type="boolean"/>
         
     | 
| 
      
 31 
     | 
    
         
            +
                  </attribute>
         
     | 
| 
      
 32 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 33 
     | 
    
         
            +
                <attribute name="id">
         
     | 
| 
      
 34 
     | 
    
         
            +
                  <data type="ID"/>
         
     | 
| 
      
 35 
     | 
    
         
            +
                </attribute>
         
     | 
| 
      
 36 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 37 
     | 
    
         
            +
                  <attribute name="filename"/>
         
     | 
| 
      
 38 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 39 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 40 
     | 
    
         
            +
                  <ref name="reqtitle"/>
         
     | 
| 
      
 41 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 42 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 43 
     | 
    
         
            +
                  <ref name="label"/>
         
     | 
| 
      
 44 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 45 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 46 
     | 
    
         
            +
                  <ref name="subject"/>
         
     | 
| 
      
 47 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 48 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 49 
     | 
    
         
            +
                  <ref name="reqinherit"/>
         
     | 
| 
      
 50 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 51 
     | 
    
         
            +
                <zeroOrMore>
         
     | 
| 
      
 52 
     | 
    
         
            +
                  <ref name="classification"/>
         
     | 
| 
      
 53 
     | 
    
         
            +
                </zeroOrMore>
         
     | 
| 
      
 54 
     | 
    
         
            +
                <zeroOrMore>
         
     | 
| 
      
 55 
     | 
    
         
            +
                  <choice>
         
     | 
| 
      
 56 
     | 
    
         
            +
                    <ref name="measurementtarget"/>
         
     | 
| 
      
 57 
     | 
    
         
            +
                    <ref name="specification"/>
         
     | 
| 
      
 58 
     | 
    
         
            +
                    <ref name="verification"/>
         
     | 
| 
      
 59 
     | 
    
         
            +
                    <ref name="import"/>
         
     | 
| 
      
 60 
     | 
    
         
            +
                    <ref name="description"/>
         
     | 
| 
      
 61 
     | 
    
         
            +
                  </choice>
         
     | 
| 
      
 62 
     | 
    
         
            +
                </zeroOrMore>
         
     | 
| 
      
 63 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 64 
     | 
    
         
            +
                  <ref name="reqt_references"/>
         
     | 
| 
      
 65 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 66 
     | 
    
         
            +
                <zeroOrMore>
         
     | 
| 
      
 67 
     | 
    
         
            +
                  <choice>
         
     | 
| 
      
 68 
     | 
    
         
            +
                    <ref name="requirement"/>
         
     | 
| 
      
 69 
     | 
    
         
            +
                    <ref name="recommendation"/>
         
     | 
| 
      
 70 
     | 
    
         
            +
                    <ref name="permission"/>
         
     | 
| 
      
 71 
     | 
    
         
            +
                  </choice>
         
     | 
| 
      
 72 
     | 
    
         
            +
                </zeroOrMore>
         
     | 
| 
      
 73 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 74 
     | 
    
         
            +
              <define name="reqtitle">
         
     | 
| 
      
 75 
     | 
    
         
            +
                <element name="title">
         
     | 
| 
      
 76 
     | 
    
         
            +
                  <ref name="FormattedString"/>
         
     | 
| 
      
 77 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 78 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 79 
     | 
    
         
            +
              <define name="label">
         
     | 
| 
      
 80 
     | 
    
         
            +
                <element name="label">
         
     | 
| 
      
 81 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 82 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 83 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 84 
     | 
    
         
            +
              <define name="subject">
         
     | 
| 
      
 85 
     | 
    
         
            +
                <element name="subject">
         
     | 
| 
      
 86 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 87 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 88 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 89 
     | 
    
         
            +
              <define name="reqinherit">
         
     | 
| 
      
 90 
     | 
    
         
            +
                <element name="subject">
         
     | 
| 
      
 91 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 92 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 93 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 94 
     | 
    
         
            +
              <define name="measurementtarget">
         
     | 
| 
      
 95 
     | 
    
         
            +
                <element name="measurement-target">
         
     | 
| 
      
 96 
     | 
    
         
            +
                  <ref name="RequirementSubpart"/>
         
     | 
| 
      
 97 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 98 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 99 
     | 
    
         
            +
              <define name="specification">
         
     | 
| 
      
 100 
     | 
    
         
            +
                <element name="specification">
         
     | 
| 
      
 101 
     | 
    
         
            +
                  <ref name="RequirementSubpart"/>
         
     | 
| 
      
 102 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 103 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 104 
     | 
    
         
            +
              <define name="verification">
         
     | 
| 
      
 105 
     | 
    
         
            +
                <element name="verification">
         
     | 
| 
      
 106 
     | 
    
         
            +
                  <ref name="RequirementSubpart"/>
         
     | 
| 
      
 107 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 108 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 109 
     | 
    
         
            +
              <define name="import">
         
     | 
| 
      
 110 
     | 
    
         
            +
                <element name="import">
         
     | 
| 
      
 111 
     | 
    
         
            +
                  <ref name="RequirementSubpart"/>
         
     | 
| 
      
 112 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 113 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 114 
     | 
    
         
            +
              <define name="description">
         
     | 
| 
      
 115 
     | 
    
         
            +
                <element name="description">
         
     | 
| 
      
 116 
     | 
    
         
            +
                  <ref name="RequirementSubpart"/>
         
     | 
| 
      
 117 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 118 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 119 
     | 
    
         
            +
              <define name="reqt_references">
         
     | 
| 
      
 120 
     | 
    
         
            +
                <element name="references">
         
     | 
| 
      
 121 
     | 
    
         
            +
                  <oneOrMore>
         
     | 
| 
      
 122 
     | 
    
         
            +
                    <ref name="bibitem"/>
         
     | 
| 
      
 123 
     | 
    
         
            +
                  </oneOrMore>
         
     | 
| 
      
 124 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 125 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 126 
     | 
    
         
            +
              <define name="RequirementSubpart">
         
     | 
| 
      
 127 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 128 
     | 
    
         
            +
                  <attribute name="type"/>
         
     | 
| 
      
 129 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 130 
     | 
    
         
            +
                <optional>
         
     | 
| 
      
 131 
     | 
    
         
            +
                  <attribute name="exclude">
         
     | 
| 
      
 132 
     | 
    
         
            +
                    <data type="boolean"/>
         
     | 
| 
      
 133 
     | 
    
         
            +
                  </attribute>
         
     | 
| 
      
 134 
     | 
    
         
            +
                </optional>
         
     | 
| 
      
 135 
     | 
    
         
            +
                <oneOrMore>
         
     | 
| 
      
 136 
     | 
    
         
            +
                  <ref name="BasicBlock"/>
         
     | 
| 
      
 137 
     | 
    
         
            +
                </oneOrMore>
         
     | 
| 
      
 138 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 139 
     | 
    
         
            +
              <define name="ObligationType">
         
     | 
| 
      
 140 
     | 
    
         
            +
                <choice>
         
     | 
| 
      
 141 
     | 
    
         
            +
                  <value>requirement</value>
         
     | 
| 
      
 142 
     | 
    
         
            +
                  <value>recommendation</value>
         
     | 
| 
      
 143 
     | 
    
         
            +
                  <value>permission</value>
         
     | 
| 
      
 144 
     | 
    
         
            +
                </choice>
         
     | 
| 
      
 145 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 146 
     | 
    
         
            +
              <define name="classification">
         
     | 
| 
      
 147 
     | 
    
         
            +
                <element name="classification">
         
     | 
| 
      
 148 
     | 
    
         
            +
                  <ref name="classification_tag"/>
         
     | 
| 
      
 149 
     | 
    
         
            +
                  <ref name="classification_value"/>
         
     | 
| 
      
 150 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 151 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 152 
     | 
    
         
            +
              <define name="classification_tag">
         
     | 
| 
      
 153 
     | 
    
         
            +
                <element name="tag">
         
     | 
| 
      
 154 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 155 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 156 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 157 
     | 
    
         
            +
              <define name="classification_value">
         
     | 
| 
      
 158 
     | 
    
         
            +
                <element name="value">
         
     | 
| 
      
 159 
     | 
    
         
            +
                  <text/>
         
     | 
| 
      
 160 
     | 
    
         
            +
                </element>
         
     | 
| 
      
 161 
     | 
    
         
            +
              </define>
         
     | 
| 
      
 162 
     | 
    
         
            +
            </grammar>
         
     | 
| 
         @@ -0,0 +1,55 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Asciidoctor
         
     | 
| 
      
 2 
     | 
    
         
            +
              module ITU
         
     | 
| 
      
 3 
     | 
    
         
            +
                class Converter < Standoc::Converter
         
     | 
| 
      
 4 
     | 
    
         
            +
                  def bibdata_validate(doc)
         
     | 
| 
      
 5 
     | 
    
         
            +
                    doctype_validate(doc)
         
     | 
| 
      
 6 
     | 
    
         
            +
                    stage_validate(doc)
         
     | 
| 
      
 7 
     | 
    
         
            +
                  end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
                  def doctype_validate(xmldoc)
         
     | 
| 
      
 10 
     | 
    
         
            +
                    doctype = xmldoc&.at("//bibdata/ext/doctype")&.text
         
     | 
| 
      
 11 
     | 
    
         
            +
                    %w(recommendation recommendation-supplement recommendation-amendment 
         
     | 
| 
      
 12 
     | 
    
         
            +
                    recommendation-corrigendum recommendation-errata recommendation-annex 
         
     | 
| 
      
 13 
     | 
    
         
            +
                    focus-group implementers-guide technical-paper technical-report 
         
     | 
| 
      
 14 
     | 
    
         
            +
                    joint-itu-iso-iec).include? doctype or
         
     | 
| 
      
 15 
     | 
    
         
            +
                      warn "Document Attributes: #{doctype} is not a recognised document type"
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                  def stage_validate(xmldoc)
         
     | 
| 
      
 19 
     | 
    
         
            +
                    stage = xmldoc&.at("//bibdata/status/stage")&.text
         
     | 
| 
      
 20 
     | 
    
         
            +
                    %w(in-force superseded in-force-prepublished withdrawn).include? stage or
         
     | 
| 
      
 21 
     | 
    
         
            +
                      warn "Document Attributes: #{stage} is not a recognised status"
         
     | 
| 
      
 22 
     | 
    
         
            +
                  end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                  def content_validate(doc)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    super
         
     | 
| 
      
 26 
     | 
    
         
            +
                    approval_validate(doc)
         
     | 
| 
      
 27 
     | 
    
         
            +
                    itu_identifier_validate(doc)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    bibdata_validate(doc.root)
         
     | 
| 
      
 29 
     | 
    
         
            +
                  end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  def approval_validate(xmldoc)
         
     | 
| 
      
 32 
     | 
    
         
            +
                    s = xmldoc.at("//bibdata/recommendationstatus") || return
         
     | 
| 
      
 33 
     | 
    
         
            +
                    process = s.at("./@process").text
         
     | 
| 
      
 34 
     | 
    
         
            +
                    if process == "aap" and %w(determined in-force).include? s.text
         
     | 
| 
      
 35 
     | 
    
         
            +
                      warn "Recommendation Status #{s.text} inconsistent with AAP"
         
     | 
| 
      
 36 
     | 
    
         
            +
                    end
         
     | 
| 
      
 37 
     | 
    
         
            +
                    if process == "tap" and !%w(determined in-force).include? s.text
         
     | 
| 
      
 38 
     | 
    
         
            +
                      warn "Recommendation Status #{s.text} inconsistent with TAP"
         
     | 
| 
      
 39 
     | 
    
         
            +
                    end
         
     | 
| 
      
 40 
     | 
    
         
            +
                  end
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                  def itu_identifier_validate(xmldoc)
         
     | 
| 
      
 43 
     | 
    
         
            +
                    s = xmldoc.xpath("//bibdata/docidentifier[@type = 'ITU']").each do |x|
         
     | 
| 
      
 44 
     | 
    
         
            +
                      /^ITU-[RTF] [AD-VX-Z]\.[0-9]+$/.match x.text or
         
     | 
| 
      
 45 
     | 
    
         
            +
                        warn "#{x.text} does not match ITU document identifier conventions"
         
     | 
| 
      
 46 
     | 
    
         
            +
                    end
         
     | 
| 
      
 47 
     | 
    
         
            +
                  end
         
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
              end
         
     | 
| 
      
 51 
     | 
    
         
            +
            end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            DocumentType =
         
     | 
| 
      
 54 
     | 
    
         
            +
              "recommendation" | "recommendation-supplement" | "recommendation-amendment" | "recommendation-corrigendum" | "recommendation-errata" |
         
     | 
| 
      
 55 
     | 
    
         
            +
              "recommendation-annex" | "focus-group" | "implementers-guide" | "technical-paper" | "technical-report" | "joint-itu-iso-iec"
         
     |