Class: Metanorma::M3AAWG::Converter
- Inherits:
-
Generic::Converter
- Object
- Generic::Converter
- Metanorma::M3AAWG::Converter
- Defined in:
- lib/metanorma/m3aawg/converter.rb
Constant Summary collapse
- XML_ROOT_TAG =
"m3d-standard".freeze
- XML_NAMESPACE =
"https://www.metanorma.org/ns/m3d".freeze
Instance Method Summary collapse
- #configuration ⇒ Object
- #doc_converter(node) ⇒ Object
- #html_converter(node) ⇒ Object
- #makexml(node) ⇒ Object
- #metadata_committee(node, xml) ⇒ Object
- #outputs(node, ret) ⇒ Object
- #pdf_converter(node) ⇒ Object
- #presentation_xml_converter(node) ⇒ Object
- #sections_cleanup(xml) ⇒ Object
Instance Method Details
#configuration ⇒ Object
27 28 29 |
# File 'lib/metanorma/m3aawg/converter.rb', line 27 def configuration Metanorma::M3AAWG.configuration end |
#doc_converter(node) ⇒ Object
62 63 64 |
# File 'lib/metanorma/m3aawg/converter.rb', line 62 def doc_converter(node) IsoDoc::M3AAWG::WordConvert.new(doc_extract_attributes(node)) end |
#html_converter(node) ⇒ Object
58 59 60 |
# File 'lib/metanorma/m3aawg/converter.rb', line 58 def html_converter(node) IsoDoc::M3AAWG::HtmlConvert.new(html_extract_attributes(node)) end |
#makexml(node) ⇒ Object
31 32 33 34 |
# File 'lib/metanorma/m3aawg/converter.rb', line 31 def makexml(node) @draft = node.attributes.has_key?("draft") super end |
#metadata_committee(node, xml) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/metanorma/m3aawg/converter.rb', line 12 def (node, xml) return unless node.attr("technical-committee") xml.editorialgroup do |a| a.committee node.attr("technical-committee"), **attr_code(type: node.attr("technical-committee-type")) i = 2 while node.attr("technical-committee_#{i}") a.committee node.attr("technical-committee_#{i}"), **attr_code(type: node.attr("technical-committee-type_#{i}")) i += 1 end end end |
#outputs(node, ret) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/metanorma/m3aawg/converter.rb', line 36 def outputs(node, ret) File.open("#{@filename}.xml", "w:UTF-8") { |f| f.write(ret) } presentation_xml_converter(node).convert("#{@filename}.xml") html_converter(node).convert("#{@filename}.presentation.xml", nil, false, "#{@filename}.html") doc_converter(node).convert("#{@filename}.presentation.xml", nil, false, "#{@filename}.doc") pdf_converter(node)&.convert("#{@filename}.presentation.xml", nil, false, "#{@filename}.pdf") end |
#pdf_converter(node) ⇒ Object
66 67 68 69 70 |
# File 'lib/metanorma/m3aawg/converter.rb', line 66 def pdf_converter(node) return nil if node.attr("no-pdf") IsoDoc::M3AAWG::PdfConvert.new(pdf_extract_attributes(node)) end |
#presentation_xml_converter(node) ⇒ Object
54 55 56 |
# File 'lib/metanorma/m3aawg/converter.rb', line 54 def presentation_xml_converter(node) IsoDoc::M3AAWG::PresentationXMLConvert.new(html_extract_attributes(node)) end |
#sections_cleanup(xml) ⇒ Object
47 48 49 50 51 52 |
# File 'lib/metanorma/m3aawg/converter.rb', line 47 def sections_cleanup(xml) super xml.xpath("//*[@inline-header]").each do |h| h.delete("inline-header") end end |