Module: Sts::IsoSts::ContentGroups
- Extended by:
- ContentGroups::Helpers
- Defined in:
- lib/sts/iso_sts/content_groups/highlight_elements.rb
Constant Summary collapse
- HIGHLIGHT_ELEMENTS =
[ [:bold, "Sts::IsoSts::Bold", "bold"], [:italic, "Sts::IsoSts::Italic", "italic"], [:sub, "Sts::NisoSts::Sub", "sub"], [:sup, "Sts::NisoSts::Sup", "sup"], [:monospace, "Sts::NisoSts::Monospace", "monospace"], [:sc, "Sts::NisoSts::Sc", "sc"], [:std_ref, "Sts::IsoSts::StdRef", "std-ref"], [:underline, "Sts::NisoSts::Underline", "underline"], [:strike, "Sts::NisoSts::Strike", "strike"], [:xref, "Sts::TbxIsoTml::Xref", "xref"], [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"], [:fn, "Sts::TbxIsoTml::Fn", "fn"], [:styled_content, "Sts::IsoSts::StyledContent", "styled-content"], [:array, "Sts::IsoSts::Array", "array"], [:break, "Sts::IsoSts::Break", "break"], [:target, "Sts::NisoSts::Target", "target"], [:overline, "Sts::NisoSts::Overline", "overline"], [:roman, "Sts::NisoSts::Roman", "roman"], [:sans_serif, "Sts::NisoSts::SansSerif", "sans-serif"], [:ruby, "Sts::NisoSts::Ruby", "ruby"], [:named_content, "Sts::NisoSts::NamedContent", "named-content"], [:uri, "Sts::NisoSts::Uri", "uri"], [:inline_formula, "Sts::IsoSts::InlineFormula", "inline-formula"], ].freeze
- STYLED_CONTENT_ELEMENTS =
[ *HIGHLIGHT_ELEMENTS, [:disp_formula, "Sts::IsoSts::DispFormula", "disp-formula"], [:disp_formula_group, "Sts::IsoSts::DispFormula", "disp-formula-group"], [:std, "Sts::IsoSts::Std", "std"], [:graphic, "Sts::IsoSts::Graphic", "graphic"], [:list, "Sts::IsoSts::List", "list"], [:def_list, "Sts::IsoSts::DefList", "def-list"], [:fig, "Sts::IsoSts::Fig", "fig"], [:boxed_text, "Sts::NisoSts::BoxedText", "boxed-text"], [:email, "Sts::NisoSts::Email", "email"], ].freeze
- P_ELEMENTS_EXTRA =
[ [:non_normative_note, "Sts::IsoSts::NonNormativeNote", "non-normative-note"], [:non_normative_example, "Sts::IsoSts::NonNormativeExample", "non-normative-example"], [:math, "Sts::TbxIsoTml::Math", "math"], [:preformat, "Sts::IsoSts::Preformat", "preformat"], ].freeze
- PARA_LEVEL_ELEMENTS =
[ [:label, "Sts::IsoSts::Label", "label"], [:title, "Sts::IsoSts::Title", "title"], [:p, "Sts::IsoSts::Paragraph", "p"], [:list, "Sts::IsoSts::List", "list"], [:def_list, "Sts::IsoSts::DefList", "def-list"], [:disp_formula, "Sts::IsoSts::DispFormula", "disp-formula"], [:inline_formula, "Sts::IsoSts::InlineFormula", "inline-formula"], [:table_wrap, "Sts::TbxIsoTml::TableWrap", "table-wrap"], [:fig, "Sts::IsoSts::Fig", "fig"], [:non_normative_note, "Sts::IsoSts::NonNormativeNote", "non-normative-note"], [:non_normative_example, "Sts::IsoSts::NonNormativeExample", "non-normative-example"], [:preformat, "Sts::IsoSts::Preformat", "preformat"], [:styled_content, "Sts::IsoSts::StyledContent", "styled-content"], [:array, "Sts::IsoSts::Array", "array"], [:graphic, "Sts::IsoSts::Graphic", "graphic"], [:std, "Sts::IsoSts::Std", "std"], [:ref_list, "Sts::IsoSts::RefList", "ref-list"], [:fn_group, "Sts::IsoSts::FnGroup", "fn-group"], [:xref, "Sts::TbxIsoTml::Xref", "xref"], [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"], [:uri, "Sts::NisoSts::Uri", "uri"], [:sec, "Sts::IsoSts::Sec", "sec"], [:term_sec, "Sts::IsoSts::TermSec", "term-sec"], [:disp_quote, "Sts::NisoSts::DispQuote", "disp-quote"], [:fn, "Sts::TbxIsoTml::Fn", "fn"], [:editing_instruction, "Sts::NisoSts::EditingInstruction", "editing-instruction"], ].freeze
- BODY_ELEMENTS =
[ [:p, "Sts::IsoSts::Paragraph", "p"], [:sec, "Sts::IsoSts::Sec", "sec"], [:term_sec, "Sts::IsoSts::TermSec", "term-sec"], [:list, "Sts::IsoSts::List", "list"], [:def_list, "Sts::IsoSts::DefList", "def-list"], [:disp_formula, "Sts::IsoSts::DispFormula", "disp-formula"], [:table_wrap, "Sts::TbxIsoTml::TableWrap", "table-wrap"], [:fig, "Sts::IsoSts::Fig", "fig"], [:non_normative_note, "Sts::IsoSts::NonNormativeNote", "non-normative-note"], [:non_normative_example, "Sts::IsoSts::NonNormativeExample", "non-normative-example"], [:preformat, "Sts::IsoSts::Preformat", "preformat"], [:styled_content, "Sts::IsoSts::StyledContent", "styled-content"], [:array, "Sts::IsoSts::Array", "array"], [:ref_list, "Sts::IsoSts::RefList", "ref-list"], [:disp_quote, "Sts::NisoSts::DispQuote", "disp-quote"], [:editing_instruction, "Sts::NisoSts::EditingInstruction", "editing-instruction"], ].freeze
- INSIDE_CELL_ELEMENTS =
[ [:bold, "Sts::IsoSts::Bold", "bold"], [:italic, "Sts::IsoSts::Italic", "italic"], [:sub, "Sts::NisoSts::Sub", "sub"], [:sup, "Sts::NisoSts::Sup", "sup"], [:monospace, "Sts::NisoSts::Monospace", "monospace"], [:sc, "Sts::NisoSts::Sc", "sc"], [:underline, "Sts::NisoSts::Underline", "underline"], [:overline, "Sts::NisoSts::Overline", "overline"], [:roman, "Sts::NisoSts::Roman", "roman"], [:sans_serif, "Sts::NisoSts::SansSerif", "sans-serif"], [:strike, "Sts::NisoSts::Strike", "strike"], [:xref, "Sts::TbxIsoTml::Xref", "xref"], [:ext_link, "Sts::NisoSts::ExtLink", "ext-link"], [:uri, "Sts::NisoSts::Uri", "uri"], [:fn, "Sts::TbxIsoTml::Fn", "fn"], [:styled_content, "Sts::IsoSts::StyledContent", "styled-content"], [:array, "Sts::IsoSts::Array", "array"], [:break, "Sts::IsoSts::Break", "break"], [:target, "Sts::NisoSts::Target", "target"], [:named_content, "Sts::NisoSts::NamedContent", "named-content"], [:graphic, "Sts::IsoSts::Graphic", "graphic"], [:list, "Sts::IsoSts::List", "list"], [:def_list, "Sts::IsoSts::DefList", "def-list"], [:p, "Sts::IsoSts::Paragraph", "p"], [:non_normative_note, "Sts::IsoSts::NonNormativeNote", "non-normative-note"], [:non_normative_example, "Sts::IsoSts::NonNormativeExample", "non-normative-example"], [:inline_formula, "Sts::IsoSts::InlineFormula", "inline-formula"], [:disp_formula, "Sts::IsoSts::DispFormula", "disp-formula"], [:disp_formula_group, "Sts::IsoSts::DispFormula", "disp-formula-group"], [:std, "Sts::IsoSts::Std", "std"], [:fig, "Sts::IsoSts::Fig", "fig"], [:math, "Sts::TbxIsoTml::Math", "math"], [:ruby, "Sts::NisoSts::Ruby", "ruby"], ].freeze
- INSIDE_CELL_ATTRIBUTES =
%i[id content_type style abbr axis headers scope rowspan colspan align char charoff valign].freeze
- INSIDE_CELL_ATTR_XML =
{ id: "id", content_type: "content-type", style: "style", abbr: "abbr", axis: "axis", headers: "headers", scope: "scope", rowspan: "rowspan", colspan: "colspan", align: "align", char: "char", charoff: "charoff", valign: "valign" }.freeze
- TABLE_GROUP_ATTRS =
%i[id content_type style align char charoff valign].freeze
- TABLE_GROUP_ATTR_XML =
{ id: "id", content_type: "content-type", style: "style", align: "align", char: "char", charoff: "charoff", valign: "valign" }.freeze
- TABLE_COL_EXTRA_ATTRS =
%i[span width].freeze
- TABLE_COL_EXTRA_ATTR_XML =
{ span: "span", width: "width" }.freeze
Class Method Summary collapse
- .body_elements(klass) ⇒ Object
- .body_elements_mappings(klass) ⇒ Object
- .highlight_elements(klass) ⇒ Object
- .highlight_elements_mappings(klass) ⇒ Object
- .inside_cell(klass) ⇒ Object
- .inside_cell_attribute_mappings(klass, char_value_map: false) ⇒ Object
- .inside_cell_attributes(klass) ⇒ Object
- .inside_cell_mappings(klass) ⇒ Object
- .p_elements(klass) ⇒ Object
- .p_elements_mappings(klass) ⇒ Object
- .para_level(klass) ⇒ Object
- .para_level_mappings(klass) ⇒ Object
- .styled_content_elements(klass) ⇒ Object
- .styled_content_elements_mappings(klass) ⇒ Object
- .table_col_attribute_mappings(klass, char_value_map: false) ⇒ Object
- .table_col_attributes(klass) ⇒ Object
- .table_group_attribute_mappings(klass, char_value_map: false) ⇒ Object
- .table_group_attributes(klass) ⇒ Object
Methods included from ContentGroups::Helpers
inject_element_mappings, inject_elements
Class Method Details
.body_elements(klass) ⇒ Object
156 157 158 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 156 def self.body_elements(klass) inject_elements(klass, BODY_ELEMENTS) end |
.body_elements_mappings(klass) ⇒ Object
160 161 162 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 160 def self.body_elements_mappings(klass) inject_element_mappings(klass, BODY_ELEMENTS) end |
.highlight_elements(klass) ⇒ Object
46 47 48 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 46 def self.highlight_elements(klass) inject_elements(klass, HIGHLIGHT_ELEMENTS) end |
.highlight_elements_mappings(klass) ⇒ Object
50 51 52 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 50 def self.highlight_elements_mappings(klass) inject_element_mappings(klass, HIGHLIGHT_ELEMENTS) end |
.inside_cell(klass) ⇒ Object
211 212 213 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 211 def self.inside_cell(klass) inject_elements(klass, INSIDE_CELL_ELEMENTS) end |
.inside_cell_attribute_mappings(klass, char_value_map: false) ⇒ Object
231 232 233 234 235 236 237 238 239 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 231 def self.inside_cell_attribute_mappings(klass, char_value_map: false) INSIDE_CELL_ATTR_XML.each do |name, xml_name| opts = {} if char_value_map && name == :char opts[:value_map] = { to: { empty: :empty } } end klass.map_attribute xml_name, to: name, **opts end end |
.inside_cell_attributes(klass) ⇒ Object
219 220 221 222 223 224 225 226 227 228 229 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 219 def self.inside_cell_attributes(klass) INSIDE_CELL_ATTRIBUTES.each do |name| opts = case name when :align then { values: EnumValues::ALIGN } when :valign then { values: EnumValues::VALIGN } when :scope then { values: EnumValues::SCOPE } else {} end klass.attribute name, :string, **opts end end |
.inside_cell_mappings(klass) ⇒ Object
215 216 217 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 215 def self.inside_cell_mappings(klass) inject_element_mappings(klass, INSIDE_CELL_ELEMENTS) end |
.p_elements(klass) ⇒ Object
84 85 86 87 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 84 def self.p_elements(klass) styled_content_elements(klass) inject_elements(klass, P_ELEMENTS_EXTRA) end |
.p_elements_mappings(klass) ⇒ Object
89 90 91 92 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 89 def self.p_elements_mappings(klass) styled_content_elements_mappings(klass) inject_element_mappings(klass, P_ELEMENTS_EXTRA) end |
.para_level(klass) ⇒ Object
126 127 128 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 126 def self.para_level(klass) inject_elements(klass, PARA_LEVEL_ELEMENTS) end |
.para_level_mappings(klass) ⇒ Object
130 131 132 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 130 def self.para_level_mappings(klass) inject_element_mappings(klass, PARA_LEVEL_ELEMENTS) end |
.styled_content_elements(klass) ⇒ Object
67 68 69 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 67 def self.styled_content_elements(klass) inject_elements(klass, STYLED_CONTENT_ELEMENTS) end |
.styled_content_elements_mappings(klass) ⇒ Object
71 72 73 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 71 def self.styled_content_elements_mappings(klass) inject_element_mappings(klass, STYLED_CONTENT_ELEMENTS) end |
.table_col_attribute_mappings(klass, char_value_map: false) ⇒ Object
277 278 279 280 281 282 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 277 def self.table_col_attribute_mappings(klass, char_value_map: false) table_group_attribute_mappings(klass, char_value_map: char_value_map) TABLE_COL_EXTRA_ATTR_XML.each do |name, xml_name| klass.map_attribute xml_name, to: name end end |
.table_col_attributes(klass) ⇒ Object
272 273 274 275 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 272 def self.table_col_attributes(klass) table_group_attributes(klass) TABLE_COL_EXTRA_ATTRS.each { |name| klass.attribute name, :string } end |
.table_group_attribute_mappings(klass, char_value_map: false) ⇒ Object
262 263 264 265 266 267 268 269 270 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 262 def self.table_group_attribute_mappings(klass, char_value_map: false) TABLE_GROUP_ATTR_XML.each do |name, xml_name| opts = {} if char_value_map && name == :char opts[:value_map] = { to: { empty: :empty } } end klass.map_attribute xml_name, to: name, **opts end end |
.table_group_attributes(klass) ⇒ Object
251 252 253 254 255 256 257 258 259 260 |
# File 'lib/sts/iso_sts/content_groups/highlight_elements.rb', line 251 def self.table_group_attributes(klass) TABLE_GROUP_ATTRS.each do |name| opts = case name when :align then { values: EnumValues::ALIGN } when :valign then { values: EnumValues::VALIGN } else {} end klass.attribute name, :string, **opts end end |