Method: Metanorma::CollectionRenderer#read_files
- Defined in:
- lib/metanorma/collection_fileprocess.rb
#read_files(path) ⇒ Hash{String=>Hash}
hash for each document in collection of document identifier to: document reference (fileref or id), type of document reference, and bibdata entry for that file
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/metanorma/collection_fileprocess.rb', line 15 def read_files(path) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength files = {} @xml.xpath(ns("//docref")).each do |d| identifier = d.at(ns("./identifier")).children.to_xml files[identifier] = file_entry(d, identifier, path) if files[identifier][:attachment] files[identifier][:bibdata] = Metanorma::Document .(identifier).root else file, _filename = targetfile(files[identifier], read: true) xml = Nokogiri::XML(file) add_document_suffix(identifier, xml) files[identifier][:anchors] = read_anchors(xml) files[identifier][:bibdata] = xml.at(ns("//bibdata")) end files[identifier][:bibitem] = files[identifier][:bibdata].dup files[identifier][:bibitem].name = "bibitem" files[identifier][:bibitem]["hidden"] = "true" files[identifier][:bibitem]&.at("./*[local-name() = 'ext']")&.remove end add_section_split(files) end |