metanorma 1.5.6 → 1.5.7
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/lib/metanorma/collection.rb +41 -2
- data/lib/metanorma/collection_fileparse.rb +23 -17
- data/lib/metanorma/collection_fileprocess.rb +14 -2
- data/lib/metanorma/collection_renderer.rb +13 -5
- data/lib/metanorma/document.rb +18 -1
- data/lib/metanorma/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 5a628508e5ba0e2e1d2ec4b77aa35866e67990ca67b38e34278e877b6e2ebee2
         | 
| 4 | 
            +
              data.tar.gz: c6022674620272b5de0111fe182781b8d18d01bceb38c99b0eae92ad3a1265b6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e8dbe50e863d2ae58969dcccb4302425b2f1acca6a3200f3395b069bace35d57376d7b3fc054e99573f6cf4da8ff21539eb233ae6163b85894169247dd010634
         | 
| 7 | 
            +
              data.tar.gz: 2590266e459d6f211470f5a6f3f282e78e06c5728780871ccf24e2c5069871c9c49fb37d32286cca6218f85ea21435e8c8b40437e07aca8cc2de673e65a71649
         | 
    
        data/lib/metanorma/collection.rb
    CHANGED
    
    | @@ -17,7 +17,7 @@ module Metanorma | |
| 17 17 | 
             
                attr_accessor :directives
         | 
| 18 18 |  | 
| 19 19 | 
             
                # @return [Hash<String, Metanorma::Document>]
         | 
| 20 | 
            -
                attr_accessor :documents, :bibdatas
         | 
| 20 | 
            +
                attr_accessor :documents, :bibdatas, :coverpage
         | 
| 21 21 |  | 
| 22 22 | 
             
                attr_accessor :disambig, :manifest
         | 
| 23 23 |  | 
| @@ -28,6 +28,7 @@ module Metanorma | |
| 28 28 | 
             
                # @param manifest [Metanorma::CollectionManifest]
         | 
| 29 29 | 
             
                # @param documents [Hash<String, Metanorma::Document>]
         | 
| 30 30 | 
             
                # @param prefatory [String]
         | 
| 31 | 
            +
                # @param coverpage [String]
         | 
| 31 32 | 
             
                # @param final [String]
         | 
| 32 33 | 
             
                # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
         | 
| 33 34 | 
             
                def initialize(**args)
         | 
| @@ -36,6 +37,10 @@ module Metanorma | |
| 36 37 | 
             
                  @bibdata = args[:bibdata]
         | 
| 37 38 | 
             
                  @manifest = args[:manifest]
         | 
| 38 39 | 
             
                  @manifest.collection = self
         | 
| 40 | 
            +
                  c = @directives.detect { |x| x.is_a?(Hash) && x["coverpage"] }
         | 
| 41 | 
            +
                  c and @coverpage = c["coverpage"]
         | 
| 42 | 
            +
                  c = @directives.detect { |x| x.is_a?(Hash) && x["coverpage-style"] }
         | 
| 43 | 
            +
                  c and @coverpage_style = c["coverpage-style"]
         | 
| 39 44 | 
             
                  @documents = args[:documents] || {}
         | 
| 40 45 | 
             
                  @bibdatas = args[:documents] || {}
         | 
| 41 46 | 
             
                  if @documents.any? && !@directives.include?("documents-inline")
         | 
| @@ -68,12 +73,29 @@ module Metanorma | |
| 68 73 |  | 
| 69 74 | 
             
                def collection_body(coll)
         | 
| 70 75 | 
             
                  coll << @bibdata.to_xml(bibdata: true, date_format: :full)
         | 
| 76 | 
            +
                  @directives.each do |d|
         | 
| 77 | 
            +
                    coll << "<directives>#{obj_to_xml(d)}</directives>"
         | 
| 78 | 
            +
                  end
         | 
| 71 79 | 
             
                  @manifest.to_xml coll
         | 
| 72 80 | 
             
                  content_to_xml "prefatory", coll
         | 
| 73 81 | 
             
                  doccontainer coll
         | 
| 74 82 | 
             
                  content_to_xml "final", coll
         | 
| 75 83 | 
             
                end
         | 
| 76 84 |  | 
| 85 | 
            +
                def obj_to_xml(elem)
         | 
