metanorma-ietf 2.0.9 → 2.1.0
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 +4 -4
- data/.github/workflows/macos.yml +8 -0
- data/.github/workflows/ubuntu.yml +8 -1
- data/.github/workflows/windows.yml +8 -0
- data/Gemfile +1 -1
- data/lib/asciidoctor/ietf/biblio.rng +36 -6
- data/lib/asciidoctor/ietf/blocks.rb +7 -5
- data/lib/asciidoctor/ietf/converter.rb +3 -13
- data/lib/asciidoctor/ietf/ietf.rng +8 -2
- data/lib/asciidoctor/ietf/isodoc.rng +450 -4
- data/lib/asciidoctor/ietf/reqt.rng +23 -0
- data/lib/isodoc/ietf/blocks.rb +18 -9
- data/lib/isodoc/ietf/front.rb +0 -1
- data/lib/isodoc/ietf/inline.rb +6 -2
- data/lib/isodoc/ietf/metadata.rb +9 -17
- data/lib/isodoc/ietf/references.rb +3 -11
- data/lib/isodoc/ietf/rfc_convert.rb +15 -3
- data/lib/isodoc/ietf/section.rb +16 -1
- data/lib/isodoc/ietf/table.rb +2 -2
- data/lib/isodoc/ietf/terms.rb +0 -13
- data/lib/isodoc/ietf/xref.rb +20 -0
- data/lib/metanorma/ietf/processor.rb +12 -8
- data/lib/metanorma/ietf/version.rb +1 -1
- data/metanorma-ietf.gemspec +2 -2
- metadata +11 -11
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 47adf288717bcbd4914d1a3d43fb8eeea4d18fbb6f9675846c9ec37a9664f142
         | 
| 4 | 
            +
              data.tar.gz: f0486d16c7a457465cce21790e3c76cb3422b0508d5ae57a150e15bf4e1059a7
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e22190786fb20f67dd85cc5e0bd3e831e32b5ee54c0de91d08780106a624e902c11108672469afdcf80451489fddc11472f0ee73910592c947550b3f243b4c0b
         | 
| 7 | 
            +
              data.tar.gz: 85c7688efec6428a459a6d6f7d182c092ad68a5ed6a6e971e379fab3d6c6c46f5e77e083aa11be20d7570691505d3b61da50e217c93643451d215387e747d486
         | 
    
        data/.github/workflows/macos.yml
    CHANGED
    
    | @@ -6,15 +6,23 @@ on: | |
| 6 6 | 
             
              push:
         | 
| 7 7 | 
             
                branches: [ master ]
         | 
| 8 8 | 
             
              pull_request:
         | 
| 9 | 
            +
                paths-ignore:
         | 
| 10 | 
            +
                  - .github/workflows/ubuntu.yml
         | 
| 11 | 
            +
                  - .github/workflows/windows.yml
         | 
| 9 12 |  | 
| 10 13 | 
             
            jobs:
         | 
| 11 14 | 
             
              test-macos:
         | 
| 12 15 | 
             
                name: Test on Ruby ${{ matrix.ruby }} macOS
         | 
| 13 16 | 
             
                runs-on: macos-latest
         | 
| 17 | 
            +
                continue-on-error: ${{ matrix.experimental }}
         | 
| 14 18 | 
             
                strategy:
         | 
| 15 19 | 
             
                  fail-fast: false
         | 
| 16 20 | 
             
                  matrix:
         | 
| 17 21 | 
             
                    ruby: [ '2.6', '2.5', '2.4' ]
         | 
| 22 | 
            +
                    experimental: [false]
         | 
| 23 | 
            +
                    include:
         | 
| 24 | 
            +
                      - ruby: '2.7'
         | 
| 25 | 
            +
                        experimental: true
         | 
| 18 26 | 
             
                steps:
         | 
| 19 27 | 
             
                  - uses: actions/checkout@master
         | 
| 20 28 | 
             
                  - name: Cache xml2rfc
         | 
| @@ -6,15 +6,22 @@ on: | |
| 6 6 | 
             
              push:
         | 
| 7 7 | 
             
                branches: [ master ]
         | 
| 8 8 | 
             
              pull_request:
         | 
| 9 | 
            -
             | 
| 9 | 
            +
                paths-ignore:
         | 
| 10 | 
            +
                  - .github/workflows/macos.yml
         | 
| 11 | 
            +
                  - .github/workflows/windows.yml
         | 
| 10 12 | 
             
            jobs:
         | 
| 11 13 | 
             
              test-linux:
         | 
| 12 14 | 
             
                name: Test on Ruby ${{ matrix.ruby }} Ubuntu
         | 
| 13 15 | 
             
                runs-on: ubuntu-latest
         | 
| 16 | 
            +
                continue-on-error: ${{ matrix.experimental }}
         | 
| 14 17 | 
             
                strategy:
         | 
| 15 18 | 
             
                  fail-fast: false
         | 
| 16 19 | 
             
                  matrix:
         | 
| 17 20 | 
             
                    ruby: [ '2.6', '2.5', '2.4' ]
         | 
| 21 | 
            +
                    experimental: [false]
         | 
| 22 | 
            +
                    include:
         | 
| 23 | 
            +
                      - ruby: '2.7'
         | 
| 24 | 
            +
                        experimental: true
         | 
| 18 25 | 
             
                steps:
         | 
| 19 26 | 
             
                  - uses: actions/checkout@master
         | 
| 20 27 | 
             
                  - name: Cache xml2rfc
         | 
| @@ -6,15 +6,23 @@ on: | |
| 6 6 | 
             
              push:
         | 
| 7 7 | 
             
                branches: [ master ]
         | 
| 8 8 | 
             
              pull_request:
         | 
| 9 | 
            +
                paths-ignore:
         | 
| 10 | 
            +
                  - .github/workflows/macos.yml
         | 
| 11 | 
            +
                  - .github/workflows/ubuntu.yml
         | 
| 9 12 |  | 
| 10 13 | 
             
            jobs:
         | 
| 11 14 | 
             
              test-windows:
         | 
| 12 15 | 
             
                name: Test on Ruby ${{ matrix.ruby }} Windows
         | 
| 13 16 | 
             
                runs-on: windows-latest
         | 
| 17 | 
            +
                continue-on-error: ${{ matrix.experimental }}
         | 
| 14 18 | 
             
                strategy:
         | 
| 15 19 | 
             
                  fail-fast: false
         | 
| 16 20 | 
             
                  matrix:
         | 
| 17 21 | 
             
                    ruby: [ '2.6', '2.5', '2.4' ]
         | 
| 22 | 
            +
                    experimental: [false]
         | 
| 23 | 
            +
                    include:
         | 
| 24 | 
            +
                      - ruby: '2.7'
         | 
| 25 | 
            +
                        experimental: true
         | 
| 18 26 | 
             
                steps:
         | 
| 19 27 | 
             
                  - uses: actions/checkout@master
         | 
| 20 28 | 
             
                  - name: Cache xml2rfc
         | 
    
        data/Gemfile
    CHANGED
    
    
| @@ -88,7 +88,7 @@ | |
| 88 88 | 
             
                  <text/>
         | 
| 89 89 | 
             
                </element>
         | 
| 90 90 | 
             
              </define>
         | 
| 91 | 
            -
              <define name=" | 
| 91 | 
            +
              <define name="LocalizedString1">
         | 
| 92 92 | 
             
                <optional>
         | 
| 93 93 | 
             
                  <!-- multiple languages and scripts possible: comma delimit them if so -->
         | 
| 94 94 | 
             
                  <attribute name="language"/>
         | 
| @@ -98,6 +98,16 @@ | |
| 98 98 | 
             
                </optional>
         | 
| 99 99 | 
             
                <text/>
         | 
| 100 100 | 
             
              </define>
         | 
| 101 | 
            +
              <define name="LocalizedString">
         | 
| 102 | 
            +
                <choice>
         | 
| 103 | 
            +
                  <ref name="LocalizedString1"/>
         | 
| 104 | 
            +
                  <oneOrMore>
         | 
| 105 | 
            +
                    <element name="variant">
         | 
| 106 | 
            +
                      <ref name="LocalizedString1"/>
         | 
| 107 | 
            +
                    </element>
         | 
| 108 | 
            +
                  </oneOrMore>
         | 
| 109 | 
            +
                </choice>
         | 
| 110 | 
            +
              </define>
         | 
| 101 111 | 
             
              <!--
         | 
| 102 112 | 
             
                Unlike UML, change type to format: type is overloaded
         | 
| 103 113 | 
             
                Would be need if plain were default value and could omit the attribute
         | 
| @@ -121,7 +131,7 @@ | |
| 121 131 | 
             
                </optional>
         | 
| 122 132 | 
             
                <ref name="LocalizedStringOrXsAny"/>
         | 
| 123 133 | 
             
              </define>
         | 
| 124 | 
            -
              <define name=" | 
| 134 | 
            +
              <define name="LocalizedStringOrXsAny1">
         | 
| 125 135 | 
             
                <optional>
         | 
| 126 136 | 
             
                  <!-- multiple languages and scripts possible: comma delimit them if so -->
         | 
| 127 137 | 
             
                  <attribute name="language"/>
         | 
| @@ -136,6 +146,16 @@ | |
| 136 146 | 
             
                  </choice>
         | 
| 137 147 | 
             
                </oneOrMore>
         | 
| 138 148 | 
             
              </define>
         | 
| 149 | 
            +
              <define name="LocalizedStringOrXsAny">
         | 
| 150 | 
            +
                <choice>
         | 
| 151 | 
            +
                  <ref name="LocalizedStringOrXsAny1"/>
         | 
| 152 | 
            +
                  <oneOrMore>
         | 
