omml 0.1.0 → 0.2.0
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/.github/workflows/rake.yml +22 -0
- data/.github/workflows/release.yml +23 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +25 -0
- data/.rubocop_todo.yml +19 -0
- data/CLAUDE.md +64 -0
- data/Gemfile +11 -7
- data/README.adoc +222 -4
- data/Rakefile +3 -3
- data/bin/console +3 -3
- data/lib/omml/configuration/adapter.rb +22 -0
- data/lib/omml/configuration/context_registry.rb +131 -0
- data/lib/omml/configuration/model_registry.rb +60 -0
- data/lib/omml/configuration/type_resolver.rb +47 -0
- data/lib/omml/configuration.rb +25 -0
- data/lib/omml/errors/base_error.rb +8 -0
- data/lib/omml/errors/invalid_xml_error.rb +8 -0
- data/lib/omml/errors/missing_context_error.rb +23 -0
- data/lib/omml/errors/root_element_not_found_error.rb +11 -0
- data/lib/omml/errors/unsupported_root_element_error.rb +11 -0
- data/lib/omml/errors/xml_adapter_not_configured_error.rb +11 -0
- data/lib/omml/errors.rb +15 -0
- data/lib/omml/models/ct_acc.rb +23 -0
- data/lib/omml/models/ct_acc_pr.rb +23 -0
- data/lib/omml/models/ct_anchor.rb +60 -0
- data/lib/omml/models/ct_attr.rb +23 -0
- data/lib/omml/models/ct_bar.rb +23 -0
- data/lib/omml/models/ct_bar_pr.rb +23 -0
- data/lib/omml/models/ct_bookmark.rb +19 -0
- data/lib/omml/models/ct_bookmark_range.rb +21 -0
- data/lib/omml/models/ct_border.rb +35 -0
- data/lib/omml/models/ct_border_box.rb +24 -0
- data/lib/omml/models/ct_border_box_pr.rb +37 -0
- data/lib/omml/models/ct_box.rb +23 -0
- data/lib/omml/models/ct_box_pr.rb +31 -0
- data/lib/omml/models/ct_br.rb +21 -0
- data/lib/omml/models/ct_break_bin.rb +19 -0
- data/lib/omml/models/ct_break_bin_sub.rb +19 -0
- data/lib/omml/models/ct_calendar_type.rb +19 -0
- data/lib/omml/models/ct_char.rb +19 -0
- data/lib/omml/models/ct_color.rb +25 -0
- data/lib/omml/models/ct_control.rb +23 -0
- data/lib/omml/models/ct_ctrl_pr.rb +21 -0
- data/lib/omml/models/ct_custom_xml_pr.rb +23 -0
- data/lib/omml/models/ct_custom_xml_run.rb +27 -0
- data/lib/omml/models/ct_d.rb +23 -0
- data/lib/omml/models/ct_d_pr.rb +34 -0
- data/lib/omml/models/ct_data_binding.rb +23 -0
- data/lib/omml/models/ct_decimal_number.rb +19 -0
- data/lib/omml/models/ct_drawing.rb +23 -0
- data/lib/omml/models/ct_east_asian_layout.rb +27 -0
- data/lib/omml/models/ct_effect_extent.rb +25 -0
- data/lib/omml/models/ct_em.rb +19 -0
- data/lib/omml/models/ct_empty.rb +15 -0
- data/lib/omml/models/ct_eq_arr.rb +23 -0
- data/lib/omml/models/ct_eq_arr_pr.rb +31 -0
- data/lib/omml/models/ct_f.rb +25 -0
- data/lib/omml/models/ct_f_pr.rb +23 -0
- data/lib/omml/models/ct_f_type.rb +19 -0
- data/lib/omml/models/ct_ff_check_box.rb +29 -0
- data/lib/omml/models/ct_ff_data.rb +41 -0
- data/lib/omml/models/ct_ff_help_text.rb +21 -0
- data/lib/omml/models/ct_ff_name.rb +19 -0
- data/lib/omml/models/ct_ff_status_text.rb +21 -0
- data/lib/omml/models/ct_ff_text_input.rb +27 -0
- data/lib/omml/models/ct_ff_text_type.rb +19 -0
- data/lib/omml/models/ct_ffdd_list.rb +25 -0
- data/lib/omml/models/ct_fit_text.rb +21 -0
- data/lib/omml/models/ct_fld_char.rb +32 -0
- data/lib/omml/models/ct_fonts.rb +35 -0
- data/lib/omml/models/ct_ftn_edn_ref.rb +21 -0
- data/lib/omml/models/ct_func.rb +26 -0
- data/lib/omml/models/ct_func_pr.rb +21 -0
- data/lib/omml/models/ct_graphical_object.rb +21 -0
- data/lib/omml/models/ct_graphical_object_data.rb +19 -0
- data/lib/omml/models/ct_graphical_object_frame_locking.rb +33 -0
- data/lib/omml/models/ct_group_chr.rb +23 -0
- data/lib/omml/models/ct_group_chr_pr.rb +27 -0
- data/lib/omml/models/ct_highlight.rb +19 -0
- data/lib/omml/models/ct_hps_measure.rb +19 -0
- data/lib/omml/models/ct_hyperlink.rb +31 -0
- data/lib/omml/models/ct_inline.rb +38 -0
- data/lib/omml/models/ct_integer2.rb +19 -0
- data/lib/omml/models/ct_integer255.rb +19 -0
- data/lib/omml/models/ct_lang.rb +19 -0
- data/lib/omml/models/ct_language.rb +23 -0
- data/lib/omml/models/ct_lim_loc.rb +19 -0
- data/lib/omml/models/ct_lim_low.rb +26 -0
- data/lib/omml/models/ct_lim_low_pr.rb +21 -0
- data/lib/omml/models/ct_lim_upp.rb +25 -0
- data/lib/omml/models/ct_lim_upp_pr.rb +21 -0
- data/lib/omml/models/ct_lock.rb +19 -0
- data/lib/omml/models/ct_m.rb +23 -0
- data/lib/omml/models/ct_m_pr.rb +37 -0
- data/lib/omml/models/ct_macro_name.rb +19 -0
- data/lib/omml/models/ct_manual_break.rb +19 -0
- data/lib/omml/models/ct_markup.rb +19 -0
- data/lib/omml/models/ct_markup_range.rb +19 -0
- data/lib/omml/models/ct_math_pr.rb +53 -0
- data/lib/omml/models/ct_mc.rb +21 -0
- data/lib/omml/models/ct_mc_pr.rb +23 -0
- data/lib/omml/models/ct_mcs.rb +21 -0
- data/lib/omml/models/ct_move_bookmark.rb +21 -0
- data/lib/omml/models/ct_mr.rb +21 -0
- data/lib/omml/models/ct_nary.rb +27 -0
- data/lib/omml/models/ct_nary_pr.rb +31 -0
- data/lib/omml/models/ct_non_visual_drawing_props.rb +33 -0
- data/lib/omml/models/ct_non_visual_graphic_frame_properties.rb +24 -0
- data/lib/omml/models/ct_o_math.rb +22 -0
- data/lib/omml/models/ct_o_math_arg.rb +28 -0
- data/lib/omml/models/ct_o_math_arg_pr.rb +21 -0
- data/lib/omml/models/ct_o_math_jc.rb +19 -0
- data/lib/omml/models/ct_o_math_para.rb +26 -0
- data/lib/omml/models/ct_o_math_para_pr.rb +21 -0
- data/lib/omml/models/ct_object.rb +25 -0
- data/lib/omml/models/ct_office_art_extension.rb +19 -0
- data/lib/omml/models/ct_office_art_extension_list.rb +21 -0
- data/lib/omml/models/ct_on_off.rb +19 -0
- data/lib/omml/models/ct_p_tab.rb +23 -0
- data/lib/omml/models/ct_perm.rb +21 -0
- data/lib/omml/models/ct_perm_start.rb +25 -0
- data/lib/omml/models/ct_phant.rb +23 -0
- data/lib/omml/models/ct_phant_pr.rb +31 -0
- data/lib/omml/models/ct_picture.rb +23 -0
- data/lib/omml/models/ct_picture_base.rb +15 -0
- data/lib/omml/models/ct_placeholder.rb +21 -0
- data/lib/omml/models/ct_point2_d.rb +21 -0
- data/lib/omml/models/ct_pos_h.rb +27 -0
- data/lib/omml/models/ct_pos_v.rb +27 -0
- data/lib/omml/models/ct_positive_size2_d.rb +21 -0
- data/lib/omml/models/ct_proof_err.rb +19 -0
- data/lib/omml/models/ct_r.rb +27 -0
- data/lib/omml/models/ct_r_pr.rb +21 -0
- data/lib/omml/models/ct_r_pr_change.rb +21 -0
- data/lib/omml/models/ct_r_pr_original.rb +21 -0
- data/lib/omml/models/ct_rad.rb +25 -0
- data/lib/omml/models/ct_rad_pr.rb +23 -0
- data/lib/omml/models/ct_rel.rb +19 -0
- data/lib/omml/models/ct_rpr.rb +33 -0
- data/lib/omml/models/ct_ruby.rb +25 -0
- data/lib/omml/models/ct_ruby_align.rb +19 -0
- data/lib/omml/models/ct_ruby_content.rb +19 -0
- data/lib/omml/models/ct_ruby_pr.rb +31 -0
- data/lib/omml/models/ct_run_track_change.rb +23 -0
- data/lib/omml/models/ct_s_pre.rb +28 -0
- data/lib/omml/models/ct_s_pre_pr.rb +21 -0
- data/lib/omml/models/ct_s_sub.rb +25 -0
- data/lib/omml/models/ct_s_sub_pr.rb +21 -0
- data/lib/omml/models/ct_s_sub_sup.rb +28 -0
- data/lib/omml/models/ct_s_sub_sup_pr.rb +23 -0
- data/lib/omml/models/ct_s_sup.rb +25 -0
- data/lib/omml/models/ct_s_sup_pr.rb +21 -0
- data/lib/omml/models/ct_script.rb +19 -0
- data/lib/omml/models/ct_sdt_combo_box.rb +23 -0
- data/lib/omml/models/ct_sdt_content_run.rb +19 -0
- data/lib/omml/models/ct_sdt_date.rb +30 -0
- data/lib/omml/models/ct_sdt_date_mapping_type.rb +19 -0
- data/lib/omml/models/ct_sdt_doc_part.rb +25 -0
- data/lib/omml/models/ct_sdt_drop_down_list.rb +23 -0
- data/lib/omml/models/ct_sdt_end_pr.rb +21 -0
- data/lib/omml/models/ct_sdt_list_item.rb +21 -0
- data/lib/omml/models/ct_sdt_pr.rb +63 -0
- data/lib/omml/models/ct_sdt_run.rb +25 -0
- data/lib/omml/models/ct_sdt_text.rb +19 -0
- data/lib/omml/models/ct_shd.rb +35 -0
- data/lib/omml/models/ct_shp.rb +19 -0
- data/lib/omml/models/ct_signed_hps_measure.rb +19 -0
- data/lib/omml/models/ct_signed_twips_measure.rb +19 -0
- data/lib/omml/models/ct_simple_field.rb +29 -0
- data/lib/omml/models/ct_smart_tag_pr.rb +21 -0
- data/lib/omml/models/ct_smart_tag_run.rb +27 -0
- data/lib/omml/models/ct_spacing_rule.rb +19 -0
- data/lib/omml/models/ct_string.rb +19 -0
- data/lib/omml/models/ct_style.rb +19 -0
- data/lib/omml/models/ct_sym.rb +21 -0
- data/lib/omml/models/ct_text.rb +19 -0
- data/lib/omml/models/ct_text_effect.rb +19 -0
- data/lib/omml/models/ct_text_scale.rb +19 -0
- data/lib/omml/models/ct_top_bot.rb +19 -0
- data/lib/omml/models/ct_track_change.rb +21 -0
- data/lib/omml/models/ct_track_change_numbering.rb +19 -0
- data/lib/omml/models/ct_twips_measure.rb +19 -0
- data/lib/omml/models/ct_un_signed_integer.rb +19 -0
- data/lib/omml/models/ct_underline.rb +27 -0
- data/lib/omml/models/ct_vertical_align_run.rb +19 -0
- data/lib/omml/models/ct_wordprocessing_on_off.rb +19 -0
- data/lib/omml/models/ct_wrap_none.rb +15 -0
- data/lib/omml/models/ct_wrap_path.rb +25 -0
- data/lib/omml/models/ct_wrap_square.rb +31 -0
- data/lib/omml/models/ct_wrap_through.rb +27 -0
- data/lib/omml/models/ct_wrap_tight.rb +27 -0
- data/lib/omml/models/ct_wrap_top_bottom.rb +25 -0
- data/lib/omml/models/ct_x_align.rb +19 -0
- data/lib/omml/models/ct_y_align.rb +19 -0
- data/lib/omml/models/groups/eg_content_run_content.rb +26 -0
- data/lib/omml/models/groups/eg_math_content.rb +20 -0
- data/lib/omml/models/groups/eg_o_math_elements.rb +20 -0
- data/lib/omml/models/groups/eg_o_math_math_elements.rb +56 -0
- data/lib/omml/models/groups/eg_office_art_extension_list.rb +16 -0
- data/lib/omml/models/groups/eg_p_content.rb +24 -0
- data/lib/omml/models/groups/eg_r_pr.rb +17 -0
- data/lib/omml/models/groups/eg_r_pr_base.rb +93 -0
- data/lib/omml/models/groups/eg_r_pr_content.rb +19 -0
- data/lib/omml/models/groups/eg_r_pr_math.rb +23 -0
- data/lib/omml/models/groups/eg_range_markup_elements.rb +60 -0
- data/lib/omml/models/groups/eg_ruby_content.rb +20 -0
- data/lib/omml/models/groups/eg_run_inner_content.rb +83 -0
- data/lib/omml/models/groups/eg_run_level_elts.rb +34 -0
- data/lib/omml/models/groups/eg_script_style.rb +18 -0
- data/lib/omml/models/groups/eg_word_r_pr.rb +17 -0
- data/lib/omml/models/groups/eg_wrap_type.rb +27 -0
- data/lib/omml/models/groups.rb +19 -0
- data/lib/omml/models/o_math.rb +21 -0
- data/lib/omml/models/o_math_para.rb +25 -0
- data/lib/omml/models/simple_types/enum_string.rb +42 -0
- data/lib/omml/models/simple_types/hex_binary.rb +15 -0
- data/lib/omml/models/simple_types/st_adj_coordinate.rb +24 -0
- data/lib/omml/models/simple_types/st_align_h.rb +17 -0
- data/lib/omml/models/simple_types/st_align_v.rb +17 -0
- data/lib/omml/models/simple_types/st_border.rb +203 -0
- data/lib/omml/models/simple_types/st_br_clear.rb +16 -0
- data/lib/omml/models/simple_types/st_br_type.rb +15 -0
- data/lib/omml/models/simple_types/st_break_bin.rb +15 -0
- data/lib/omml/models/simple_types/st_break_bin_sub.rb +15 -0
- data/lib/omml/models/simple_types/st_calendar_type.rb +22 -0
- data/lib/omml/models/simple_types/st_combine_brackets.rb +17 -0
- data/lib/omml/models/simple_types/st_coordinate.rb +16 -0
- data/lib/omml/models/simple_types/st_displaced_by_custom_xml.rb +14 -0
- data/lib/omml/models/simple_types/st_ed_grp.rb +19 -0
- data/lib/omml/models/simple_types/st_em.rb +17 -0
- data/lib/omml/models/simple_types/st_f_type.rb +16 -0
- data/lib/omml/models/simple_types/st_ff_text_type.rb +18 -0
- data/lib/omml/models/simple_types/st_fld_char_type.rb +15 -0
- data/lib/omml/models/simple_types/st_geom_guide_name.rb +10 -0
- data/lib/omml/models/simple_types/st_hex_color.rb +24 -0
- data/lib/omml/models/simple_types/st_highlight_color.rb +29 -0
- data/lib/omml/models/simple_types/st_hint.rb +15 -0
- data/lib/omml/models/simple_types/st_info_text_type.rb +14 -0
- data/lib/omml/models/simple_types/st_integer2.rb +15 -0
- data/lib/omml/models/simple_types/st_integer255.rb +15 -0
- data/lib/omml/models/simple_types/st_jc.rb +16 -0
- data/lib/omml/models/simple_types/st_lang.rb +24 -0
- data/lib/omml/models/simple_types/st_lim_loc.rb +14 -0
- data/lib/omml/models/simple_types/st_lock.rb +16 -0
- data/lib/omml/models/simple_types/st_on_off.rb +18 -0
- data/lib/omml/models/simple_types/st_p_tab_alignment.rb +15 -0
- data/lib/omml/models/simple_types/st_p_tab_leader.rb +17 -0
- data/lib/omml/models/simple_types/st_p_tab_relative_to.rb +14 -0
- data/lib/omml/models/simple_types/st_positive_coordinate.rb +15 -0
- data/lib/omml/models/simple_types/st_proof_err.rb +16 -0
- data/lib/omml/models/simple_types/st_rel_from_h.rb +20 -0
- data/lib/omml/models/simple_types/st_rel_from_v.rb +20 -0
- data/lib/omml/models/simple_types/st_ruby_align.rb +18 -0
- data/lib/omml/models/simple_types/st_script.rb +18 -0
- data/lib/omml/models/simple_types/st_sdt_date_mapping_type.rb +15 -0
- data/lib/omml/models/simple_types/st_shd.rb +50 -0
- data/lib/omml/models/simple_types/st_shp.rb +14 -0
- data/lib/omml/models/simple_types/st_spacing_rule.rb +15 -0
- data/lib/omml/models/simple_types/st_style.rb +16 -0
- data/lib/omml/models/simple_types/st_text_effect.rb +19 -0
- data/lib/omml/models/simple_types/st_text_scale.rb +15 -0
- data/lib/omml/models/simple_types/st_theme.rb +20 -0
- data/lib/omml/models/simple_types/st_theme_color.rb +29 -0
- data/lib/omml/models/simple_types/st_top_bot.rb +14 -0
- data/lib/omml/models/simple_types/st_underline.rb +30 -0
- data/lib/omml/models/simple_types/st_vertical_align_run.rb +15 -0
- data/lib/omml/models/simple_types/st_wrap_text.rb +16 -0
- data/lib/omml/models/simple_types/st_x_align.rb +15 -0
- data/lib/omml/models/simple_types/st_y_align.rb +15 -0
- data/lib/omml/models/simple_types/token.rb +35 -0
- data/lib/omml/models/simple_types/unsigned_int.rb +15 -0
- data/lib/omml/models/simple_types/unsigned_long.rb +15 -0
- data/lib/omml/models/simple_types.rb +60 -0
- data/lib/omml/models.rb +183 -0
- data/lib/omml/namespace.rb +9 -0
- data/lib/omml/parser.rb +39 -0
- data/lib/omml/type_substitutions.rb +89 -0
- data/lib/omml/version.rb +2 -2
- data/lib/omml/wordprocessing_namespace.rb +9 -0
- data/lib/omml.rb +39 -3
- data/omml.gemspec +18 -14
- data/sig/omml.rbs +1 -1
- metadata +335 -6
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Configuration
|
|
5
|
+
# Extended only by Omml::Configuration together with the sibling modules.
|
|
6
|
+
module TypeResolver
|
|
7
|
+
def resolve_type(type_name, context: context_id)
|
|
8
|
+
require_context!(context)
|
|
9
|
+
|
|
10
|
+
Lutaml::Model::GlobalContext.resolve_type(type_name, context)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def root_name_from_document(document)
|
|
14
|
+
root = root_element_from(document)
|
|
15
|
+
root_name = root.name.split(":").last
|
|
16
|
+
return root_name if root_namespace_uri(root) == Omml::Namespace.uri
|
|
17
|
+
|
|
18
|
+
raise Omml::Errors::UnsupportedRootElementError, root_name
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def resolve_root_class(document, context: context_id)
|
|
22
|
+
resolve_type(
|
|
23
|
+
resolve_root_type(root_name_from_document(document)),
|
|
24
|
+
context: context,
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
private
|
|
29
|
+
|
|
30
|
+
def root_element_from(document)
|
|
31
|
+
document.root || raise(Omml::Errors::RootElementNotFoundError)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def root_namespace_uri(root)
|
|
35
|
+
return unless root.respond_to?(:namespace)
|
|
36
|
+
|
|
37
|
+
root.namespace&.uri
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def resolve_root_type(root_name)
|
|
41
|
+
ROOT_TYPES.fetch(root_name) do
|
|
42
|
+
raise Omml::Errors::UnsupportedRootElementError, root_name
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative "configuration/adapter"
|
|
4
|
+
require_relative "configuration/context_registry"
|
|
5
|
+
require_relative "configuration/model_registry"
|
|
6
|
+
require_relative "configuration/type_resolver"
|
|
7
|
+
|
|
8
|
+
module Omml
|
|
9
|
+
module Configuration
|
|
10
|
+
extend Adapter
|
|
11
|
+
extend ContextRegistry
|
|
12
|
+
extend ModelRegistry
|
|
13
|
+
extend TypeResolver
|
|
14
|
+
|
|
15
|
+
SCHEMA_MODEL_PREFIXES = %w[CT EG ST].freeze
|
|
16
|
+
ROOT_TYPES = {
|
|
17
|
+
"oMath" => :o_math,
|
|
18
|
+
"oMathPara" => :o_math_para,
|
|
19
|
+
}.freeze
|
|
20
|
+
|
|
21
|
+
def self.context_id
|
|
22
|
+
:omml
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Errors
|
|
5
|
+
class MissingContextError < BaseError
|
|
6
|
+
def initialize(id)
|
|
7
|
+
super(build_message(id.to_sym))
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
def build_message(id)
|
|
13
|
+
if id == :omml
|
|
14
|
+
"OMML context :omml is not populated. " \
|
|
15
|
+
"Call Omml::Configuration.populate_context! first."
|
|
16
|
+
else
|
|
17
|
+
"OMML context :#{id} is not available. " \
|
|
18
|
+
"Create or populate it explicitly before use."
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/omml/errors.rb
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Errors
|
|
5
|
+
autoload :BaseError, "omml/errors/base_error"
|
|
6
|
+
autoload :InvalidXmlError, "omml/errors/invalid_xml_error"
|
|
7
|
+
autoload :MissingContextError, "omml/errors/missing_context_error"
|
|
8
|
+
autoload :RootElementNotFoundError,
|
|
9
|
+
"omml/errors/root_element_not_found_error"
|
|
10
|
+
autoload :UnsupportedRootElementError,
|
|
11
|
+
"omml/errors/unsupported_root_element_error"
|
|
12
|
+
autoload :XmlAdapterNotConfiguredError,
|
|
13
|
+
"omml/errors/xml_adapter_not_configured_error"
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTAcc < Lutaml::Model::Serializable
|
|
6
|
+
attribute :acc_pr, :ct_acc_pr, collection: 0..1
|
|
7
|
+
attribute :e, :ct_o_math_arg
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_Acc"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
sequence do
|
|
15
|
+
map_element :accPr, to: :acc_pr
|
|
16
|
+
map_element :e, to: :e, render_empty: true
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Omml::Configuration.register_model(CTAcc)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTAccPr < Lutaml::Model::Serializable
|
|
6
|
+
attribute :chr, :ct_char, collection: 0..1
|
|
7
|
+
attribute :ctrl_pr, :ct_ctrl_pr, collection: 0..1
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_AccPr"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
sequence do
|
|
15
|
+
map_element :chr, to: :chr
|
|
16
|
+
map_element :ctrlPr, to: :ctrl_pr
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Omml::Configuration.register_model(CTAccPr)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTAnchor < Lutaml::Model::Serializable
|
|
6
|
+
attribute :simple_pos, :ct_point2_d
|
|
7
|
+
attribute :position_h, :ct_pos_h
|
|
8
|
+
attribute :position_v, :ct_pos_v
|
|
9
|
+
attribute :extent, :ct_positive_size2_d
|
|
10
|
+
attribute :effect_extent, :ct_effect_extent, collection: 0..1
|
|
11
|
+
import_model_attributes :eg_wrap_type
|
|
12
|
+
attribute :doc_pr, :ct_non_visual_drawing_props, collection: 1..1
|
|
13
|
+
attribute :c_nv_graphic_frame_pr,
|
|
14
|
+
:ct_non_visual_graphic_frame_properties, collection: 0..1
|
|
15
|
+
attribute :graphic, :ct_graphical_object, collection: 1..1
|
|
16
|
+
attribute :dist_t, :st_wrap_distance
|
|
17
|
+
attribute :dist_b, :st_wrap_distance
|
|
18
|
+
attribute :dist_l, :st_wrap_distance
|
|
19
|
+
attribute :dist_r, :st_wrap_distance
|
|
20
|
+
attribute :simple_pos, :boolean
|
|
21
|
+
attribute :relative_height, :unsigned_int
|
|
22
|
+
attribute :behind_doc, :boolean
|
|
23
|
+
attribute :locked, :boolean
|
|
24
|
+
attribute :layout_in_cell, :boolean
|
|
25
|
+
attribute :hidden, :boolean
|
|
26
|
+
attribute :allow_overlap, :boolean
|
|
27
|
+
|
|
28
|
+
xml do
|
|
29
|
+
element "CT_Anchor"
|
|
30
|
+
|
|
31
|
+
namespace Omml::Namespace
|
|
32
|
+
|
|
33
|
+
sequence do
|
|
34
|
+
map_element :simplePos, to: :simple_pos, render_empty: true
|
|
35
|
+
map_element :positionH, to: :position_h, render_empty: true
|
|
36
|
+
map_element :positionV, to: :position_v, render_empty: true
|
|
37
|
+
map_element :extent, to: :extent, render_empty: true
|
|
38
|
+
map_element :effectExtent, to: :effect_extent
|
|
39
|
+
import_model_mappings :eg_wrap_type
|
|
40
|
+
map_element :docPr, to: :doc_pr, render_empty: true
|
|
41
|
+
map_element :cNvGraphicFramePr, to: :c_nv_graphic_frame_pr
|
|
42
|
+
map_element :graphic, to: :graphic, render_empty: true
|
|
43
|
+
end
|
|
44
|
+
map_attribute :distT, to: :dist_t
|
|
45
|
+
map_attribute :distB, to: :dist_b
|
|
46
|
+
map_attribute :distL, to: :dist_l
|
|
47
|
+
map_attribute :distR, to: :dist_r
|
|
48
|
+
map_attribute :simplePos, to: :simple_pos
|
|
49
|
+
map_attribute :relativeHeight, to: :relative_height
|
|
50
|
+
map_attribute :behindDoc, to: :behind_doc
|
|
51
|
+
map_attribute :locked, to: :locked
|
|
52
|
+
map_attribute :layoutInCell, to: :layout_in_cell
|
|
53
|
+
map_attribute :hidden, to: :hidden
|
|
54
|
+
map_attribute :allowOverlap, to: :allow_overlap
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
Omml::Configuration.register_model(CTAnchor)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTAttr < Lutaml::Model::Serializable
|
|
6
|
+
attribute :uri, :st_string
|
|
7
|
+
attribute :name, :st_string
|
|
8
|
+
attribute :val, :st_string
|
|
9
|
+
|
|
10
|
+
xml do
|
|
11
|
+
element "CT_Attr"
|
|
12
|
+
|
|
13
|
+
namespace Omml::Namespace
|
|
14
|
+
|
|
15
|
+
map_attribute :uri, to: :uri
|
|
16
|
+
map_attribute :name, to: :name
|
|
17
|
+
map_attribute :val, to: :val
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Omml::Configuration.register_model(CTAttr)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBar < Lutaml::Model::Serializable
|
|
6
|
+
attribute :bar_pr, :ct_bar_pr, collection: 0..1
|
|
7
|
+
attribute :e, :ct_o_math_arg
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_Bar"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
sequence do
|
|
15
|
+
map_element :barPr, to: :bar_pr
|
|
16
|
+
map_element :e, to: :e, render_empty: true
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Omml::Configuration.register_model(CTBar)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBarPr < Lutaml::Model::Serializable
|
|
6
|
+
attribute :pos, :ct_top_bot, collection: 0..1
|
|
7
|
+
attribute :ctrl_pr, :ct_ctrl_pr, collection: 0..1
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_BarPr"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
sequence do
|
|
15
|
+
map_element :pos, to: :pos
|
|
16
|
+
map_element :ctrlPr, to: :ctrl_pr
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Omml::Configuration.register_model(CTBarPr)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBookmark < CTBookmarkRange
|
|
6
|
+
attribute :name, :st_string
|
|
7
|
+
|
|
8
|
+
xml do
|
|
9
|
+
element "CT_Bookmark"
|
|
10
|
+
|
|
11
|
+
namespace Omml::Namespace
|
|
12
|
+
|
|
13
|
+
map_attribute :name, to: :name
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Omml::Configuration.register_model(CTBookmark)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBookmarkRange < CTMarkupRange
|
|
6
|
+
attribute :col_first, :st_decimal_number
|
|
7
|
+
attribute :col_last, :st_decimal_number
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_BookmarkRange"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
map_attribute :colFirst, to: :col_first
|
|
15
|
+
map_attribute :colLast, to: :col_last
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
Omml::Configuration.register_model(CTBookmarkRange)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBorder < Lutaml::Model::Serializable
|
|
6
|
+
attribute :val, :st_border
|
|
7
|
+
attribute :color, :st_hex_color
|
|
8
|
+
attribute :theme_color, :st_theme_color
|
|
9
|
+
attribute :theme_tint, :st_uchar_hex_number
|
|
10
|
+
attribute :theme_shade, :st_uchar_hex_number
|
|
11
|
+
attribute :sz, :st_eighth_point_measure
|
|
12
|
+
attribute :space, :st_point_measure
|
|
13
|
+
attribute :shadow, :st_on_off
|
|
14
|
+
attribute :frame, :st_on_off
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
element "CT_Border"
|
|
18
|
+
|
|
19
|
+
namespace Omml::Namespace
|
|
20
|
+
|
|
21
|
+
map_attribute :val, to: :val
|
|
22
|
+
map_attribute :color, to: :color
|
|
23
|
+
map_attribute :themeColor, to: :theme_color
|
|
24
|
+
map_attribute :themeTint, to: :theme_tint
|
|
25
|
+
map_attribute :themeShade, to: :theme_shade
|
|
26
|
+
map_attribute :sz, to: :sz
|
|
27
|
+
map_attribute :space, to: :space
|
|
28
|
+
map_attribute :shadow, to: :shadow
|
|
29
|
+
map_attribute :frame, to: :frame
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
Omml::Configuration.register_model(CTBorder)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBorderBox < Lutaml::Model::Serializable
|
|
6
|
+
attribute :border_box_pr, :ct_border_box_pr, collection: 0..1
|
|
7
|
+
attribute :e, :ct_o_math_arg
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_BorderBox"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
ordered
|
|
14
|
+
|
|
15
|
+
sequence do
|
|
16
|
+
map_element :borderBoxPr, to: :border_box_pr
|
|
17
|
+
map_element :e, to: :e, render_empty: true
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Omml::Configuration.register_model(CTBorderBox)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBorderBoxPr < Lutaml::Model::Serializable
|
|
6
|
+
attribute :hide_top, :ct_on_off, collection: 0..1
|
|
7
|
+
attribute :hide_bot, :ct_on_off, collection: 0..1
|
|
8
|
+
attribute :hide_left, :ct_on_off, collection: 0..1
|
|
9
|
+
attribute :hide_right, :ct_on_off, collection: 0..1
|
|
10
|
+
attribute :strike_h, :ct_on_off, collection: 0..1
|
|
11
|
+
attribute :strike_v, :ct_on_off, collection: 0..1
|
|
12
|
+
attribute :strike_bltr, :ct_on_off, collection: 0..1
|
|
13
|
+
attribute :strike_tlbr, :ct_on_off, collection: 0..1
|
|
14
|
+
attribute :ctrl_pr, :ct_ctrl_pr, collection: 0..1
|
|
15
|
+
|
|
16
|
+
xml do
|
|
17
|
+
element "CT_BorderBoxPr"
|
|
18
|
+
|
|
19
|
+
namespace Omml::Namespace
|
|
20
|
+
|
|
21
|
+
sequence do
|
|
22
|
+
map_element :hideTop, to: :hide_top
|
|
23
|
+
map_element :hideBot, to: :hide_bot
|
|
24
|
+
map_element :hideLeft, to: :hide_left
|
|
25
|
+
map_element :hideRight, to: :hide_right
|
|
26
|
+
map_element :strikeH, to: :strike_h
|
|
27
|
+
map_element :strikeV, to: :strike_v
|
|
28
|
+
map_element :strikeBLTR, to: :strike_bltr
|
|
29
|
+
map_element :strikeTLBR, to: :strike_tlbr
|
|
30
|
+
map_element :ctrlPr, to: :ctrl_pr
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
Omml::Configuration.register_model(CTBorderBoxPr)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBox < Lutaml::Model::Serializable
|
|
6
|
+
attribute :box_pr, :ct_box_pr, collection: 0..1
|
|
7
|
+
attribute :e, :ct_o_math_arg
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_Box"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
sequence do
|
|
15
|
+
map_element :boxPr, to: :box_pr
|
|
16
|
+
map_element :e, to: :e, render_empty: true
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
Omml::Configuration.register_model(CTBox)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBoxPr < Lutaml::Model::Serializable
|
|
6
|
+
attribute :op_emu, :ct_on_off, collection: 0..1
|
|
7
|
+
attribute :no_break, :ct_on_off, collection: 0..1
|
|
8
|
+
attribute :diff, :ct_on_off, collection: 0..1
|
|
9
|
+
attribute :brk, :ct_manual_break, collection: 0..1
|
|
10
|
+
attribute :aln, :ct_on_off, collection: 0..1
|
|
11
|
+
attribute :ctrl_pr, :ct_ctrl_pr, collection: 0..1
|
|
12
|
+
|
|
13
|
+
xml do
|
|
14
|
+
element "CT_BoxPr"
|
|
15
|
+
|
|
16
|
+
namespace Omml::Namespace
|
|
17
|
+
|
|
18
|
+
sequence do
|
|
19
|
+
map_element :opEmu, to: :op_emu
|
|
20
|
+
map_element :noBreak, to: :no_break
|
|
21
|
+
map_element :diff, to: :diff
|
|
22
|
+
map_element :brk, to: :brk
|
|
23
|
+
map_element :aln, to: :aln
|
|
24
|
+
map_element :ctrlPr, to: :ctrl_pr
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
Omml::Configuration.register_model(CTBoxPr)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBr < Lutaml::Model::Serializable
|
|
6
|
+
attribute :type, :st_br_type
|
|
7
|
+
attribute :clear, :st_br_clear
|
|
8
|
+
|
|
9
|
+
xml do
|
|
10
|
+
element "CT_Br"
|
|
11
|
+
|
|
12
|
+
namespace Omml::Namespace
|
|
13
|
+
|
|
14
|
+
map_attribute :type, to: :type
|
|
15
|
+
map_attribute :clear, to: :clear
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
Omml::Configuration.register_model(CTBr)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBreakBin < Lutaml::Model::Serializable
|
|
6
|
+
attribute :val, :st_break_bin
|
|
7
|
+
|
|
8
|
+
xml do
|
|
9
|
+
element "CT_BreakBin"
|
|
10
|
+
|
|
11
|
+
namespace Omml::Namespace
|
|
12
|
+
|
|
13
|
+
map_attribute :val, to: :val
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Omml::Configuration.register_model(CTBreakBin)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTBreakBinSub < Lutaml::Model::Serializable
|
|
6
|
+
attribute :val, :st_break_bin_sub
|
|
7
|
+
|
|
8
|
+
xml do
|
|
9
|
+
element "CT_BreakBinSub"
|
|
10
|
+
|
|
11
|
+
namespace Omml::Namespace
|
|
12
|
+
|
|
13
|
+
map_attribute :val, to: :val
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Omml::Configuration.register_model(CTBreakBinSub)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTCalendarType < Lutaml::Model::Serializable
|
|
6
|
+
attribute :val, :st_calendar_type
|
|
7
|
+
|
|
8
|
+
xml do
|
|
9
|
+
element "CT_CalendarType"
|
|
10
|
+
|
|
11
|
+
namespace Omml::Namespace
|
|
12
|
+
|
|
13
|
+
map_attribute :val, to: :val
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Omml::Configuration.register_model(CTCalendarType)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTChar < Lutaml::Model::Serializable
|
|
6
|
+
attribute :val, :st_char
|
|
7
|
+
|
|
8
|
+
xml do
|
|
9
|
+
element "CT_Char"
|
|
10
|
+
|
|
11
|
+
namespace Omml::Namespace
|
|
12
|
+
|
|
13
|
+
map_attribute :val, to: :val, render_empty: true
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Omml::Configuration.register_model(CTChar)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Omml
|
|
4
|
+
module Models
|
|
5
|
+
class CTColor < Lutaml::Model::Serializable
|
|
6
|
+
attribute :val, :st_hex_color
|
|
7
|
+
attribute :theme_color, :st_theme_color
|
|
8
|
+
attribute :theme_tint, :st_uchar_hex_number
|
|
9
|
+
attribute :theme_shade, :st_uchar_hex_number
|
|
10
|
+
|
|
11
|
+
xml do
|
|
12
|
+
element "CT_Color"
|
|
13
|
+
|
|
14
|
+
namespace Omml::Namespace
|
|
15
|
+
|
|
16
|
+
map_attribute :val, to: :val
|
|
17
|
+
map_attribute :themeColor, to: :theme_color
|
|
18
|
+
map_attribute :themeTint, to: :theme_tint
|
|
19
|
+
map_attribute :themeShade, to: :theme_shade
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
Omml::Configuration.register_model(CTColor)
|
|
24
|
+
end
|
|
25
|
+
end
|