| 86 | 
            +
                  case elem
         | 
| 87 | 
            +
                  when ::Array
         | 
| 88 | 
            +
                    elem.each_with_object([]) do |v, m|
         | 
| 89 | 
            +
                      m << "<value>#{obj_to_xml(v)}</value>"
         | 
| 90 | 
            +
                    end.join
         | 
| 91 | 
            +
                  when ::Hash
         | 
| 92 | 
            +
                    elem.each_with_object([]) do |(k, v), m|
         | 
| 93 | 
            +
                      m << "<#{k}>#{obj_to_xml(v)}</#{k}>"
         | 
| 94 | 
            +
                    end.join
         | 
| 95 | 
            +
                  else elem
         | 
| 96 | 
            +
                  end
         | 
| 97 | 
            +
                end
         | 
| 98 | 
            +
             | 
| 77 99 | 
             
                def render(opts)
         | 
| 78 100 | 
             
                  CollectionRenderer.render self, opts.merge(log: @log)
         | 
| 79 101 | 
             
                  clean_exit
         | 
| @@ -100,10 +122,27 @@ module Metanorma | |
| 100 122 | 
             
                    mnf = CollectionManifest.from_xml mnf_xml
         | 
| 101 123 | 
             
                    pref = pref_final_content xml.at("//xmlns:prefatory-content")
         | 
| 102 124 | 
             
                    fnl = pref_final_content xml.at("//xmlns:final-content")
         | 
| 125 | 
            +
                    cov = pref_final_content xml.at("//xmlns:coverpage")
         | 
| 103 126 | 
             
                    new(file: file, bibdata: bd, manifest: mnf,
         | 
| 127 | 
            +
                        directives: directives_from_xml(xml.xpath("//xmlns:directives")),
         | 
| 104 128 | 
             
                        documents: docs_from_xml(xml, mnf),
         | 
| 105 129 | 
             
                        bibdatas: docs_from_xml(xml, mnf),
         | 
| 106 | 
            -
                        prefatory: pref, final: fnl)
         | 
| 130 | 
            +
                        prefatory: pref, final: fnl, coverpage: cov)
         | 
| 131 | 
            +
                  end
         | 
| 132 | 
            +
             | 
| 133 | 
            +
                  # TODO refine
         | 
| 134 | 
            +
                  def directives_from_xml(dir)
         | 
| 135 | 
            +
                    dir.each_with_object([]) do |d, m|
         | 
| 136 | 
            +
                      if d.at("./xmlns:value")
         | 
| 137 | 
            +
                        m << x.xpath("./xmlns:value").map(&:text)
         | 
| 138 | 
            +
                      elsif d.at("./*")
         | 
| 139 | 
            +
                        out = d.elements.each_with_object({}) do |e, ret|
         | 
| 140 | 
            +
                          ret[e.name] = e.children.to_xml
         | 
| 141 | 
            +
                        end
         | 
| 142 | 
            +
                        m << out
         | 
| 143 | 
            +
                      else m << d.children.to_xml
         | 
| 144 | 
            +
                      end
         | 
| 145 | 
            +
                    end
         | 
| 107 146 | 
             
                  end
         | 
| 108 147 |  | 
| 109 148 | 
             
                  def parse_yaml(file)
         | 
| @@ -54,9 +54,9 @@ module Metanorma | |
| 54 54 | 
             
                  # IDs for repo references are untyped by default
         | 
| 55 55 | 
             
                  docid = bib.at(ns("./docidentifier[not(@type)]")) ||
         | 
| 56 56 | 
             
                    bib.at(ns("./docidentifier"))
         | 
| 57 | 
            -
                  docid &&=  | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 57 | 
            +
                  docid &&= @c.decode(@isodoc
         | 
| 58 | 
            +
                      .docid_prefix(docid["type"], docid.children.to_xml))
         | 
| 59 | 
            +
                  if @files[docid] then docid
         | 
| 60 60 | 
             
                  else
         | 
| 61 61 | 
             
                    fail_update_bibitem(docid, identifier)
         | 
| 62 62 | 
             
                    nil
         | 