| 153 | 
            +
                    <element name="variant">
         | 
| 154 | 
            +
                      <ref name="LocalizedStringOrXsAny1"/>
         | 
| 155 | 
            +
                    </element>
         | 
| 156 | 
            +
                  </oneOrMore>
         | 
| 157 | 
            +
                </choice>
         | 
| 158 | 
            +
              </define>
         | 
| 139 159 | 
             
              <define name="contributor">
         | 
| 140 160 | 
             
                <element name="contributor">
         | 
| 141 161 | 
             
                  <zeroOrMore>
         | 
| @@ -512,7 +532,7 @@ | |
| 512 532 | 
             
              </define>
         | 
| 513 533 | 
             
              <define name="LocalityType">
         | 
| 514 534 | 
             
                <data type="string">
         | 
| 515 | 
            -
                  <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|locality:[a-zA-Z0-9_]+</param>
         | 
| 535 | 
            +
                  <param name="pattern">section|clause|part|paragraph|chapter|page|whole|table|annex|figure|note|list|example|volume|issue|time|anchor|locality:[a-zA-Z0-9_]+</param>
         | 
| 516 536 | 
             
                </data>
         | 
| 517 537 | 
             
              </define>
         | 
| 518 538 | 
             
              <define name="referenceFrom">
         | 
| @@ -641,9 +661,9 @@ | |
| 641 661 | 
             
                <optional>
         | 
| 642 662 | 
             
                  <ref name="status"/>
         | 
| 643 663 | 
             
                </optional>
         | 
| 644 | 
            -
                < | 
| 664 | 
            +
                <zeroOrMore>
         | 
| 645 665 | 
             
                  <ref name="copyright"/>
         | 
| 646 | 
            -
                </ | 
| 666 | 
            +
                </zeroOrMore>
         | 
| 647 667 | 
             
                <zeroOrMore>
         | 
| 648 668 | 
             
                  <ref name="docrelation"/>
         | 
| 649 669 | 
             
                </zeroOrMore>
         | 
| @@ -1001,7 +1021,17 @@ | |
| 1001 1021 | 
             
                  <optional>
         | 
| 1002 1022 | 
             
                    <ref name="to"/>
         | 
| 1003 1023 | 
             
                  </optional>
         | 
| 1004 | 
            -
                  < | 
| 1024 | 
            +
                  <oneOrMore>
         | 
| 1025 | 
            +
                    <ref name="owner"/>
         | 
| 1026 | 
            +
                  </oneOrMore>
         | 
| 1027 | 
            +
                  <optional>
         | 
| 1028 | 
            +
                    <ref name="copyright_scope"/>
         | 
| 1029 | 
            +
                  </optional>
         | 
| 1030 | 
            +
                </element>
         | 
| 1031 | 
            +
              </define>
         | 
| 1032 | 
            +
              <define name="copyright_scope">
         | 
| 1033 | 
            +
                <element name="scope">
         | 
| 1034 | 
            +
                  <text/>
         | 
| 1005 1035 | 
             
                </element>
         | 
| 1006 1036 | 
             
              </define>
         | 
| 1007 1037 | 
             
              <define name="from">
         | 
| @@ -2,18 +2,20 @@ module Asciidoctor | |
| 2 2 | 
             
              module Ietf
         | 
| 3 3 | 
             
                class Converter < ::Asciidoctor::Standoc::Converter
         | 
| 4 4 | 
             
                  def para_attrs(node)
         | 
| 5 | 
            -
                    attr_code(  | 
| 6 | 
            -
                               | 
| 5 | 
            +
                    attr_code( "keep-with-next": node.attr("keepWithNext") ||
         | 
| 6 | 
            +
                              node.attr("keep-with-next"),
         | 
| 7 | 
            +
                              "keep-with-previous": node.attr("keepWithPrevious") ||
         | 
| 8 | 
            +
                              node.attr("keep-with-previous"),
         | 
| 7 9 | 
             
                              id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node))
         | 
| 8 10 | 
             
                  end
         | 
| 9 11 |  | 
| 10 | 
            -
                  def  | 
| 12 | 
            +
                  def ul_attrs(node)
         | 
| 11 13 | 
             
                    attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
         | 
| 12 14 | 
             
                              nobullet: node.attr("nobullet"),
         | 
| 13 15 | 
             
                              spacing: node.attr("spacing"))
         | 
| 14 16 | 
             
                  end
         | 
| 15 17 |  | 
| 16 | 
            -
                  def  | 
| 18 | 
            +
                  def ol_attrs(node)
         | 
| 17 19 | 
             
                    attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
         | 
| 18 20 | 
             
                              type: node.attr("format") || olist_style(node.style),
         | 
| 19 21 | 
             
                              group: node.attr("group"),
         | 
| @@ -21,7 +23,7 @@ module Asciidoctor | |
| 21 23 | 
             
                              start: node.attr("start"))
         | 
| 22 24 | 
             
                  end
         | 
| 23 25 |  | 
| 24 | 
            -
                  def  | 
| 26 | 
            +
                  def dl_attrs(node)
         | 
