Sha256: e7e6849df258d9af83078c6e97ac0bb4095f65fbeb150ed776d614af0f0b23aa
Contents?: true
Size: 1.97 KB
Versions: 1
Compression:
Stored size: 1.97 KB
Contents
require_relative "./terms" require_relative "./blocks" require_relative "./metadata" require_relative "./front" require_relative "./table" require_relative "./inline" require_relative "./reqt" require_relative "./cleanup" require_relative "./footnotes" require_relative "./references" require_relative "./section" module IsoDoc::Ietf class RfcConvert < ::IsoDoc::Convert def convert1(docxml, filename, dir) anchor_names docxml info docxml, nil xml = noko do |xml| xml.rfc **attr_code(rfc_attributes(docxml)) do |html| make_link(html, docxml) make_front(html, docxml) make_middle(html, docxml) make_back(html, docxml) end end.join("\n").sub(/<!DOCTYPE[^>]+>\n/, "") set_pis(docxml, Nokogiri::XML(xml)) end def metadata_init(lang, script, labels) @meta = Metadata.new(lang, script, labels) end def extract_delims(text) @openmathdelim = "$$" @closemathdelim = "$$" while %r{#{Regexp.escape(@openmathdelim)}}m.match(text) || %r{#{Regexp.escape(@closemathdelim)}}m.match(text) @openmathdelim += "$" @closemathdelim += "$" end [@openmathdelim, @closemathdelim] end def error_parse(node, out) case node.name when "bcp14" then bcp14_parse(node, out) else text = node.to_xml.gsub(/</, "<").gsub(/>/, ">") out.t { |p| p << text } end end def postprocess(result, filename, dir) result = from_xhtml(cleanup(to_xhtml(result))).sub(/<!DOCTYPE[^>]+>\n/, ""). sub(/(<rfc[^<]+? )lang="[^"]+"/, "\\1") File.open("#{filename}.rfc.xml", "w:UTF-8") { |f| f.write(result) } @files_to_delete.each { |f| FileUtils.rm_rf f } end def init_file(filename, debug) filename = filename.sub(/\.rfc\.xml$/, ".rfc") super end def initialize(options) super @xinclude = options[:use_xinclude] == "true" @format = :rfc end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
metanorma-ietf-2.0.10 | lib/isodoc/ietf/rfc_convert.rb |