| @@ -111,11 +111,12 @@ module Metanorma | |
| 111 111 | 
             
                  docxml.xpath(ns("//bibitem[not(ancestor::bibitem)]")).each do |b|
         | 
| 112 112 | 
             
                    next if b&.at(ns("./docidentifier[@type = 'repository']"))
         | 
| 113 113 |  | 
| 114 | 
            -
                    b.xpath(ns("./docidentifier")).each do | | 
| 115 | 
            -
                       | 
| 116 | 
            -
             | 
| 117 | 
            -
                       | 
| 118 | 
            -
             | 
| 114 | 
            +
                    b.xpath(ns("./docidentifier")).each do |docid|
         | 
| 115 | 
            +
                      id = @c.decode(@isodoc
         | 
| 116 | 
            +
                      .docid_prefix(docid["type"], docid.children.to_xml))
         | 
| 117 | 
            +
                      @files[id] or next
         | 
| 118 | 
            +
                      docid.next = "<docidentifier type='repository'>" \
         | 
| 119 | 
            +
                                   "current-metanorma-collection/#{id}"
         | 
| 119 120 | 
             
                    end
         | 
| 120 121 | 
             
                  end
         | 
| 121 122 | 
             
                end
         | 
| @@ -154,16 +155,21 @@ module Metanorma | |
| 154 155 | 
             
                def update_direct_refs_to_docs(docxml, identifier)
         | 
| 155 156 | 
             
                  erefs = collect_erefs(docxml)
         | 
| 156 157 | 
             
                  docxml.xpath(ns("//bibitem[not(ancestor::bibitem)]")).each do |b|
         | 
| 157 | 
            -
                    docid = b.at(ns("./docidentifier[@type = 'repository']")) | 
| 158 | 
            -
                     | 
| 159 | 
            -
             | 
| 158 | 
            +
                    docid = b.at(ns("./docidentifier[@type = 'repository']"))
         | 
| 159 | 
            +
                    (docid && %r{^current-metanorma-collection/}.match(docid.text)) or next
         | 
| 160 160 | 
             
                    update_bibitem(b, identifier)
         | 
| 161 | 
            -
                    docid = b | 
| 162 | 
            -
                    docid = docid.children.to_xml
         | 
| 161 | 
            +
                    docid = docid_to_citeas(b) or next
         | 
| 163 162 | 
             
                    erefs[:citeas][docid] and update_anchors(b, docxml, docid)
         | 
| 164 163 | 
             
                  end
         | 
| 165 164 | 
             
                end
         | 
| 166 165 |  | 
| 166 | 
            +
                def docid_to_citeas(bib)
         | 
| 167 | 
            +
                  docid = bib.at(ns("./docidentifier[@primary = 'true']")) ||
         | 
| 168 | 
            +
                    bib.at(ns("./docidentifier")) or return
         | 
| 169 | 
            +
                  @c.decode(@isodoc
         | 
| 170 | 
            +
                      .docid_prefix(docid["type"], docid.children.to_xml))
         | 
| 171 | 
            +
                end
         | 
| 172 | 
            +
             | 
| 167 173 | 
             
                def collect_erefs(docxml)
         | 
| 168 174 | 
             
                  docxml.xpath(ns("//eref"))
         | 
| 169 175 | 
             
                    .each_with_object({ citeas: {}, bibitemid: {} }) do |i, m|
         | 
| @@ -211,7 +217,7 @@ module Metanorma | |
| 211 217 | 
             
                  loc = eref.at(ns(".//locality[@type = 'anchor']")) or
         | 
| 212 218 | 
             
                    return update_anchor_create_loc(bib, eref, docid)
         | 
| 213 219 | 
             
                  document_suffix = Metanorma::Utils::to_ncname(docid)
         | 
| 214 | 
            -
                  ref = loc.at(ns("./referenceFrom"))  | 
| 220 | 
            +
                  ref = loc.at(ns("./referenceFrom")) or return
         | 
| 215 221 | 
             
                  anchor = "#{ref.text}_#{document_suffix}"
         | 
| 216 222 | 
             
                  return unless @files[docid][:anchors].inject([]) do |m, (_, x)|
         | 
| 217 223 | 
             
                    m += x.values
         | 
| @@ -235,8 +241,7 @@ module Metanorma | |
| 235 241 | 
             
                # gather internal bibitem references
         | 