| 25 27 | 
             
                    attr_code(id: ::Asciidoctor::Standoc::Utils::anchor_or_uuid(node),
         | 
| 26 28 | 
             
                              newline: node.attr("newline"),
         | 
| 27 29 | 
             
                              indent: node.attr("indent"),
         | 
| @@ -26,19 +26,9 @@ module Asciidoctor | |
| 26 26 | 
             
                    super
         | 
| 27 27 | 
             
                  end
         | 
| 28 28 |  | 
| 29 | 
            -
                  def  | 
| 30 | 
            -
                     | 
| 31 | 
            -
                     | 
| 32 | 
            -
                    ret = ret1.to_xml(indent: 2)
         | 
| 33 | 
            -
                    unless node.attr("nodoc") || !node.attr("docfile")
         | 
| 34 | 
            -
                      filename = node.attr("docfile").gsub(/\.adoc/, ".xml").
         | 
| 35 | 
            -
                        gsub(%r{^.*/}, "")
         | 
| 36 | 
            -
                      File.open(filename, "w") { |f| f.write(ret) }
         | 
| 37 | 
            -
                      rfc_converter(node).convert filename unless node.attr("nodoc")
         | 
| 38 | 
            -
                    end
         | 
| 39 | 
            -
                    @log.write(@localdir + @filename + ".err") unless @novalid
         | 
| 40 | 
            -
                    @files_to_delete.each { |f| FileUtils.rm f }
         | 
| 41 | 
            -
                    ret
         | 
| 29 | 
            +
                  def outputs(node, ret)
         | 
| 30 | 
            +
                    File.open(@filename + ".xml", "w:UTF-8") { |f| f.write(ret) }
         | 
| 31 | 
            +
                    rfc_converter(node).convert(@filename + ".xml")
         | 
| 42 32 | 
             
                  end
         | 
| 43 33 |  | 
| 44 34 | 
             
                  def doctype(node)
         | 
| @@ -69,12 +69,12 @@ | |
| 69 69 | 
             
                    </attribute>
         | 
| 70 70 | 
             
                  </optional>
         | 
| 71 71 | 
             
                  <optional>
         | 
| 72 | 
            -
                    <attribute name=" | 
| 72 | 
            +
                    <attribute name="keep-with-next">
         | 
| 73 73 | 
             
                      <data type="boolean"/>
         | 
| 74 74 | 
             
                    </attribute>
         | 
| 75 75 | 
             
                  </optional>
         | 
| 76 76 | 
             
                  <optional>
         | 
| 77 | 
            -
                    <attribute name=" | 
| 77 | 
            +
                    <attribute name="keep-with-previous">
         | 
| 78 78 | 
             
                      <data type="boolean"/>
         | 
| 79 79 | 
             
                    </attribute>
         | 
| 80 80 | 
             
                  </optional>
         | 
| @@ -297,6 +297,9 @@ | |
| 297 297 | 
             
                        <data type="boolean"/>
         | 
| 298 298 | 
             
                      </attribute>
         | 
| 299 299 | 
             
                    </optional>
         | 
| 300 | 
            +
                    <optional>
         | 
| 301 | 
            +
                      <attribute name="number"/>
         | 
| 302 | 
            +
                    </optional>
         | 
| 300 303 | 
             
                    <optional>
         | 
| 301 304 | 
             
                      <attribute name="subsequence"/>
         | 
| 302 305 | 
             
                    </optional>
         | 
| @@ -379,6 +382,9 @@ | |
| 379 382 | 
             
                        <data type="boolean"/>
         | 
| 380 383 | 
             
                      </attribute>
         | 
| 381 384 | 
             
                    </optional>
         | 
| 385 | 
            +
                    <optional>
         | 
| 386 | 
            +
                      <attribute name="number"/>
         | 
| 387 | 
            +
                    </optional>
         | 
| 382 388 | 
             
                    <optional>
         | 
| 383 389 | 
             
                      <attribute name="subsequence"/>
         | 
| 384 390 | 
             
                    </optional>
         | 
| @@ -53,9 +53,96 @@ | |
| 53 53 | 
             
                    <optional>
         | 
| 54 54 | 
             
                      <attribute name="alt"/>
         | 
| 55 55 | 
             
                    </optional>
         | 
| 56 | 
            +
                    <optional>
         | 
| 57 | 
            +
                      <attribute name="case">
         | 
| 58 | 
            +
                        <choice>
         | 
| 59 | 
            +
                          <value>capital</value>
         | 
| 60 | 
            +
                          <value>lowercase</value>
         | 
| 61 | 
            +
                        </choice>
         | 
| 62 | 
            +
                      </attribute>
         | 
| 63 | 
            +
                    </optional>
         | 
| 56 64 | 
             
                    <text/>
         | 
| 57 65 | 
             
                  </element>
         | 
| 58 66 | 
             
                </define>
         | 
| 67 | 
            +
                <define name="ul">
         | 
| 68 | 
            +
                  <element name="ul">
         | 
| 69 | 
            +
                    <attribute name="id">
         | 
| 70 | 
            +
                      <data type="ID"/>
         | 
| 71 | 
            +
                    </attribute>
         | 
| 72 | 
            +
                    <optional>
         | 
| 73 | 
            +
                      <attribute name="keep-with-next">
         | 
| 74 | 
            +
                        <data type="boolean"/>
         | 
| 75 | 
            +
                      </attribute>
         | 
| 76 | 
            +
                    </optional>
         | 
| 77 | 
            +
                    <optional>
         | 
| 78 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 79 | 
            +
                        <data type="boolean"/>
         | 
| 80 | 
            +
                      </attribute>
         | 
| 81 | 
            +
                    </optional>
         | 
| 82 | 
            +
                    <oneOrMore>
         | 
| 83 | 
            +
                      <ref name="li"/>
         | 
| 84 | 
            +
                    </oneOrMore>
         | 
| 85 | 
            +
                    <zeroOrMore>
         | 
| 86 | 
            +
                      <ref name="note"/>
         | 
| 87 | 
            +
                    </zeroOrMore>
         | 
| 88 | 
            +
                  </element>
         | 
| 89 | 
            +
                </define>
         | 
| 90 | 
            +
                <define name="ol">
         | 
| 91 | 
            +
                  <element name="ol">
         | 
| 92 | 
            +
                    <attribute name="id">
         | 
| 93 | 
            +
                      <data type="ID"/>
         | 
| 94 | 
            +
                    </attribute>
         | 
| 95 | 
            +
                    <optional>
         | 
| 96 | 
            +
                      <attribute name="keep-with-next">
         | 
| 97 | 
            +
                        <data type="boolean"/>
         | 
| 98 | 
            +
                      </attribute>
         | 
| 99 | 
            +
                    </optional>
         | 
| 100 | 
            +
                    <optional>
         | 
| 101 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 102 | 
            +
                        <data type="boolean"/>
         | 
| 103 | 
            +
                      </attribute>
         | 
| 104 | 
            +
                    </optional>
         | 
| 105 | 
            +
                    <attribute name="type">
         | 
| 106 | 
            +
                      <choice>
         | 
| 107 | 
            +
                        <value>roman</value>
         | 
| 108 | 
            +
                        <value>alphabet</value>
         | 
| 109 | 
            +
                        <value>arabic</value>
         | 
| 110 | 
            +
                        <value>roman_upper</value>
         | 
| 111 | 
            +
                        <value>alphabet_upper</value>
         | 
| 112 | 
            +
                      </choice>
         | 
| 113 | 
            +
                    </attribute>
         | 
| 114 | 
            +
                    <oneOrMore>
         | 
| 115 | 
            +
                      <ref name="li"/>
         | 
| 116 | 
            +
                    </oneOrMore>
         | 
| 117 | 
            +
                    <zeroOrMore>
         | 
| 118 | 
            +
                      <ref name="note"/>
         | 
| 119 | 
            +
                    </zeroOrMore>
         | 
| 120 | 
            +
                  </element>
         | 
| 121 | 
            +
                </define>
         | 
| 122 | 
            +
                <define name="dl">
         | 
| 123 | 
            +
                  <element name="dl">
         | 
| 124 | 
            +
                    <attribute name="id">
         | 
| 125 | 
            +
                      <data type="ID"/>
         | 
| 126 | 
            +
                    </attribute>
         | 
| 127 | 
            +
                    <optional>
         | 
| 128 | 
            +
                      <attribute name="keep-with-next">
         | 
| 129 | 
            +
                        <data type="boolean"/>
         | 
| 130 | 
            +
                      </attribute>
         | 
| 131 | 
            +
                    </optional>
         | 
| 132 | 
            +
                    <optional>
         | 
| 133 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 134 | 
            +
                        <data type="boolean"/>
         | 
| 135 | 
            +
                      </attribute>
         | 
| 136 | 
            +
                    </optional>
         | 
| 137 | 
            +
                    <oneOrMore>
         | 
| 138 | 
            +
                      <ref name="dt"/>
         | 
| 139 | 
            +
                      <ref name="dd"/>
         | 
| 140 | 
            +
                    </oneOrMore>
         | 
| 141 | 
            +
                    <zeroOrMore>
         | 
| 142 | 
            +
                      <ref name="note"/>
         | 
| 143 | 
            +
                    </zeroOrMore>
         | 
| 144 | 
            +
                  </element>
         | 
| 145 | 
            +
                </define>
         | 
| 59 146 | 
             
                <define name="example">
         | 
| 60 147 | 
             
                  <element name="example">
         | 
| 61 148 | 
             
                    <attribute name="id">
         | 
| @@ -69,6 +156,19 @@ | |
| 69 156 | 
             
                    <optional>
         | 
| 70 157 | 
             
                      <attribute name="subsequence"/>
         | 
| 71 158 | 
             
                    </optional>
         | 
| 159 | 
            +
                    <optional>
         | 
| 160 | 
            +
                      <attribute name="number"/>
         | 
| 161 | 
            +
                    </optional>
         | 
| 162 | 
            +
                    <optional>
         | 
| 163 | 
            +
                      <attribute name="keep-with-next">
         | 
| 164 | 
            +
                        <data type="boolean"/>
         | 
| 165 | 
            +
                      </attribute>
         | 
| 166 | 
            +
                    </optional>
         | 
| 167 | 
            +
                    <optional>
         | 
| 168 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 169 | 
            +
                        <data type="boolean"/>
         | 
| 170 | 
            +
                      </attribute>
         | 
| 171 | 
            +
                    </optional>
         | 
| 72 172 | 
             
                    <optional>
         | 
| 73 173 | 
             
                      <ref name="tname"/>
         | 
| 74 174 | 
             
                    </optional>
         | 
| @@ -89,6 +189,296 @@ | |
| 89 189 | 
             
                    </zeroOrMore>
         | 
| 90 190 | 
             
                  </element>
         | 
| 91 191 | 
             
                </define>
         | 
| 192 | 
            +
                <define name="table">
         | 
| 193 | 
            +
                  <element name="table">
         | 
| 194 | 
            +
                    <attribute name="id">
         | 
| 195 | 
            +
                      <data type="ID"/>
         | 
| 196 | 
            +
                    </attribute>
         | 
| 197 | 
            +
                    <optional>
         | 
| 198 | 
            +
                      <attribute name="unnumbered">
         | 
| 199 | 
            +
                        <data type="boolean"/>
         | 
| 200 | 
            +
                      </attribute>
         | 
| 201 | 
            +
                    </optional>
         | 
| 202 | 
            +
                    <optional>
         | 
| 203 | 
            +
                      <attribute name="number"/>
         | 
| 204 | 
            +
                    </optional>
         | 
| 205 | 
            +
                    <optional>
         | 
| 206 | 
            +
                      <attribute name="subsequence"/>
         | 
| 207 | 
            +
                    </optional>
         | 
| 208 | 
            +
                    <optional>
         | 
| 209 | 
            +
                      <attribute name="alt"/>
         | 
| 210 | 
            +
                    </optional>
         | 
| 211 | 
            +
                    <optional>
         | 
| 212 | 
            +
                      <attribute name="summary"/>
         | 
| 213 | 
            +
                    </optional>
         | 
| 214 | 
            +
                    <optional>
         | 
| 215 | 
            +
                      <attribute name="uri">
         | 
| 216 | 
            +
                        <data type="anyURI"/>
         | 
| 217 | 
            +
                      </attribute>
         | 
| 218 | 
            +
                    </optional>
         | 
| 219 | 
            +
                    <optional>
         | 
| 220 | 
            +
                      <attribute name="keep-with-next">
         | 
| 221 | 
            +
                        <data type="boolean"/>
         | 
| 222 | 
            +
                      </attribute>
         | 
| 223 | 
            +
                    </optional>
         | 
| 224 | 
            +
                    <optional>
         | 
| 225 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 226 | 
            +
                        <data type="boolean"/>
         | 
| 227 | 
            +
                      </attribute>
         | 
| 228 | 
            +
                    </optional>
         | 
| 229 | 
            +
                    <optional>
         | 
| 230 | 
            +
                      <ref name="tname"/>
         | 
| 231 | 
            +
                    </optional>
         | 
| 232 | 
            +
                    <optional>
         | 
| 233 | 
            +
                      <ref name="thead"/>
         | 
| 234 | 
            +
                    </optional>
         | 
| 235 | 
            +
                    <ref name="tbody"/>
         | 
| 236 | 
            +
                    <optional>
         | 
| 237 | 
            +
                      <ref name="tfoot"/>
         | 
| 238 | 
            +
                    </optional>
         | 
| 239 | 
            +
                    <zeroOrMore>
         | 
| 240 | 
            +
                      <ref name="table-note"/>
         | 
| 241 | 
            +
                    </zeroOrMore>
         | 
| 242 | 
            +
                    <optional>
         | 
| 243 | 
            +
                      <ref name="dl"/>
         | 
| 244 | 
            +
                    </optional>
         | 
| 245 | 
            +
                  </element>
         | 
| 246 | 
            +
                </define>
         | 
| 247 | 
            +
                <define name="figure">
         | 
| 248 | 
            +
                  <element name="figure">
         | 
| 249 | 
            +
                    <attribute name="id">
         | 
| 250 | 
            +
                      <data type="ID"/>
         | 
| 251 | 
            +
                    </attribute>
         | 
| 252 | 
            +
                    <optional>
         | 
| 253 | 
            +
                      <attribute name="unnumbered">
         | 
| 254 | 
            +
                        <data type="boolean"/>
         | 
| 255 | 
            +
                      </attribute>
         | 
| 256 | 
            +
                    </optional>
         | 
| 257 | 
            +
                    <optional>
         | 
| 258 | 
            +
                      <attribute name="number"/>
         | 
| 259 | 
            +
                    </optional>
         | 
| 260 | 
            +
                    <optional>
         | 
| 261 | 
            +
                      <attribute name="subsequence"/>
         | 
| 262 | 
            +
                    </optional>
         | 
| 263 | 
            +
                    <optional>
         | 
| 264 | 
            +
                      <attribute name="keep-with-next">
         | 
| 265 | 
            +
                        <data type="boolean"/>
         | 
| 266 | 
            +
                      </attribute>
         | 
| 267 | 
            +
                    </optional>
         | 
| 268 | 
            +
                    <optional>
         | 
| 269 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 270 | 
            +
                        <data type="boolean"/>
         | 
| 271 | 
            +
                      </attribute>
         | 
| 272 | 
            +
                    </optional>
         | 
| 273 | 
            +
                    <optional>
         | 
| 274 | 
            +
                      <attribute name="class"/>
         | 
| 275 | 
            +
                    </optional>
         | 
| 276 | 
            +
                    <optional>
         | 
| 277 | 
            +
                      <ref name="source"/>
         | 
| 278 | 
            +
                    </optional>
         | 
| 279 | 
            +
                    <optional>
         | 
| 280 | 
            +
                      <ref name="tname"/>
         | 
| 281 | 
            +
                    </optional>
         | 
| 282 | 
            +
                    <choice>
         | 
| 283 | 
            +
                      <ref name="image"/>
         | 
| 284 | 
            +
                      <ref name="video"/>
         | 
| 285 | 
            +
                      <ref name="audio"/>
         | 
| 286 | 
            +
                      <ref name="pre"/>
         | 
| 287 | 
            +
                      <oneOrMore>
         | 
| 288 | 
            +
                        <ref name="paragraph-with-footnote"/>
         | 
| 289 | 
            +
                      </oneOrMore>
         | 
| 290 | 
            +
                      <zeroOrMore>
         | 
| 291 | 
            +
                        <ref name="figure"/>
         | 
| 292 | 
            +
                      </zeroOrMore>
         | 
| 293 | 
            +
                    </choice>
         | 
| 294 | 
            +
                    <zeroOrMore>
         | 
| 295 | 
            +
                      <ref name="fn"/>
         | 
| 296 | 
            +
                    </zeroOrMore>
         | 
| 297 | 
            +
                    <optional>
         | 
| 298 | 
            +
                      <ref name="dl"/>
         | 
| 299 | 
            +
                    </optional>
         | 
| 300 | 
            +
                    <zeroOrMore>
         | 
| 301 | 
            +
                      <ref name="note"/>
         | 
| 302 | 
            +
                    </zeroOrMore>
         | 
| 303 | 
            +
                  </element>
         | 
| 304 | 
            +
                </define>
         | 
| 305 | 
            +
                <define name="sourcecode">
         | 
| 306 | 
            +
                  <element name="sourcecode">
         | 
| 307 | 
            +
                    <attribute name="id">
         | 
| 308 | 
            +
                      <data type="ID"/>
         | 
| 309 | 
            +
                    </attribute>
         | 
| 310 | 
            +
                    <optional>
         | 
| 311 | 
            +
                      <attribute name="unnumbered">
         | 
| 312 | 
            +
                        <data type="boolean"/>
         | 
| 313 | 
            +
                      </attribute>
         | 
| 314 | 
            +
                    </optional>
         | 
| 315 | 
            +
                    <optional>
         | 
| 316 | 
            +
                      <attribute name="number"/>
         | 
| 317 | 
            +
                    </optional>
         | 
| 318 | 
            +
                    <optional>
         | 
| 319 | 
            +
                      <attribute name="subsequence"/>
         | 
| 320 | 
            +
                    </optional>
         | 
| 321 | 
            +
                    <optional>
         | 
| 322 | 
            +
                      <attribute name="keep-with-next">
         | 
| 323 | 
            +
                        <data type="boolean"/>
         | 
| 324 | 
            +
                      </attribute>
         | 
| 325 | 
            +
                    </optional>
         | 
| 326 | 
            +
                    <optional>
         | 
| 327 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 328 | 
            +
                        <data type="boolean"/>
         | 
| 329 | 
            +
                      </attribute>
         | 
| 330 | 
            +
                    </optional>
         | 
| 331 | 
            +
                    <optional>
         | 
| 332 | 
            +
                      <attribute name="lang"/>
         | 
| 333 | 
            +
                    </optional>
         | 
| 334 | 
            +
                    <optional>
         | 
| 335 | 
            +
                      <ref name="tname"/>
         | 
| 336 | 
            +
                    </optional>
         | 
| 337 | 
            +
                    <oneOrMore>
         | 
| 338 | 
            +
                      <choice>
         | 
| 339 | 
            +
                        <text/>
         | 
| 340 | 
            +
                        <ref name="callout"/>
         | 
| 341 | 
            +
                      </choice>
         | 
| 342 | 
            +
                    </oneOrMore>
         | 
| 343 | 
            +
                    <zeroOrMore>
         | 
| 344 | 
            +
                      <ref name="annotation"/>
         | 
| 345 | 
            +
                    </zeroOrMore>
         | 
| 346 | 
            +
                    <zeroOrMore>
         | 
| 347 | 
            +
                      <ref name="note"/>
         | 
| 348 | 
            +
                    </zeroOrMore>
         | 
| 349 | 
            +
                  </element>
         | 
| 350 | 
            +
                </define>
         | 
| 351 | 
            +
                <define name="formula">
         | 
| 352 | 
            +
                  <element name="formula">
         | 
| 353 | 
            +
                    <attribute name="id">
         | 
| 354 | 
            +
                      <data type="ID"/>
         | 
| 355 | 
            +
                    </attribute>
         | 
| 356 | 
            +
                    <optional>
         | 
| 357 | 
            +
                      <attribute name="unnumbered">
         | 
| 358 | 
            +
                        <data type="boolean"/>
         | 
| 359 | 
            +
                      </attribute>
         | 
| 360 | 
            +
                    </optional>
         | 
| 361 | 
            +
                    <optional>
         | 
| 362 | 
            +
                      <attribute name="number"/>
         | 
| 363 | 
            +
                    </optional>
         | 
| 364 | 
            +
                    <optional>
         | 
| 365 | 
            +
                      <attribute name="subsequence"/>
         | 
| 366 | 
            +
                    </optional>
         | 
| 367 | 
            +
                    <optional>
         | 
| 368 | 
            +
                      <attribute name="keep-with-next">
         | 
| 369 | 
            +
                        <data type="boolean"/>
         | 
| 370 | 
            +
                      </attribute>
         | 
| 371 | 
            +
                    </optional>
         | 
| 372 | 
            +
                    <optional>
         | 
| 373 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 374 | 
            +
                        <data type="boolean"/>
         | 
| 375 | 
            +
                      </attribute>
         | 
| 376 | 
            +
                    </optional>
         | 
| 377 | 
            +
                    <optional>
         | 
| 378 | 
            +
                      <attribute name="inequality">
         | 
| 379 | 
            +
                        <data type="boolean"/>
         | 
| 380 | 
            +
                      </attribute>
         | 
| 381 | 
            +
                    </optional>
         | 
| 382 | 
            +
                    <ref name="stem"/>
         | 
| 383 | 
            +
                    <optional>
         | 
| 384 | 
            +
                      <ref name="dl"/>
         | 
| 385 | 
            +
                    </optional>
         | 
| 386 | 
            +
                    <zeroOrMore>
         | 
| 387 | 
            +
                      <ref name="note"/>
         | 
| 388 | 
            +
                    </zeroOrMore>
         | 
| 389 | 
            +
                  </element>
         | 
| 390 | 
            +
                </define>
         | 
| 391 | 
            +
                <define name="ParagraphType">
         | 
| 392 | 
            +
                  <attribute name="id">
         | 
| 393 | 
            +
                    <data type="ID"/>
         | 
| 394 | 
            +
                  </attribute>
         | 
| 395 | 
            +
                  <optional>
         | 
| 396 | 
            +
                    <attribute name="align">
         | 
| 397 | 
            +
                      <ref name="Alignments"/>
         | 
| 398 | 
            +
                    </attribute>
         | 
| 399 | 
            +
                  </optional>
         | 
| 400 | 
            +
                  <optional>
         | 
| 401 | 
            +
                    <attribute name="keep-with-next">
         | 
| 402 | 
            +
                      <data type="boolean"/>
         | 
| 403 | 
            +
                    </attribute>
         | 
| 404 | 
            +
                  </optional>
         | 
| 405 | 
            +
                  <optional>
         | 
| 406 | 
            +
                    <attribute name="keep-lines-together">
         | 
| 407 | 
            +
                      <data type="boolean"/>
         | 
| 408 | 
            +
                    </attribute>
         | 
| 409 | 
            +
                  </optional>
         | 
| 410 | 
            +
                  <zeroOrMore>
         | 
| 411 | 
            +
                    <ref name="TextElement"/>
         | 
| 412 | 
            +
                  </zeroOrMore>
         | 
| 413 | 
            +
                  <zeroOrMore>
         | 
| 414 | 
            +
                    <ref name="note"/>
         | 
| 415 | 
            +
                  </zeroOrMore>
         | 
| 416 | 
            +
                </define>
         | 
| 417 | 
            +
                <define name="paragraph-with-footnote">
         | 
| 418 | 
            +
                  <element name="p">
         | 
| 419 | 
            +
                    <attribute name="id">
         | 
| 420 | 
            +
                      <data type="ID"/>
         | 
| 421 | 
            +
                    </attribute>
         | 
| 422 | 
            +
                    <optional>
         | 
| 423 | 
            +
                      <attribute name="align">
         | 
| 424 | 
            +
                        <ref name="Alignments"/>
         | 
| 425 | 
            +
                      </attribute>
         | 
| 426 | 
            +
                    </optional>
         | 
| 427 | 
            +
                    <optional>
         | 
| 428 | 
            +
                      <attribute name="keep-with-next">
         | 
| 429 | 
            +
                        <data type="boolean"/>
         | 
| 430 | 
            +
                      </attribute>
         | 
| 431 | 
            +
                    </optional>
         | 
| 432 | 
            +
                    <optional>
         | 
| 433 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 434 | 
            +
                        <data type="boolean"/>
         | 
| 435 | 
            +
                      </attribute>
         | 
| 436 | 
            +
                    </optional>
         | 
| 437 | 
            +
                    <zeroOrMore>
         | 
| 438 | 
            +
                      <choice>
         | 
| 439 | 
            +
                        <ref name="TextElement"/>
         | 
| 440 | 
            +
                        <ref name="fn"/>
         | 
| 441 | 
            +
                      </choice>
         | 
| 442 | 
            +
                    </zeroOrMore>
         | 
| 443 | 
            +
                    <zeroOrMore>
         | 
| 444 | 
            +
                      <ref name="note"/>
         | 
| 445 | 
            +
                    </zeroOrMore>
         | 
| 446 | 
            +
                  </element>
         | 
| 447 | 
            +
                </define>
         | 
| 448 | 
            +
                <define name="quote">
         | 
| 449 | 
            +
                  <element name="quote">
         | 
| 450 | 
            +
                    <attribute name="id">
         | 
| 451 | 
            +
                      <data type="ID"/>
         | 
| 452 | 
            +
                    </attribute>
         | 
| 453 | 
            +
                    <optional>
         | 
| 454 | 
            +
                      <attribute name="alignment">
         | 
| 455 | 
            +
                        <ref name="Alignments"/>
         | 
| 456 | 
            +
                      </attribute>
         | 
| 457 | 
            +
                    </optional>
         | 
| 458 | 
            +
                    <optional>
         | 
| 459 | 
            +
                      <attribute name="keep-with-next">
         | 
| 460 | 
            +
                        <data type="boolean"/>
         | 
| 461 | 
            +
                      </attribute>
         | 
| 462 | 
            +
                    </optional>
         | 
| 463 | 
            +
                    <optional>
         | 
| 464 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 465 | 
            +
                        <data type="boolean"/>
         | 
| 466 | 
            +
                      </attribute>
         | 
| 467 | 
            +
                    </optional>
         | 
| 468 | 
            +
                    <optional>
         | 
| 469 | 
            +
                      <ref name="quote-source"/>
         | 
| 470 | 
            +
                    </optional>
         | 
| 471 | 
            +
                    <optional>
         | 
| 472 | 
            +
                      <ref name="quote-author"/>
         | 
| 473 | 
            +
                    </optional>
         | 
| 474 | 
            +
                    <oneOrMore>
         | 
| 475 | 
            +
                      <ref name="paragraph-with-footnote"/>
         | 
| 476 | 
            +
                    </oneOrMore>
         | 
| 477 | 
            +
                    <zeroOrMore>
         | 
| 478 | 
            +
                      <ref name="note"/>
         | 
| 479 | 
            +
                    </zeroOrMore>
         | 
| 480 | 
            +
                  </element>
         | 
| 481 | 
            +
                </define>
         | 
| 92 482 | 
             
                <define name="BibDataExtensionType">
         | 
| 93 483 | 
             
                  <ref name="doctype"/>
         | 
| 94 484 | 
             
                  <optional>
         | 
| @@ -129,6 +519,9 @@ | |
| 129 519 | 
             
                        </choice>
         | 
| 130 520 | 
             
                      </attribute>
         | 
| 131 521 | 
             
                    </optional>
         | 
| 522 | 
            +
                    <attribute name="normative">
         | 
| 523 | 
            +
                      <data type="boolean"/>
         | 
| 524 | 
            +
                    </attribute>
         | 
| 132 525 | 
             
                    <optional>
         | 
| 133 526 | 
             
                      <ref name="section-title"/>
         | 
| 134 527 | 
             
                    </optional>
         | 
| @@ -154,6 +547,30 @@ | |
| 154 547 | 
             
                    <attribute name="id">
         | 
| 155 548 | 
             
                      <data type="ID"/>
         | 
| 156 549 | 
             
                    </attribute>
         | 
| 550 | 
            +
                    <optional>
         | 
| 551 | 
            +
                      <attribute name="unnumbered">
         | 
| 552 | 
            +
                        <data type="boolean"/>
         | 
| 553 | 
            +
                      </attribute>
         | 
| 554 | 
            +
                    </optional>
         | 
| 555 | 
            +
                    <optional>
         | 
| 556 | 
            +
                      <attribute name="number"/>
         | 
| 557 | 
            +
                    </optional>
         | 
| 558 | 
            +
                    <optional>
         | 
| 559 | 
            +
                      <attribute name="subsequence"/>
         | 
| 560 | 
            +
                    </optional>
         | 
| 561 | 
            +
                    <optional>
         | 
| 562 | 
            +
                      <attribute name="keep-with-next">
         | 
| 563 | 
            +
                        <data type="boolean"/>
         | 
| 564 | 
            +
                      </attribute>
         | 
| 565 | 
            +
                    </optional>
         | 
| 566 | 
            +
                    <optional>
         | 
| 567 | 
            +
                      <attribute name="keep-lines-together">
         | 
| 568 | 
            +
                        <data type="boolean"/>
         | 
| 569 | 
            +
                      </attribute>
         | 
| 570 | 
            +
                    </optional>
         | 
| 571 | 
            +
                    <optional>
         | 
| 572 | 
            +
                      <attribute name="type"/>
         | 
| 573 | 
            +
                    </optional>
         | 
| 157 574 | 
             
                    <oneOrMore>
         | 
| 158 575 | 
             
                      <choice>
         | 
| 159 576 | 
             
                        <ref name="paragraph"/>
         | 
| @@ -303,11 +720,11 @@ | |
| 303 720 | 
             
                    <ref name="paragraph"/>
         | 
| 304 721 | 
             
                  </element>
         | 
| 305 722 | 
             
                </define>
         | 
| 306 | 
            -
                <define name="TextElement" combine="choice">
         | 
| 307 | 
            -
                  <ref name="concept"/>
         | 
| 308 | 
            -
                </define>
         | 
| 309 723 | 
             
              </include>
         | 
| 310 724 | 
             
              <!-- end overrides -->
         | 
| 725 | 
            +
              <define name="TextElement" combine="choice">
         | 
| 726 | 
            +
                <ref name="concept"/>
         | 
| 727 | 
            +
              </define>
         | 
| 311 728 | 
             
              <define name="concept">
         | 
| 312 729 | 
             
                <element name="concept">
         | 
| 313 730 | 
             
                  <optional>
         | 
| @@ -899,7 +1316,36 @@ | |
| 899 1316 | 
             
                  <attribute name="id">
         | 
| 900 1317 | 
             
                    <data type="ID"/>
         | 
| 901 1318 | 
             
                  </attribute>
         | 
| 902 | 
            -
                  < | 
| 1319 | 
            +
                  <optional>
         | 
| 1320 | 
            +
                    <attribute name="unnumbered">
         | 
| 1321 | 
            +
                      <data type="boolean"/>
         | 
| 1322 | 
            +
                    </attribute>
         | 
| 1323 | 
            +
                  </optional>
         | 
| 1324 | 
            +
                  <optional>
         | 
| 1325 | 
            +
                    <attribute name="number"/>
         | 
| 1326 | 
            +
                  </optional>
         | 
| 1327 | 
            +
                  <optional>
         | 
| 1328 | 
            +
                    <attribute name="subsequence"/>
         | 
| 1329 | 
            +
                  </optional>
         | 
| 1330 | 
            +
                  <optional>
         | 
| 1331 | 
            +
                    <attribute name="keep-with-next">
         | 
| 1332 | 
            +
                      <data type="boolean"/>
         | 
| 1333 | 
            +
                    </attribute>
         | 
| 1334 | 
            +
                  </optional>
         | 
| 1335 | 
            +
                  <optional>
         | 
| 1336 | 
            +
                    <attribute name="keep-lines-together">
         | 
| 1337 | 
            +
                      <data type="boolean"/>
         | 
| 1338 | 
            +
                    </attribute>
         | 
| 1339 | 
            +
                  </optional>
         | 
| 1340 | 
            +
                  <oneOrMore>
         | 
| 1341 | 
            +
                    <choice>
         | 
| 1342 | 
            +
                      <ref name="paragraph"/>
         | 
| 1343 | 
            +
                      <ref name="ul"/>
         | 
| 1344 | 
            +
                      <ref name="ol"/>
         | 
| 1345 | 
            +
                      <ref name="dl"/>
         | 
| 1346 | 
            +
                      <ref name="formula"/>
         | 
| 1347 | 
            +
                    </choice>
         | 
| 1348 | 
            +
                  </oneOrMore>
         | 
| 903 1349 | 
             
                </element>
         | 
| 904 1350 | 
             
              </define>
         | 
| 905 1351 | 
             
              <define name="termexample">
         | 
| @@ -30,9 +30,22 @@ | |
| 30 30 | 
             
                    <data type="boolean"/>
         | 
| 31 31 | 
             
                  </attribute>
         | 
| 32 32 | 
             
                </optional>
         | 
| 33 | 
            +
                <optional>
         | 
| 34 | 
            +
                  <attribute name="number"/>
         | 
| 35 | 
            +
                </optional>
         | 
| 33 36 | 
             
                <optional>
         | 
| 34 37 | 
             
                  <attribute name="subsequence"/>
         | 
| 35 38 | 
             
                </optional>
         | 
| 39 | 
            +
                <optional>
         | 
| 40 | 
            +
                  <attribute name="keep-with-next">
         | 
| 41 | 
            +
                    <data type="boolean"/>
         | 
| 42 | 
            +
                  </attribute>
         | 
| 43 | 
            +
                </optional>
         | 
| 44 | 
            +
                <optional>
         | 
| 45 | 
            +
                  <attribute name="keep-lines-together">
         | 
| 46 | 
            +
                    <data type="boolean"/>
         | 
| 47 | 
            +
                  </attribute>
         | 
| 48 | 
            +
                </optional>
         | 
| 36 49 | 
             
                <attribute name="id">
         | 
| 37 50 | 
             
                  <data type="ID"/>
         | 
| 38 51 | 
             
                </attribute>
         | 
| @@ -141,6 +154,16 @@ | |
| 141 154 | 
             
                    <data type="boolean"/>
         | 
| 142 155 | 
             
                  </attribute>
         | 
| 143 156 | 
             
                </optional>
         | 
| 157 | 
            +
                <optional>
         | 
| 158 | 
            +
                  <attribute name="keep-with-next">
         | 
| 159 | 
            +
                    <data type="boolean"/>
         | 
| 160 | 
            +
                  </attribute>
         | 
| 161 | 
            +
                </optional>
         | 
| 162 | 
            +
                <optional>
         | 
| 163 | 
            +
                  <attribute name="keep-lines-together">
         | 
| 164 | 
            +
                    <data type="boolean"/>
         | 
| 165 | 
            +
                  </attribute>
         | 
| 166 | 
            +
                </optional>
         | 
| 144 167 | 
             
                <oneOrMore>
         | 
| 145 168 | 
             
                  <ref name="BasicBlock"/>
         | 
| 146 169 | 
             
                </oneOrMore>
         | 
    
        data/lib/isodoc/ietf/blocks.rb
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            module IsoDoc::Ietf
         | 
| 2 2 | 
             
              class RfcConvert < ::IsoDoc::Convert
         | 
| 3 3 | 
             
                def para_attrs(node)
         | 
| 4 | 
            -
                  { keepWithNext: node[" | 
| 5 | 
            -
                    keepWithPrevious: node[" | 
| 4 | 
            +
                  { keepWithNext: node["keep-with-next"],
         | 
| 5 | 
            +
                    keepWithPrevious: node["keep-with-previous"],
         | 
| 6 6 | 
             
                    anchor: node["id"] }
         | 
| 7 7 | 
             
                end
         | 
| 8 8 |  | 
| @@ -56,16 +56,16 @@ module IsoDoc::Ietf | |
| 56 56 | 
             
                  end
         | 
| 57 57 | 
             
                end
         | 
| 58 58 |  | 
| 59 | 
            -
                def  | 
| 59 | 
            +
                def dl_attrs(node)
         | 
| 60 60 | 
             
                  attr_code(anchor: node["id"],
         | 
| 61 61 | 
             
                            newline: node["newline"],
         | 
| 62 62 | 
             
                            indent: node["indent"],
         | 
| 63 63 | 
             
                            spacing: node["spacing"])
         | 
| 64 64 | 
             
                end
         | 
| 65 65 |  | 
| 66 | 
            -
             | 
| 66 | 
            +
                def dt_parse(dt, term)
         | 
| 67 67 | 
             
                  if dt.elements.empty?
         | 
| 68 | 
            -
             | 
| 68 | 
            +
                    term << dt.text
         | 
| 69 69 | 
             
                  else
         | 
| 70 70 | 
             
                    dt.children.each { |n| parse(n, term) }
         | 
| 71 71 | 
             
                  end
         | 
| @@ -94,7 +94,7 @@ module IsoDoc::Ietf | |
| 94 94 | 
             
                end
         | 
| 95 95 |  | 
| 96 96 | 
             
                def example_label(node, div, name)
         | 
| 97 | 
            -
                  n =  | 
| 97 | 
            +
                  n = @xrefs.get[node["id"]]
         | 
| 98 98 | 
             
                  div.t **attr_code(anchor: node["id"], keepWithNext: "true") do |p|
         | 
| 99 99 | 
             
                    lbl = (n.nil? || n[:label].nil? || n[:label].empty?) ? @example_lbl :
         | 
| 100 100 | 
             
                      l10n("#{@example_lbl} #{n[:label]}")
         | 
| @@ -112,8 +112,8 @@ module IsoDoc::Ietf | |
| 112 112 | 
             
                    div.sourcecode **attr_code(type: node["lang"], name: node["filename"],
         | 
| 113 113 | 
             
                                               markers: node["markers"],
         | 
| 114 114 | 
             
                                               src: node["src"]) do |s|
         | 
| 115 | 
            -
             | 
| 116 | 
            -
             | 
| 115 | 
            +
                                                 node.children.each { |x| parse(x, s) unless x.name == "name" }
         | 
| 116 | 
            +
                                               end
         | 
| 117 117 | 
             
                  end
         | 
| 118 118 | 
             
                end
         | 
| 119 119 |  | 
| @@ -144,12 +144,21 @@ module IsoDoc::Ietf | |
| 144 144 | 
             
                def formula_parse1(node, out)
         | 
| 145 145 | 
             
                  out.t **attr_code(anchor: node["id"]) do |p|
         | 
| 146 146 | 
             
                    parse(node.at(ns("./stem")), p)
         | 
| 147 | 
            -
                    lbl = anchor(node['id'], :label, false)
         | 
| 147 | 
            +
                    lbl = @xrefs.anchor(node['id'], :label, false)
         | 
| 148 148 | 
             
                    lbl.nil? or
         | 
| 149 149 | 
             
                      p << "    (#{lbl})"
         | 
| 150 150 | 
             
                  end
         | 
| 151 151 | 
             
                end
         | 
| 152 152 |  | 
| 153 | 
            +
                def formula_parse(node, out)
         | 
| 154 | 
            +
                  formula_parse1(node, out)
         | 
| 155 | 
            +
                  formula_where(node.at(ns("./dl")), out)
         | 
| 156 | 
            +
                  node.children.each do |n|
         | 
| 157 | 
            +
                    next if %w(stem dl).include? n.name
         | 
| 158 | 
            +
                    parse(n, out)
         | 
| 159 | 
            +
                  end
         | 
| 160 | 
            +
                end
         | 
| 161 | 
            +
             | 
| 153 162 | 
             
                def quote_attribution(node)
         | 
| 154 163 | 
             
                  author = node&.at(ns("./author"))&.text
         | 
| 155 164 | 
             
                  source = node&.at(ns("./source/@uri"))&.text
         | 
    
        data/lib/isodoc/ietf/front.rb
    CHANGED
    
    
    
        data/lib/isodoc/ietf/inline.rb
    CHANGED
    
    | @@ -120,11 +120,15 @@ module IsoDoc::Ietf | |
| 120 120 |  | 
| 121 121 | 
             
                def eref_parse(node, out)
         | 
| 122 122 | 
             
                  linkend = node.children.reject { |c| %w{locality localityStack}.include? c.name }
         | 
| 123 | 
            +
                  relative = node["relative"] ||
         | 
| 124 | 
            +
                    node.at(ns(".//locality[@type = 'anchor']/referenceFrom"))&.text || ""
         | 
| 123 125 | 
             
                  section = eref_clause(node.xpath(ns("./locality | ./localityStack")), nil) || ""
         | 
| 126 | 
            +
                  section = "" if relative.empty?
         | 
| 124 127 | 
             
                  out.relref **attr_code(target: node["bibitemid"], section: section,
         | 
| 128 | 
            +
                                         relative: relative,
         | 
| 125 129 | 
             
                                         displayFormat: node["displayFormat"]) do |l|
         | 
| 126 | 
            -
             | 
| 127 | 
            -
             | 
| 130 | 
            +
                                           linkend.each { |n| parse(n, l) }
         | 
| 131 | 
            +
                                         end
         | 
| 128 132 | 
             
                end
         | 
| 129 133 |  | 
| 130 134 | 
             
                def eref_clause(refs, target)
         | 
    
        data/lib/isodoc/ietf/metadata.rb
    CHANGED
    
    | @@ -19,14 +19,6 @@ module IsoDoc | |
| 19 19 | 
             
                    # = item describedby convertedfrom alternate
         | 
| 20 20 | 
             
                  end
         | 
| 21 21 |  | 
| 22 | 
            -
                  def keywords(isoxml, _out)
         | 
| 23 | 
            -
                    ret = []
         | 
| 24 | 
            -
                    isoxml.xpath(ns("//bibdata/keyword")).each do |kw|
         | 
| 25 | 
            -
                      ret << kw.text
         | 
| 26 | 
            -
                    end
         | 
| 27 | 
            -
                    set(:keywords, ret)
         | 
| 28 | 
            -
                  end
         | 
| 29 | 
            -
             | 
| 30 22 | 
             
                  def areas(isoxml, _out)
         | 
| 31 23 | 
             
                    ret = []
         | 
| 32 24 | 
             
                    isoxml.xpath(ns("//bibdata/ext/area")).each do |kw|
         | 
| @@ -45,18 +37,18 @@ module IsoDoc | |
| 45 37 | 
             
                    wg(xml)
         | 
| 46 38 | 
             
                  end
         | 
| 47 39 |  | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 40 | 
            +
                  def wg(xml)
         | 
| 41 | 
            +
                    workgroups = []
         | 
| 42 | 
            +
                    xml.xpath(ns("//bibdata/ext/editorialgroup/workgroup")).each do |wg|
         | 
| 43 | 
            +
                      workgroups << wg.text
         | 
| 52 44 | 
             
                    end
         | 
| 53 | 
            -
             | 
| 45 | 
            +
                    set(:wg, workgroups)
         | 
| 54 46 | 
             
                  end
         | 
| 55 47 |  | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 48 | 
            +
                  def doctype(isoxml, _out)
         | 
| 49 | 
            +
                    super
         | 
| 50 | 
            +
                    set(:doctype, "Rfc") if get[:doctype].nil?
         | 
| 51 | 
            +
                  end
         | 
| 60 52 | 
             
                end
         | 
| 61 53 | 
             
              end
         | 
| 62 54 | 
             
            end
         | 
| @@ -50,8 +50,9 @@ module IsoDoc::Ietf | |
| 50 50 | 
             
                      r.format nil, **attr_code(target: u.text, type: u["type"])
         | 
| 51 51 | 
             
                    end
         | 
| 52 52 | 
             
                    docidentifiers = b.xpath(ns("./docidentifier"))
         | 
| 53 | 
            -
                    id = bibitem_ref_code(b) | 
| 54 | 
            -
             | 
| 53 | 
            +
                    id = render_identifier(bibitem_ref_code(b))
         | 
| 54 | 
            +
                    !id[1].nil? and id[1] != "(NO ID)" and
         | 
| 55 | 
            +
                      r.refcontent id[1]
         | 
| 55 56 | 
             
                    docidentifiers&.each do |u|
         | 
| 56 57 | 
             
                      if %w(DOI IETF).include? u["type"]
         | 
| 57 58 | 
             
                        r.seriesInfo nil, **attr_code(value: u.text, name: u["type"])
         | 
| @@ -67,15 +68,6 @@ module IsoDoc::Ietf | |
| 67 68 | 
             
                  end
         | 
| 68 69 | 
             
                end
         | 
| 69 70 |  | 
| 70 | 
            -
                def bibitem_ref_code(b)
         | 
| 71 | 
            -
                  id =  b.at(ns("./docidentifier[not(@type = 'DOI' or @type = 'metanorma' "\
         | 
| 72 | 
            -
                                "or @type = 'ISSN' or @type = 'ISBN' or @type = 'IETF')]"))
         | 
| 73 | 
            -
                  return id if id
         | 
| 74 | 
            -
                  id = Nokogiri::XML::Node.new("docidentifier", b.document)
         | 
| 75 | 
            -
                  id << "(NO ID)"
         | 
| 76 | 
            -
                  id
         | 
| 77 | 
            -
                end
         | 
| 78 | 
            -
             | 
| 79 71 | 
             
                def relaton_to_author(b, f)
         | 
| 80 72 | 
             
                  auths = b.xpath(ns("./contributor[xmlns:role/@type = 'author' or "\
         | 
| 81 73 | 
             
                                     "xmlns:role/@type = 'editor']"))
         | 
| @@ -9,11 +9,12 @@ require_relative "./cleanup" | |
| 9 9 | 
             
            require_relative "./footnotes"
         | 
| 10 10 | 
             
            require_relative "./references"
         | 
| 11 11 | 
             
            require_relative "./section"
         | 
| 12 | 
            +
            require_relative "./xref"
         | 
| 12 13 |  | 
| 13 14 | 
             
            module IsoDoc::Ietf
         | 
| 14 15 | 
             
              class RfcConvert < ::IsoDoc::Convert
         | 
| 15 16 | 
             
                def convert1(docxml, filename, dir)
         | 
| 16 | 
            -
                   | 
| 17 | 
            +
                  @xrefs.parse docxml
         | 
| 17 18 | 
             
                  info docxml, nil
         | 
| 18 19 | 
             
                  xml = noko do |xml|
         | 
| 19 20 | 
             
                    xml.rfc **attr_code(rfc_attributes(docxml)) do |html|
         | 
| @@ -30,6 +31,10 @@ module IsoDoc::Ietf | |
| 30 31 | 
             
                  @meta = Metadata.new(lang, script, labels)
         | 
| 31 32 | 
             
                end
         | 
| 32 33 |  | 
| 34 | 
            +
                def xref_init(lang, script, klass, labels, options)
         | 
| 35 | 
            +
                    @xrefs = Xref.new(lang, script, klass, labels, options)
         | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
             | 
| 33 38 | 
             
                def extract_delims(text)
         | 
| 34 39 | 
             
                  @openmathdelim = "$$"
         | 
| 35 40 | 
             
                  @closemathdelim = "$$"
         | 
| @@ -50,10 +55,15 @@ module IsoDoc::Ietf | |
| 50 55 | 
             
                  end
         | 
| 51 56 | 
             
                end
         | 
| 52 57 |  | 
| 58 | 
            +
                 def textcleanup(docxml)
         | 
| 59 | 
            +
                  passthrough_cleanup(docxml)
         | 
| 60 | 
            +
                 end
         | 
| 61 | 
            +
             | 
| 53 62 | 
             
                def postprocess(result, filename, dir)
         | 
| 54 | 
            -
                  result = from_xhtml(cleanup(to_xhtml(result))) | 
| 63 | 
            +
                  result = from_xhtml(cleanup(to_xhtml(textcleanup(result)))).
         | 
| 64 | 
            +
                    sub(/<!DOCTYPE[^>]+>\n/, "").
         | 
| 55 65 | 
             
                    sub(/(<rfc[^<]+? )lang="[^"]+"/, "\\1")
         | 
| 56 | 
            -
                  File.open( | 
| 66 | 
            +
                  File.open(filename, "w:UTF-8") { |f| f.write(result) }
         | 
| 57 67 | 
             
                  @files_to_delete.each { |f| FileUtils.rm_rf f }
         | 
| 58 68 | 
             
                end
         | 
| 59 69 |  | 
| @@ -65,6 +75,8 @@ module IsoDoc::Ietf | |
| 65 75 | 
             
                def initialize(options)
         | 
| 66 76 | 
             
                  super
         | 
| 67 77 | 
             
                  @xinclude = options[:use_xinclude] == "true"
         | 
| 78 | 
            +
                  @format = :rfc
         | 
| 79 | 
            +
                  @suffix = "rfc.xml"
         | 
| 68 80 | 
             
                end
         | 
| 69 81 | 
             
              end
         | 
| 70 82 | 
             
            end
         | 
    
        data/lib/isodoc/ietf/section.rb
    CHANGED
    
    | @@ -60,7 +60,8 @@ module IsoDoc::Ietf | |
| 60 60 | 
             
                  {
         | 
| 61 61 | 
             
                    docName:        @meta.get[:doctype] == "Internet Draft" ? @meta.get[:docnumber] : nil,
         | 
| 62 62 | 
             
                    number:         @meta.get[:doctype].casecmp?("rfc") ? @meta.get[:docnumber] : nil,
         | 
| 63 | 
            -
                    category:        | 
| 63 | 
            +
                    category:       series2category(
         | 
| 64 | 
            +
                      docxml&.at(ns("//bibdata/series[@type = 'intended']/title"))&.text),
         | 
| 64 65 | 
             
                    ipr:            docxml&.at(ns("//bibdata/ext/ipr"))&.text,
         | 
| 65 66 | 
             
                    obsoletes:      obs,
         | 
| 66 67 | 
             
                    updates:        upd,
         | 
| @@ -78,6 +79,20 @@ module IsoDoc::Ietf | |
| 78 79 | 
             
                  }
         | 
| 79 80 | 
             
                end
         | 
| 80 81 |  | 
| 82 | 
            +
                def series2category(series)
         | 
| 83 | 
            +
                  case series&.downcase
         | 
| 84 | 
            +
                  when "standard" then "std"
         | 
| 85 | 
            +
                  when "informational" then "info"
         | 
| 86 | 
            +
                  when "experimental" then "exp"
         | 
| 87 | 
            +
                  when "bcp" then "bcp"
         | 
| 88 | 
            +
                  when "fyi" then "info"
         | 
| 89 | 
            +
                  when "full-standard" then "std"
         | 
| 90 | 
            +
                  when "historic" then "historic"
         | 
| 91 | 
            +
                  else
         | 
| 92 | 
            +
                    "std"
         | 
| 93 | 
            +
                  end
         | 
| 94 | 
            +
                end
         | 
| 95 | 
            +
             | 
| 81 96 | 
             
                def xpath_comma(xpath)
         | 
| 82 97 | 
             
                  return nil if xpath.empty?
         | 
| 83 98 | 
             
                  xpath.map { |x| x.text }.join(", ")
         | 
    
        data/lib/isodoc/ietf/table.rb
    CHANGED
    
    | @@ -1,12 +1,12 @@ | |
| 1 1 | 
             
            module IsoDoc::Ietf
         | 
| 2 2 | 
             
              class RfcConvert < ::IsoDoc::Convert
         | 
| 3 | 
            -
                def  | 
| 3 | 
            +
                def table_attrs(node)
         | 
| 4 4 | 
             
                  attr_code(anchor: node["id"], align: node["align"])
         | 
| 5 5 | 
             
                end
         | 
| 6 6 |  | 
| 7 7 | 
             
                def table_parse(node, out)
         | 
| 8 8 | 
             
                  @in_table = true
         | 
| 9 | 
            -
                  out.table ** | 
| 9 | 
            +
                  out.table **table_attrs(node) do |t|
         | 
| 10 10 | 
             
                    table_title_parse(node, out)
         | 
| 11 11 | 
             
                    thead_parse(node, t)
         | 
| 12 12 | 
             
                    tbody_parse(node, t)
         | 
    
        data/lib/isodoc/ietf/terms.rb
    CHANGED
    
    | @@ -48,18 +48,5 @@ module IsoDoc::Ietf | |
| 48 48 |  | 
| 49 49 | 
             
                def termdocsource_parse(_node, _out)
         | 
| 50 50 | 
             
                end
         | 
| 51 | 
            -
             | 
| 52 | 
            -
                def termnote_anchor_names(docxml)
         | 
| 53 | 
            -
                  docxml.xpath(ns("//term[descendant::termnote]")).each do |t|
         | 
| 54 | 
            -
                    c = Counter.new
         | 
| 55 | 
            -
                    notes = t.xpath(ns(".//termnote"))
         | 
| 56 | 
            -
                    notes.each do |n|
         | 
| 57 | 
            -
                      next if n["id"].nil? || n["id"].empty?
         | 
| 58 | 
            -
                      idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
         | 
| 59 | 
            -
                      @anchors[n["id"]] =
         | 
| 60 | 
            -
                        anchor_struct(idx, n, @note_xref_lbl, "note", false)
         | 
| 61 | 
            -
                    end
         | 
| 62 | 
            -
                  end
         | 
| 63 | 
            -
                end
         | 
| 64 51 | 
             
              end
         | 
| 65 52 | 
             
            end
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            require "isodoc"
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module IsoDoc
         | 
| 4 | 
            +
              module Ietf
         | 
| 5 | 
            +
                class Xref < IsoDoc::Xref
         | 
| 6 | 
            +
                  def termnote_anchor_names(docxml)
         | 
| 7 | 
            +
                    docxml.xpath(ns("//term[descendant::termnote]")).each do |t|
         | 
| 8 | 
            +
                      c = IsoDoc::XrefGen::Counter.new
         | 
| 9 | 
            +
                      notes = t.xpath(ns(".//termnote"))
         | 
| 10 | 
            +
                      notes.each do |n|
         | 
| 11 | 
            +
                        next if n["id"].nil? || n["id"].empty?
         | 
| 12 | 
            +
                        idx = notes.size == 1 ? "" : " #{c.increment(n).print}"
         | 
| 13 | 
            +
                        @anchors[n["id"]] =
         | 
| 14 | 
            +
                          anchor_struct(idx, n, @labels["note_xref"], "note", false)
         | 
| 15 | 
            +
                      end
         | 
| 16 | 
            +
                    end
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
                end
         | 
| 19 | 
            +
              end
         | 
| 20 | 
            +
            end
         | 
| @@ -52,10 +52,11 @@ module Metanorma | |
| 52 52 | 
             
                    !which("xml2rfc").nil?
         | 
| 53 53 | 
             
                  end
         | 
| 54 54 |  | 
| 55 | 
            -
                  def output(isodoc_node, outname, format, options={})
         | 
| 55 | 
            +
                  def output(isodoc_node, inname, outname, format, options={})
         | 
| 56 56 | 
             
                    case format
         | 
| 57 57 | 
             
                    when :rfc
         | 
| 58 | 
            -
                       | 
| 58 | 
            +
                      outname ||= inname.sub(/\.xml$/, ".rfc.xml")
         | 
| 59 | 
            +
                      IsoDoc::Ietf::RfcConvert.new(options).convert(inname, isodoc_node, nil, outname)
         | 
| 59 60 | 
             
                      @done_rfc = true
         | 
| 60 61 |  | 
| 61 62 | 
             
                    when :txt
         | 
| @@ -64,9 +65,10 @@ module Metanorma | |
| 64 65 | 
             
                        return
         | 
| 65 66 | 
             
                      end
         | 
| 66 67 |  | 
| 67 | 
            -
                      rfcname =  | 
| 68 | 
            -
                      output(isodoc_node,  | 
| 68 | 
            +
                      rfcname = inname.sub(/\.xml$/, ".rfc.xml")
         | 
| 69 | 
            +
                      output(isodoc_node, inname, rfcname, :rfc, options) unless @done_rfc
         | 
| 69 70 |  | 
| 71 | 
            +
                      outname ||= inname.sub(/\.xml$/, ".txt")
         | 
| 70 72 | 
             
                      system("xml2rfc --text #{rfcname} -o #{outname}")
         | 
| 71 73 |  | 
| 72 74 | 
             
                    when :pdf
         | 
| @@ -75,9 +77,10 @@ module Metanorma | |
| 75 77 | 
             
                        return
         | 
| 76 78 | 
             
                      end
         | 
| 77 79 |  | 
| 78 | 
            -
                      rfcname =  | 
| 79 | 
            -
                      output(isodoc_node,  | 
| 80 | 
            +
                      rfcname = inname.sub(/\.xml$/, ".rfc.xml")
         | 
| 81 | 
            +
                      output(isodoc_node, inname, rfcname, :rfc, options) unless @done_rfc
         | 
| 80 82 |  | 
| 83 | 
            +
                      outname ||= inname.sub(/\.xml$/, ".pdf")
         | 
| 81 84 | 
             
                      system("xml2rfc --pdf #{rfcname} -o #{outname}")
         | 
| 82 85 |  | 
| 83 86 | 
             
                    when :html
         | 
| @@ -86,9 +89,10 @@ module Metanorma | |
| 86 89 | 
             
                        return
         | 
| 87 90 | 
             
                      end
         | 
| 88 91 |  | 
| 89 | 
            -
                      rfcname =  | 
| 90 | 
            -
                      output(isodoc_node,  | 
| 92 | 
            +
                      rfcname = inname.sub(/\.xml$/, ".rfc.xml")
         | 
| 93 | 
            +
                      output(isodoc_node, inname, rfcname, :rfc, options) unless @done_rfc
         | 
| 91 94 |  | 
| 95 | 
            +
                      outname ||= inname.sub(/\.xml$/, ".html")
         | 
| 92 96 | 
             
                      system("xml2rfc --html #{rfcname} -o #{outname}")
         | 
| 93 97 |  | 
| 94 98 | 
             
                    else
         | 
    
        data/metanorma-ietf.gemspec
    CHANGED
    
    | @@ -35,8 +35,8 @@ Gem::Specification.new do |spec| | |
| 35 35 | 
             
              spec.require_paths = ["lib"]
         | 
| 36 36 | 
             
              spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
         | 
| 37 37 |  | 
| 38 | 
            -
              spec.add_dependency "metanorma-standoc", "~> 1. | 
| 39 | 
            -
              spec.add_dependency "isodoc", "~> 1. | 
| 38 | 
            +
              spec.add_dependency "metanorma-standoc", "~> 1.4.0"
         | 
| 39 | 
            +
              spec.add_dependency "isodoc", "~> 1.1.0"
         | 
| 40 40 | 
             
              spec.add_dependency "mathml2asciimath"
         | 
| 41 41 |  | 
| 42 42 | 
             
              spec.add_development_dependency "byebug"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: metanorma-ietf
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.0 | 
| 4 | 
            +
              version: 2.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ribose Inc.
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2020- | 
| 11 | 
            +
            date: 2020-06-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: metanorma-standoc
         | 
| @@ -16,28 +16,28 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 1. | 
| 19 | 
            +
                    version: 1.4.0
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: 1. | 
| 26 | 
            +
                    version: 1.4.0
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: isodoc
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - "~>"
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version: 1. | 
| 33 | 
            +
                    version: 1.1.0
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - "~>"
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version: 1. | 
| 40 | 
            +
                    version: 1.1.0
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: mathml2asciimath
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -269,6 +269,7 @@ files: | |
| 269 269 | 
             
            - lib/isodoc/ietf/section.rb
         | 
| 270 270 | 
             
            - lib/isodoc/ietf/table.rb
         | 
| 271 271 | 
             
            - lib/isodoc/ietf/terms.rb
         | 
| 272 | 
            +
            - lib/isodoc/ietf/xref.rb
         | 
| 272 273 | 
             
            - lib/metanorma-ietf.rb
         | 
| 273 274 | 
             
            - lib/metanorma/ietf.rb
         | 
| 274 275 | 
             
            - lib/metanorma/ietf/processor.rb
         | 
| @@ -281,7 +282,7 @@ homepage: https://github.com/metanorma/metanorma-ietf | |
| 281 282 | 
             
            licenses:
         | 
| 282 283 | 
             
            - BSD-2-Clause
         | 
| 283 284 | 
             
            metadata: {}
         | 
| 284 | 
            -
            post_install_message: | 
| 285 | 
            +
            post_install_message:
         | 
| 285 286 | 
             
            rdoc_options: []
         | 
| 286 287 | 
             
            require_paths:
         | 
| 287 288 | 
             
            - lib
         | 
| @@ -296,9 +297,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 296 297 | 
             
                - !ruby/object:Gem::Version
         | 
| 297 298 | 
             
                  version: '0'
         | 
| 298 299 | 
             
            requirements: []
         | 
| 299 | 
            -
             | 
| 300 | 
            -
             | 
| 301 | 
            -
            signing_key: 
         | 
| 300 | 
            +
            rubygems_version: 3.0.3
         | 
| 301 | 
            +
            signing_key:
         | 
| 302 302 | 
             
            specification_version: 4
         | 
| 303 303 | 
             
            summary: metanorma-ietf lets you write IETF documents, such as Internet-Drafts and
         | 
| 304 304 | 
             
              RFCs, in AsciiDoc.
         |