| 236 242 | 
             
                def gather_internal_refs
         | 
| 237 243 | 
             
                  @files.each_with_object({}) do |(_, x), refs|
         | 
| 238 | 
            -
                     | 
| 239 | 
            -
             | 
| 244 | 
            +
                    x[:attachment] and next
         | 
| 240 245 | 
             
                    file, = targetfile(x, read: true)
         | 
| 241 246 | 
             
                    Nokogiri::XML(file)
         | 
| 242 247 | 
             
                      .xpath(ns("//bibitem[@type = 'internal']/" \
         | 
| @@ -253,7 +258,8 @@ module Metanorma | |
| 253 258 | 
             
                def locate_internal_refs
         | 
| 254 259 | 
             
                  refs = gather_internal_refs
         | 
| 255 260 | 
             
                  @files.keys.reject { |k| @files[k][:attachment] }.each do |identifier|
         | 
| 256 | 
            -
                     | 
| 261 | 
            +
                    id = @c.decode(@isodoc.docid_prefix("", identifier.dup))
         | 
| 262 | 
            +
                    locate_internal_refs1(refs, identifier, @files[id])
         | 
| 257 263 | 
             
                  end
         | 
| 258 264 | 
             
                  refs.each do |schema, ids|
         | 
| 259 265 | 
             
                    ids.each do |id, key|
         | 
| @@ -15,8 +15,10 @@ module Metanorma | |
| 15 15 | 
             
                def read_files(path) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
         | 
| 16 16 | 
             
                  files = {}
         | 
| 17 17 | 
             
                  @xml.xpath(ns("//docref")).each do |d|
         | 
| 18 | 
            -
                     | 
| 19 | 
            -
                     | 
| 18 | 
            +
                    orig_id = d.at(ns("./identifier"))
         | 
| 19 | 
            +
                    identifier = @c.decode(@isodoc
         | 
| 20 | 
            +
                              .docid_prefix(orig_id["type"], orig_id.children.to_xml))
         | 
| 21 | 
            +
                    files[identifier] = file_entry(d, orig_id.children.to_xml, path)
         | 
| 20 22 | 
             
                    if files[identifier][:attachment]
         | 
| 21 23 | 
             
                      files[identifier][:bibdata] = Metanorma::Document
         | 
| 22 24 | 
             
                        .attachment_bibitem(identifier).root
         | 
| @@ -95,6 +97,7 @@ module Metanorma | |
| 95 97 | 
             
                # rel_path is the source file address, determined relative to the YAML.
         | 
| 96 98 | 
             
                # out_path is the destination file address, with any references outside
         | 
| 97 99 | 
             
                # the working directory (../../...) truncated
         | 
| 100 | 
            +
                # identifier is the id with only spaces, no nbsp
         | 
| 98 101 | 
             
                def file_entry(ref, identifier, _path)
         | 
| 99 102 | 
             
                  out = ref["attachment"] ? ref["fileref"] : File.basename(ref["fileref"])
         | 
| 100 103 | 
             
                  ret = if ref["fileref"]
         | 
| @@ -122,6 +125,15 @@ module Metanorma | |
| 122 125 | 
             
                  Metanorma::Utils::anchor_attributes.each do |(tag_name, attribute_name)|
         | 
| 123 126 | 
             
                    add_suffix_to_attributes(doc, document_suffix, tag_name, attribute_name)
         | 
| 124 127 | 
             
                  end
         | 
| 128 | 
            +
                  url_in_css_styles(doc, document_suffix)
         | 
| 129 | 
            +
                end
         | 
| 130 | 
            +
             | 
| 131 | 
            +
                # update relative URLs, url(#...), in CSS in @style attrs (including SVG)
         | 
| 132 | 
            +
                def url_in_css_styles(doc, document_suffix)
         | 
| 133 | 
            +
                  doc.xpath("//*[@style]").each do |s|
         | 
| 134 | 
            +
                    s["style"] = s["style"]
         | 
| 135 | 
            +
                      .gsub(%r{url\(#([^)]+)\)}, "url(#\\1_#{document_suffix})")
         | 
| 136 | 
            +
                  end
         | 
| 125 137 | 
             
                end
         | 
| 126 138 |  | 
| 127 139 | 
             
                # return file contents + output filename for each file in the collection,
         | 
| @@ -1,6 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            require "isodoc"
         | 
| 4 | 
            +
            require "htmlentities"
         | 
| 4 5 | 
             
            require_relative "collection_fileprocess"
         | 
| 5 6 | 
             
            require_relative "fontist_utils"
         | 
| 6 7 | 
             
            require_relative "util"
         | 
| @@ -35,7 +36,7 @@ module Metanorma | |
| 35 36 |  | 
| 36 37 | 
             
                  @isodoc = isodoc_create # output processor for flavour
         | 
| 37 38 | 
             
                  @outdir = dir_name_cleanse(options[:output_folder])
         | 
| 38 | 
            -
                  @coverpage = options[:coverpage]
         | 
| 39 | 
            +
                  @coverpage = options[:coverpage] || collection.coverpage
         | 
| 39 40 | 
             
                  @format = Util.sort_extensions_execution(options[:format])
         | 
| 40 41 | 
             
                  @compile_options = options[:compile] || {}
         | 
| 41 42 | 
             
                  @compile_options[:no_install_fonts] = true if options[:no_install_fonts]
         | 
| @@ -45,6 +46,7 @@ module Metanorma | |
| 45 46 | 
             
                  @directives = collection.directives
         | 
| 46 47 | 
             
                  @disambig = Util::DisambigFiles.new
         | 
| 47 48 | 
             
                  @compile = Compile.new
         | 
| 49 | 
            +
                  @c = HTMLEntities.new
         | 
| 48 50 |  | 
| 49 51 | 
             
                  # list of files in the collection
         | 
| 50 52 | 
             
                  @files = read_files folder
         | 
| @@ -97,7 +99,8 @@ module Metanorma | |
| 97 99 |  | 
| 98 100 | 
             
                def concatenate1(out, ext)
         | 
| 99 101 | 
             
                  out.directives << "documents-inline"
         | 
| 100 | 
            -
                  out.bibdatas.each_key do | | 
| 102 | 
            +
                  out.bibdatas.each_key do |ident|
         | 
| 103 | 
            +
                    id = @c.decode(@isodoc.docid_prefix(nil, ident.dup))
         | 
| 101 104 | 
             
                    @files[id][:attachment] || @files[id][:outputs].nil? and next
         | 
| 102 105 |  | 
| 103 106 | 
             
                    out.documents[id] =
         | 
| @@ -148,7 +151,8 @@ module Metanorma | |
| 148 151 | 
             
                  isodoc.meta.set(:navigation, indexfile(@xml.at(ns("//manifest"))))
         | 
| 149 152 | 
             
                  isodoc.meta.set(:docrefs, liquid_docrefs)
         | 
| 150 153 | 
             
                  isodoc.meta.set(:"prefatory-content",
         | 
| 151 | 
            -
                                  isodoc_builder(isodoc, | 
| 154 | 
            +
                                  isodoc_builder(isodoc,
         | 
| 155 | 
            +
                                                 @xml.at(ns("//prefatory-content"))))
         | 
| 152 156 | 
             
                  isodoc.meta.set(:"final-content",
         | 
| 153 157 | 
             
                                  isodoc_builder(isodoc, @xml.at(ns("//final-content"))))
         | 
| 154 158 | 
             
                  isodoc.info(@xml, nil)
         | 
| @@ -156,7 +160,7 @@ module Metanorma | |
| 156 160 | 
             
                end
         | 
| 157 161 |  | 
| 158 162 | 
             
                def isodoc_builder(isodoc, node)
         | 
| 159 | 
            -
                  Nokogiri::HTML::Builder.new do |b|
         | 
| 163 | 
            +
                  Nokogiri::HTML::Builder.new(encoding: "UTF-8") do |b|
         | 
| 160 164 | 
             
                    b.div do |div|
         | 
| 161 165 | 
             
                      node&.children&.each { |n| isodoc.parse(n, div) }
         | 
| 162 166 | 
             
                    end
         | 
| @@ -212,9 +216,12 @@ module Metanorma | |
| 212 216 | 
             
                def docrefs(elm, builder)
         | 
| 213 217 | 
             
                  elm.xpath(ns("./docref[@index = 'true']")).each do |d|
         | 
| 214 218 | 
             
                    ident = d.at(ns("./identifier")).children.to_xml
         | 
| 219 | 
            +
                    ident = @c.decode(@isodoc.docid_prefix(nil, ident))
         | 
| 215 220 | 
             
                    builder.li do |li|
         | 
| 216 221 | 
             
                      li.a href: index_link(d, ident) do |a|
         | 
| 217 | 
            -
                        a << ident
         | 
| 222 | 
            +
                        a << ident.split(/([<>&])/).map do |x|
         | 
| 223 | 
            +
                          /[<>&]/.match?(x) ? x : @c.encode(x, :hexadecimal)
         | 
| 224 | 
            +
                        end.join
         | 
| 218 225 | 
             
                      end
         | 
| 219 226 | 
             
                    end
         | 
| 220 227 | 
             
                  end
         | 
| @@ -250,6 +257,7 @@ module Metanorma | |
| 250 257 | 
             
                def liquid_docrefs
         | 
| 251 258 | 
             
                  @xml.xpath(ns("//docref[@index = 'true']")).each_with_object([]) do |d, m|
         | 
| 252 259 | 
             
                    ident = d.at(ns("./identifier")).children.to_xml
         | 
| 260 | 
            +
                    ident = @c.decode(@isodoc.docid_prefix(nil, ident))
         | 
| 253 261 | 
             
                    title = d.at(ns("./bibdata/title[@type = 'main']")) ||
         | 
| 254 262 | 
             
                      d.at(ns("./bibdata/title")) || d.at(ns("./title"))
         | 
| 255 263 | 
             
                    m << { "identifier" => ident, "file" => index_link(d, ident),
         | 
    
        data/lib/metanorma/document.rb
    CHANGED
    
    | @@ -47,10 +47,27 @@ module Metanorma | |
| 47 47 |  | 
| 48 48 | 
             
                  private
         | 
| 49 49 |  | 
| 50 | 
            +
                  def mn2relaton_parser(tag)
         | 
| 51 | 
            +
                    case tag.sub(/-standard/, "")
         | 
| 52 | 
            +
                    when "bipm" then RelatonBipm::XMLParser
         | 
| 53 | 
            +
                    when "bsi" then RelatonBsi::XMLParser
         | 
| 54 | 
            +
                    when "ietf" then RelatonIetf::XMLParser
         | 
| 55 | 
            +
                    when "iho" then RelatonIho::XMLParser
         | 
| 56 | 
            +
                    when "itu" then RelatonItu::XMLParser
         | 
| 57 | 
            +
                    when "iec" then RelatonIec::XMLParser
         | 
| 58 | 
            +
                    when "iso" then RelatonIsoBib::XMLParser
         | 
| 59 | 
            +
                    when "nist" then RelatonNist::XMLParser
         | 
| 60 | 
            +
                    when "ogc" then RelatonOgc::XMLParser
         | 
| 61 | 
            +
                    else RelatonBib::XMLParser
         | 
| 62 | 
            +
                    end
         | 
| 63 | 
            +
                  end
         | 
| 64 | 
            +
             | 
| 50 65 | 
             
                  # #param xml [Nokogiri::XML::Document, Nokogiri::XML::Element]
         | 
| 51 66 | 
             
                  # @return [RelatonBib::BibliographicItem,RelatonIso::IsoBibliographicItem]
         | 
| 52 67 | 
             
                  def from_xml(xml)
         | 
| 53 | 
            -
                     | 
| 68 | 
            +
                    b = xml.at("//xmlns:bibitem|//xmlns:bibdata")
         | 
| 69 | 
            +
                    r = mn2relaton_parser(xml.root.name)
         | 
| 70 | 
            +
                    r.from_xml(b.to_xml)
         | 
| 54 71 | 
             
                  end
         | 
| 55 72 |  | 
| 56 73 | 
             
                  # @param file [String]
         | 
    
        data/lib/metanorma/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: metanorma
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.5. | 
| 4 | 
            +
              version: 1.5.7
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ribose Inc.
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2023- | 
| 11 | 
            +
            date: 2023-03-13 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: asciidoctor
         |