omml 0.1.0 → 0.2.1

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.
Files changed (284) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rake.yml +22 -0
  3. data/.github/workflows/release.yml +23 -0
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +25 -0
  6. data/.rubocop_todo.yml +19 -0
  7. data/CLAUDE.md +64 -0
  8. data/Gemfile +11 -7
  9. data/README.adoc +222 -4
  10. data/Rakefile +3 -3
  11. data/bin/console +3 -3
  12. data/lib/omml/configuration/adapter.rb +21 -0
  13. data/lib/omml/configuration/context_registry.rb +131 -0
  14. data/lib/omml/configuration/model_registry.rb +60 -0
  15. data/lib/omml/configuration/type_resolver.rb +47 -0
  16. data/lib/omml/configuration.rb +25 -0
  17. data/lib/omml/errors/base_error.rb +8 -0
  18. data/lib/omml/errors/invalid_xml_error.rb +8 -0
  19. data/lib/omml/errors/missing_context_error.rb +23 -0
  20. data/lib/omml/errors/root_element_not_found_error.rb +11 -0
  21. data/lib/omml/errors/unsupported_root_element_error.rb +11 -0
  22. data/lib/omml/errors/xml_adapter_not_configured_error.rb +11 -0
  23. data/lib/omml/errors.rb +15 -0
  24. data/lib/omml/models/ct_acc.rb +23 -0
  25. data/lib/omml/models/ct_acc_pr.rb +23 -0
  26. data/lib/omml/models/ct_anchor.rb +60 -0
  27. data/lib/omml/models/ct_attr.rb +23 -0
  28. data/lib/omml/models/ct_bar.rb +23 -0
  29. data/lib/omml/models/ct_bar_pr.rb +23 -0
  30. data/lib/omml/models/ct_bookmark.rb +19 -0
  31. data/lib/omml/models/ct_bookmark_range.rb +21 -0
  32. data/lib/omml/models/ct_border.rb +35 -0
  33. data/lib/omml/models/ct_border_box.rb +24 -0
  34. data/lib/omml/models/ct_border_box_pr.rb +37 -0
  35. data/lib/omml/models/ct_box.rb +23 -0
  36. data/lib/omml/models/ct_box_pr.rb +31 -0
  37. data/lib/omml/models/ct_br.rb +21 -0
  38. data/lib/omml/models/ct_break_bin.rb +19 -0
  39. data/lib/omml/models/ct_break_bin_sub.rb +19 -0
  40. data/lib/omml/models/ct_calendar_type.rb +19 -0
  41. data/lib/omml/models/ct_char.rb +19 -0
  42. data/lib/omml/models/ct_color.rb +25 -0
  43. data/lib/omml/models/ct_control.rb +23 -0
  44. data/lib/omml/models/ct_ctrl_pr.rb +21 -0
  45. data/lib/omml/models/ct_custom_xml_pr.rb +23 -0
  46. data/lib/omml/models/ct_custom_xml_run.rb +27 -0
  47. data/lib/omml/models/ct_d.rb +23 -0
  48. data/lib/omml/models/ct_d_pr.rb +34 -0
  49. data/lib/omml/models/ct_data_binding.rb +23 -0
  50. data/lib/omml/models/ct_decimal_number.rb +19 -0
  51. data/lib/omml/models/ct_drawing.rb +23 -0
  52. data/lib/omml/models/ct_east_asian_layout.rb +27 -0
  53. data/lib/omml/models/ct_effect_extent.rb +25 -0
  54. data/lib/omml/models/ct_em.rb +19 -0
  55. data/lib/omml/models/ct_empty.rb +15 -0
  56. data/lib/omml/models/ct_eq_arr.rb +23 -0
  57. data/lib/omml/models/ct_eq_arr_pr.rb +31 -0
  58. data/lib/omml/models/ct_f.rb +25 -0
  59. data/lib/omml/models/ct_f_pr.rb +23 -0
  60. data/lib/omml/models/ct_f_type.rb +19 -0
  61. data/lib/omml/models/ct_ff_check_box.rb +29 -0
  62. data/lib/omml/models/ct_ff_data.rb +41 -0
  63. data/lib/omml/models/ct_ff_help_text.rb +21 -0
  64. data/lib/omml/models/ct_ff_name.rb +19 -0
  65. data/lib/omml/models/ct_ff_status_text.rb +21 -0
  66. data/lib/omml/models/ct_ff_text_input.rb +27 -0
  67. data/lib/omml/models/ct_ff_text_type.rb +19 -0
  68. data/lib/omml/models/ct_ffdd_list.rb +25 -0
  69. data/lib/omml/models/ct_fit_text.rb +21 -0
  70. data/lib/omml/models/ct_fld_char.rb +32 -0
  71. data/lib/omml/models/ct_fonts.rb +35 -0
  72. data/lib/omml/models/ct_ftn_edn_ref.rb +21 -0
  73. data/lib/omml/models/ct_func.rb +26 -0
  74. data/lib/omml/models/ct_func_pr.rb +21 -0
  75. data/lib/omml/models/ct_graphical_object.rb +21 -0
  76. data/lib/omml/models/ct_graphical_object_data.rb +19 -0
  77. data/lib/omml/models/ct_graphical_object_frame_locking.rb +33 -0
  78. data/lib/omml/models/ct_group_chr.rb +23 -0
  79. data/lib/omml/models/ct_group_chr_pr.rb +27 -0
  80. data/lib/omml/models/ct_highlight.rb +19 -0
  81. data/lib/omml/models/ct_hps_measure.rb +19 -0
  82. data/lib/omml/models/ct_hyperlink.rb +31 -0
  83. data/lib/omml/models/ct_inline.rb +38 -0
  84. data/lib/omml/models/ct_integer2.rb +19 -0
  85. data/lib/omml/models/ct_integer255.rb +19 -0
  86. data/lib/omml/models/ct_lang.rb +19 -0
  87. data/lib/omml/models/ct_language.rb +23 -0
  88. data/lib/omml/models/ct_lim_loc.rb +19 -0
  89. data/lib/omml/models/ct_lim_low.rb +26 -0
  90. data/lib/omml/models/ct_lim_low_pr.rb +21 -0
  91. data/lib/omml/models/ct_lim_upp.rb +25 -0
  92. data/lib/omml/models/ct_lim_upp_pr.rb +21 -0
  93. data/lib/omml/models/ct_lock.rb +19 -0
  94. data/lib/omml/models/ct_m.rb +23 -0
  95. data/lib/omml/models/ct_m_pr.rb +37 -0
  96. data/lib/omml/models/ct_macro_name.rb +19 -0
  97. data/lib/omml/models/ct_manual_break.rb +19 -0
  98. data/lib/omml/models/ct_markup.rb +19 -0
  99. data/lib/omml/models/ct_markup_range.rb +19 -0
  100. data/lib/omml/models/ct_math_pr.rb +53 -0
  101. data/lib/omml/models/ct_mc.rb +21 -0
  102. data/lib/omml/models/ct_mc_pr.rb +23 -0
  103. data/lib/omml/models/ct_mcs.rb +21 -0
  104. data/lib/omml/models/ct_move_bookmark.rb +21 -0
  105. data/lib/omml/models/ct_mr.rb +21 -0
  106. data/lib/omml/models/ct_nary.rb +27 -0
  107. data/lib/omml/models/ct_nary_pr.rb +31 -0
  108. data/lib/omml/models/ct_non_visual_drawing_props.rb +33 -0
  109. data/lib/omml/models/ct_non_visual_graphic_frame_properties.rb +24 -0
  110. data/lib/omml/models/ct_o_math.rb +22 -0
  111. data/lib/omml/models/ct_o_math_arg.rb +28 -0
  112. data/lib/omml/models/ct_o_math_arg_pr.rb +21 -0
  113. data/lib/omml/models/ct_o_math_jc.rb +19 -0
  114. data/lib/omml/models/ct_o_math_para.rb +26 -0
  115. data/lib/omml/models/ct_o_math_para_pr.rb +21 -0
  116. data/lib/omml/models/ct_object.rb +25 -0
  117. data/lib/omml/models/ct_office_art_extension.rb +19 -0
  118. data/lib/omml/models/ct_office_art_extension_list.rb +21 -0
  119. data/lib/omml/models/ct_on_off.rb +19 -0
  120. data/lib/omml/models/ct_p_tab.rb +23 -0
  121. data/lib/omml/models/ct_perm.rb +21 -0
  122. data/lib/omml/models/ct_perm_start.rb +25 -0
  123. data/lib/omml/models/ct_phant.rb +23 -0
  124. data/lib/omml/models/ct_phant_pr.rb +31 -0
  125. data/lib/omml/models/ct_picture.rb +23 -0
  126. data/lib/omml/models/ct_picture_base.rb +15 -0
  127. data/lib/omml/models/ct_placeholder.rb +21 -0
  128. data/lib/omml/models/ct_point2_d.rb +21 -0
  129. data/lib/omml/models/ct_pos_h.rb +27 -0
  130. data/lib/omml/models/ct_pos_v.rb +27 -0
  131. data/lib/omml/models/ct_positive_size2_d.rb +21 -0
  132. data/lib/omml/models/ct_proof_err.rb +19 -0
  133. data/lib/omml/models/ct_r.rb +27 -0
  134. data/lib/omml/models/ct_r_pr.rb +21 -0
  135. data/lib/omml/models/ct_r_pr_change.rb +21 -0
  136. data/lib/omml/models/ct_r_pr_original.rb +21 -0
  137. data/lib/omml/models/ct_rad.rb +25 -0
  138. data/lib/omml/models/ct_rad_pr.rb +23 -0
  139. data/lib/omml/models/ct_rel.rb +19 -0
  140. data/lib/omml/models/ct_rpr.rb +33 -0
  141. data/lib/omml/models/ct_ruby.rb +25 -0
  142. data/lib/omml/models/ct_ruby_align.rb +19 -0
  143. data/lib/omml/models/ct_ruby_content.rb +19 -0
  144. data/lib/omml/models/ct_ruby_pr.rb +31 -0
  145. data/lib/omml/models/ct_run_track_change.rb +23 -0
  146. data/lib/omml/models/ct_s_pre.rb +28 -0
  147. data/lib/omml/models/ct_s_pre_pr.rb +21 -0
  148. data/lib/omml/models/ct_s_sub.rb +25 -0
  149. data/lib/omml/models/ct_s_sub_pr.rb +21 -0
  150. data/lib/omml/models/ct_s_sub_sup.rb +28 -0
  151. data/lib/omml/models/ct_s_sub_sup_pr.rb +23 -0
  152. data/lib/omml/models/ct_s_sup.rb +25 -0
  153. data/lib/omml/models/ct_s_sup_pr.rb +21 -0
  154. data/lib/omml/models/ct_script.rb +19 -0
  155. data/lib/omml/models/ct_sdt_combo_box.rb +23 -0
  156. data/lib/omml/models/ct_sdt_content_run.rb +19 -0
  157. data/lib/omml/models/ct_sdt_date.rb +30 -0
  158. data/lib/omml/models/ct_sdt_date_mapping_type.rb +19 -0
  159. data/lib/omml/models/ct_sdt_doc_part.rb +25 -0
  160. data/lib/omml/models/ct_sdt_drop_down_list.rb +23 -0
  161. data/lib/omml/models/ct_sdt_end_pr.rb +21 -0
  162. data/lib/omml/models/ct_sdt_list_item.rb +21 -0
  163. data/lib/omml/models/ct_sdt_pr.rb +63 -0
  164. data/lib/omml/models/ct_sdt_run.rb +25 -0
  165. data/lib/omml/models/ct_sdt_text.rb +19 -0
  166. data/lib/omml/models/ct_shd.rb +35 -0
  167. data/lib/omml/models/ct_shp.rb +19 -0
  168. data/lib/omml/models/ct_signed_hps_measure.rb +19 -0
  169. data/lib/omml/models/ct_signed_twips_measure.rb +19 -0
  170. data/lib/omml/models/ct_simple_field.rb +29 -0
  171. data/lib/omml/models/ct_smart_tag_pr.rb +21 -0
  172. data/lib/omml/models/ct_smart_tag_run.rb +27 -0
  173. data/lib/omml/models/ct_spacing_rule.rb +19 -0
  174. data/lib/omml/models/ct_string.rb +19 -0
  175. data/lib/omml/models/ct_style.rb +19 -0
  176. data/lib/omml/models/ct_sym.rb +21 -0
  177. data/lib/omml/models/ct_text.rb +19 -0
  178. data/lib/omml/models/ct_text_effect.rb +19 -0
  179. data/lib/omml/models/ct_text_scale.rb +19 -0
  180. data/lib/omml/models/ct_top_bot.rb +19 -0
  181. data/lib/omml/models/ct_track_change.rb +21 -0
  182. data/lib/omml/models/ct_track_change_numbering.rb +19 -0
  183. data/lib/omml/models/ct_twips_measure.rb +19 -0
  184. data/lib/omml/models/ct_un_signed_integer.rb +19 -0
  185. data/lib/omml/models/ct_underline.rb +27 -0
  186. data/lib/omml/models/ct_vertical_align_run.rb +19 -0
  187. data/lib/omml/models/ct_wordprocessing_on_off.rb +19 -0
  188. data/lib/omml/models/ct_wrap_none.rb +15 -0
  189. data/lib/omml/models/ct_wrap_path.rb +25 -0
  190. data/lib/omml/models/ct_wrap_square.rb +31 -0
  191. data/lib/omml/models/ct_wrap_through.rb +27 -0
  192. data/lib/omml/models/ct_wrap_tight.rb +27 -0
  193. data/lib/omml/models/ct_wrap_top_bottom.rb +25 -0
  194. data/lib/omml/models/ct_x_align.rb +19 -0
  195. data/lib/omml/models/ct_y_align.rb +19 -0
  196. data/lib/omml/models/groups/eg_content_run_content.rb +26 -0
  197. data/lib/omml/models/groups/eg_math_content.rb +20 -0
  198. data/lib/omml/models/groups/eg_o_math_elements.rb +20 -0
  199. data/lib/omml/models/groups/eg_o_math_math_elements.rb +56 -0
  200. data/lib/omml/models/groups/eg_office_art_extension_list.rb +16 -0
  201. data/lib/omml/models/groups/eg_p_content.rb +24 -0
  202. data/lib/omml/models/groups/eg_r_pr.rb +17 -0
  203. data/lib/omml/models/groups/eg_r_pr_base.rb +93 -0
  204. data/lib/omml/models/groups/eg_r_pr_content.rb +19 -0
  205. data/lib/omml/models/groups/eg_r_pr_math.rb +23 -0
  206. data/lib/omml/models/groups/eg_range_markup_elements.rb +60 -0
  207. data/lib/omml/models/groups/eg_ruby_content.rb +20 -0
  208. data/lib/omml/models/groups/eg_run_inner_content.rb +83 -0
  209. data/lib/omml/models/groups/eg_run_level_elts.rb +34 -0
  210. data/lib/omml/models/groups/eg_script_style.rb +18 -0
  211. data/lib/omml/models/groups/eg_word_r_pr.rb +17 -0
  212. data/lib/omml/models/groups/eg_wrap_type.rb +27 -0
  213. data/lib/omml/models/groups.rb +19 -0
  214. data/lib/omml/models/o_math.rb +21 -0
  215. data/lib/omml/models/o_math_para.rb +25 -0
  216. data/lib/omml/models/simple_types/enum_string.rb +42 -0
  217. data/lib/omml/models/simple_types/hex_binary.rb +15 -0
  218. data/lib/omml/models/simple_types/st_adj_coordinate.rb +24 -0
  219. data/lib/omml/models/simple_types/st_align_h.rb +17 -0
  220. data/lib/omml/models/simple_types/st_align_v.rb +17 -0
  221. data/lib/omml/models/simple_types/st_border.rb +203 -0
  222. data/lib/omml/models/simple_types/st_br_clear.rb +16 -0
  223. data/lib/omml/models/simple_types/st_br_type.rb +15 -0
  224. data/lib/omml/models/simple_types/st_break_bin.rb +15 -0
  225. data/lib/omml/models/simple_types/st_break_bin_sub.rb +15 -0
  226. data/lib/omml/models/simple_types/st_calendar_type.rb +22 -0
  227. data/lib/omml/models/simple_types/st_combine_brackets.rb +17 -0
  228. data/lib/omml/models/simple_types/st_coordinate.rb +16 -0
  229. data/lib/omml/models/simple_types/st_displaced_by_custom_xml.rb +14 -0
  230. data/lib/omml/models/simple_types/st_ed_grp.rb +19 -0
  231. data/lib/omml/models/simple_types/st_em.rb +17 -0
  232. data/lib/omml/models/simple_types/st_f_type.rb +16 -0
  233. data/lib/omml/models/simple_types/st_ff_text_type.rb +18 -0
  234. data/lib/omml/models/simple_types/st_fld_char_type.rb +15 -0
  235. data/lib/omml/models/simple_types/st_geom_guide_name.rb +10 -0
  236. data/lib/omml/models/simple_types/st_hex_color.rb +24 -0
  237. data/lib/omml/models/simple_types/st_highlight_color.rb +29 -0
  238. data/lib/omml/models/simple_types/st_hint.rb +15 -0
  239. data/lib/omml/models/simple_types/st_info_text_type.rb +14 -0
  240. data/lib/omml/models/simple_types/st_integer2.rb +15 -0
  241. data/lib/omml/models/simple_types/st_integer255.rb +15 -0
  242. data/lib/omml/models/simple_types/st_jc.rb +16 -0
  243. data/lib/omml/models/simple_types/st_lang.rb +24 -0
  244. data/lib/omml/models/simple_types/st_lim_loc.rb +14 -0
  245. data/lib/omml/models/simple_types/st_lock.rb +16 -0
  246. data/lib/omml/models/simple_types/st_on_off.rb +18 -0
  247. data/lib/omml/models/simple_types/st_p_tab_alignment.rb +15 -0
  248. data/lib/omml/models/simple_types/st_p_tab_leader.rb +17 -0
  249. data/lib/omml/models/simple_types/st_p_tab_relative_to.rb +14 -0
  250. data/lib/omml/models/simple_types/st_positive_coordinate.rb +15 -0
  251. data/lib/omml/models/simple_types/st_proof_err.rb +16 -0
  252. data/lib/omml/models/simple_types/st_rel_from_h.rb +20 -0
  253. data/lib/omml/models/simple_types/st_rel_from_v.rb +20 -0
  254. data/lib/omml/models/simple_types/st_ruby_align.rb +18 -0
  255. data/lib/omml/models/simple_types/st_script.rb +18 -0
  256. data/lib/omml/models/simple_types/st_sdt_date_mapping_type.rb +15 -0
  257. data/lib/omml/models/simple_types/st_shd.rb +50 -0
  258. data/lib/omml/models/simple_types/st_shp.rb +14 -0
  259. data/lib/omml/models/simple_types/st_spacing_rule.rb +15 -0
  260. data/lib/omml/models/simple_types/st_style.rb +16 -0
  261. data/lib/omml/models/simple_types/st_text_effect.rb +19 -0
  262. data/lib/omml/models/simple_types/st_text_scale.rb +15 -0
  263. data/lib/omml/models/simple_types/st_theme.rb +20 -0
  264. data/lib/omml/models/simple_types/st_theme_color.rb +29 -0
  265. data/lib/omml/models/simple_types/st_top_bot.rb +14 -0
  266. data/lib/omml/models/simple_types/st_underline.rb +30 -0
  267. data/lib/omml/models/simple_types/st_vertical_align_run.rb +15 -0
  268. data/lib/omml/models/simple_types/st_wrap_text.rb +16 -0
  269. data/lib/omml/models/simple_types/st_x_align.rb +15 -0
  270. data/lib/omml/models/simple_types/st_y_align.rb +15 -0
  271. data/lib/omml/models/simple_types/token.rb +35 -0
  272. data/lib/omml/models/simple_types/unsigned_int.rb +15 -0
  273. data/lib/omml/models/simple_types/unsigned_long.rb +15 -0
  274. data/lib/omml/models/simple_types.rb +60 -0
  275. data/lib/omml/models.rb +183 -0
  276. data/lib/omml/namespace.rb +9 -0
  277. data/lib/omml/parser.rb +39 -0
  278. data/lib/omml/type_substitutions.rb +89 -0
  279. data/lib/omml/version.rb +2 -2
  280. data/lib/omml/wordprocessing_namespace.rb +9 -0
  281. data/lib/omml.rb +31 -3
  282. data/omml.gemspec +18 -14
  283. data/sig/omml.rbs +1 -1
  284. metadata +335 -6
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTTextEffect < Lutaml::Model::Serializable
6
+ attribute :val, :st_text_effect
7
+
8
+ xml do
9
+ element "CT_TextEffect"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTTextEffect)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTTextScale < Lutaml::Model::Serializable
6
+ attribute :val, :st_text_scale
7
+
8
+ xml do
9
+ element "CT_TextScale"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTTextScale)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTTopBot < Lutaml::Model::Serializable
6
+ attribute :val, :st_top_bot
7
+
8
+ xml do
9
+ element "CT_TopBot"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTTopBot)
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTTrackChange < CTMarkup
6
+ attribute :author, :st_string
7
+ attribute :date, :st_date_time
8
+
9
+ xml do
10
+ element "CT_TrackChange"
11
+
12
+ namespace Omml::Namespace
13
+
14
+ map_attribute :author, to: :author
15
+ map_attribute :date, to: :date
16
+ end
17
+ end
18
+
19
+ Omml::Configuration.register_model(CTTrackChange)
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTTrackChangeNumbering < CTTrackChange
6
+ attribute :original, :st_string
7
+
8
+ xml do
9
+ element "CT_TrackChangeNumbering"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :original, to: :original
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTTrackChangeNumbering)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTTwipsMeasure < Lutaml::Model::Serializable
6
+ attribute :val, :st_twips_measure
7
+
8
+ xml do
9
+ element "CT_TwipsMeasure"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTTwipsMeasure)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTUnSignedInteger < Lutaml::Model::Serializable
6
+ attribute :val, :st_un_signed_integer
7
+
8
+ xml do
9
+ element "CT_UnSignedInteger"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTUnSignedInteger)
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTUnderline < Lutaml::Model::Serializable
6
+ attribute :val, :st_underline
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
+
12
+ xml do
13
+ element "CT_Underline"
14
+
15
+ namespace Omml::Namespace
16
+
17
+ map_attribute :val, to: :val
18
+ map_attribute :color, to: :color
19
+ map_attribute :themeColor, to: :theme_color
20
+ map_attribute :themeTint, to: :theme_tint
21
+ map_attribute :themeShade, to: :theme_shade
22
+ end
23
+ end
24
+
25
+ Omml::Configuration.register_model(CTUnderline)
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTVerticalAlignRun < Lutaml::Model::Serializable
6
+ attribute :val, :st_vertical_align_run
7
+
8
+ xml do
9
+ element "CT_VerticalAlignRun"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTVerticalAlignRun)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWordprocessingOnOff < Lutaml::Model::Serializable
6
+ attribute :val, :st_on_off, default: -> { "on" }
7
+
8
+ xml do
9
+ element "CT_OnOff"
10
+
11
+ namespace Omml::WordprocessingNamespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTWordprocessingOnOff)
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWrapNone < Lutaml::Model::Serializable
6
+ xml do
7
+ element "CT_WrapNone"
8
+
9
+ namespace Omml::Namespace
10
+ end
11
+ end
12
+
13
+ Omml::Configuration.register_model(CTWrapNone)
14
+ end
15
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWrapPath < Lutaml::Model::Serializable
6
+ attribute :start, :ct_point2_d, collection: 1..1
7
+ attribute :line_to, :ct_point2_d, collection: 2..Float::INFINITY
8
+ attribute :edited, :boolean
9
+
10
+ xml do
11
+ element "CT_WrapPath"
12
+
13
+ namespace Omml::Namespace
14
+
15
+ sequence do
16
+ map_element :start, to: :start, render_empty: true
17
+ map_element :lineTo, to: :line_to, render_empty: true
18
+ end
19
+ map_attribute :edited, to: :edited
20
+ end
21
+ end
22
+
23
+ Omml::Configuration.register_model(CTWrapPath)
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWrapSquare < Lutaml::Model::Serializable
6
+ attribute :effect_extent, :ct_effect_extent, collection: 0..1
7
+ attribute :wrap_text, :st_wrap_text
8
+ attribute :dist_t, :st_wrap_distance
9
+ attribute :dist_b, :st_wrap_distance
10
+ attribute :dist_l, :st_wrap_distance
11
+ attribute :dist_r, :st_wrap_distance
12
+
13
+ xml do
14
+ element "CT_WrapSquare"
15
+
16
+ namespace Omml::Namespace
17
+
18
+ sequence do
19
+ map_element :effectExtent, to: :effect_extent
20
+ end
21
+ map_attribute :wrapText, to: :wrap_text
22
+ map_attribute :distT, to: :dist_t
23
+ map_attribute :distB, to: :dist_b
24
+ map_attribute :distL, to: :dist_l
25
+ map_attribute :distR, to: :dist_r
26
+ end
27
+ end
28
+
29
+ Omml::Configuration.register_model(CTWrapSquare)
30
+ end
31
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWrapThrough < Lutaml::Model::Serializable
6
+ attribute :wrap_polygon, :ct_wrap_path, collection: 1..1
7
+ attribute :wrap_text, :st_wrap_text
8
+ attribute :dist_l, :st_wrap_distance
9
+ attribute :dist_r, :st_wrap_distance
10
+
11
+ xml do
12
+ element "CT_WrapThrough"
13
+
14
+ namespace Omml::Namespace
15
+
16
+ sequence do
17
+ map_element :wrapPolygon, to: :wrap_polygon, render_empty: true
18
+ end
19
+ map_attribute :wrapText, to: :wrap_text
20
+ map_attribute :distL, to: :dist_l
21
+ map_attribute :distR, to: :dist_r
22
+ end
23
+ end
24
+
25
+ Omml::Configuration.register_model(CTWrapThrough)
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWrapTight < Lutaml::Model::Serializable
6
+ attribute :wrap_polygon, :ct_wrap_path, collection: 1..1
7
+ attribute :wrap_text, :st_wrap_text
8
+ attribute :dist_l, :st_wrap_distance
9
+ attribute :dist_r, :st_wrap_distance
10
+
11
+ xml do
12
+ element "CT_WrapTight"
13
+
14
+ namespace Omml::Namespace
15
+
16
+ sequence do
17
+ map_element :wrapPolygon, to: :wrap_polygon, render_empty: true
18
+ end
19
+ map_attribute :wrapText, to: :wrap_text
20
+ map_attribute :distL, to: :dist_l
21
+ map_attribute :distR, to: :dist_r
22
+ end
23
+ end
24
+
25
+ Omml::Configuration.register_model(CTWrapTight)
26
+ end
27
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTWrapTopBottom < Lutaml::Model::Serializable
6
+ attribute :effect_extent, :ct_effect_extent, collection: 0..1
7
+ attribute :dist_t, :st_wrap_distance
8
+ attribute :dist_b, :st_wrap_distance
9
+
10
+ xml do
11
+ element "CT_WrapTopBottom"
12
+
13
+ namespace Omml::Namespace
14
+
15
+ sequence do
16
+ map_element :effectExtent, to: :effect_extent
17
+ end
18
+ map_attribute :distT, to: :dist_t
19
+ map_attribute :distB, to: :dist_b
20
+ end
21
+ end
22
+
23
+ Omml::Configuration.register_model(CTWrapTopBottom)
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTXAlign < Lutaml::Model::Serializable
6
+ attribute :val, :st_x_align
7
+
8
+ xml do
9
+ element "CT_XAlign"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTXAlign)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTYAlign < Lutaml::Model::Serializable
6
+ attribute :val, :st_y_align
7
+
8
+ xml do
9
+ element "CT_YAlign"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTYAlign)
18
+ end
19
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGContentRunContent < Lutaml::Model::Serializable
6
+ choice(min: 1, max: 1) do
7
+ attribute :custom_xml, :ct_custom_xml_run
8
+ attribute :smart_tag, :ct_smart_tag_run
9
+ attribute :sdt, :ct_sdt_run
10
+ attribute :r, :ct_r
11
+ import_model_attributes :eg_run_level_elts
12
+ end
13
+
14
+ xml do
15
+ type_name "EG_ContentRunContent"
16
+ map_element :customXml, to: :custom_xml, render_empty: true
17
+ map_element :smartTag, to: :smart_tag, render_empty: true
18
+ map_element :sdt, to: :sdt, render_empty: true
19
+ map_element :r, to: :r, render_empty: true
20
+ import_model_mappings :eg_run_level_elts
21
+ end
22
+ end
23
+
24
+ Omml::Configuration.register_model(EGContentRunContent)
25
+ end
26
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGMathContent < Lutaml::Model::Serializable
6
+ choice(min: 1, max: 1) do
7
+ attribute :o_math_para, :ct_o_math_para
8
+ attribute :o_math, :ct_o_math
9
+ end
10
+
11
+ xml do
12
+ type_name "EG_MathContent"
13
+ map_element :oMathPara, to: :o_math_para, render_empty: true
14
+ map_element :oMath, to: :o_math, render_empty: true
15
+ end
16
+ end
17
+
18
+ Omml::Configuration.register_model(EGMathContent)
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGOMathElements < Lutaml::Model::Serializable
6
+ choice(min: 1, max: 1) do
7
+ import_model_attributes :eg_o_math_math_elements
8
+ import_model_attributes :eg_run_level_elts
9
+ end
10
+
11
+ xml do
12
+ type_name "EG_OMathElements"
13
+ import_model_mappings :eg_o_math_math_elements
14
+ import_model_mappings :eg_run_level_elts
15
+ end
16
+ end
17
+
18
+ Omml::Configuration.register_model(EGOMathElements)
19
+ end
20
+ end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGOMathMathElements < Lutaml::Model::Serializable
6
+ choice(min: 1, max: 1) do
7
+ attribute :acc, :ct_acc, collection: 0..Float::INFINITY
8
+ attribute :bar, :ct_bar, collection: 0..Float::INFINITY
9
+ attribute :box, :ct_box, collection: 0..Float::INFINITY
10
+ attribute :border_box, :ct_border_box, collection: 0..Float::INFINITY
11
+ attribute :d, :ct_d, collection: 0..Float::INFINITY
12
+ attribute :eq_arr, :ct_eq_arr, collection: 0..Float::INFINITY
13
+ attribute :f, :ct_f, collection: 0..Float::INFINITY
14
+ attribute :func, :ct_func, collection: 0..Float::INFINITY
15
+ attribute :group_chr, :ct_group_chr, collection: 0..Float::INFINITY
16
+ attribute :lim_low, :ct_lim_low, collection: 0..Float::INFINITY
17
+ attribute :lim_upp, :ct_lim_upp, collection: 0..Float::INFINITY
18
+ attribute :m, :ct_m, collection: 0..Float::INFINITY
19
+ attribute :nary, :ct_nary, collection: 0..Float::INFINITY
20
+ attribute :phant, :ct_phant, collection: 0..Float::INFINITY
21
+ attribute :rad, :ct_rad, collection: 0..Float::INFINITY
22
+ attribute :s_pre, :ct_s_pre, collection: 0..Float::INFINITY
23
+ attribute :s_sub, :ct_s_sub, collection: 0..Float::INFINITY
24
+ attribute :s_sub_sup, :ct_s_sub_sup, collection: 0..Float::INFINITY
25
+ attribute :s_sup, :ct_s_sup, collection: 0..Float::INFINITY
26
+ attribute :r, :ct_r, collection: 0..Float::INFINITY
27
+ end
28
+
29
+ xml do
30
+ type_name "EG_OMathMathElements"
31
+ map_element :acc, to: :acc, render_empty: true
32
+ map_element :bar, to: :bar, render_empty: true
33
+ map_element :box, to: :box, render_empty: true
34
+ map_element :borderBox, to: :border_box, render_empty: true
35
+ map_element :d, to: :d, render_empty: true
36
+ map_element :eqArr, to: :eq_arr, render_empty: true
37
+ map_element :f, to: :f, render_empty: true
38
+ map_element :func, to: :func, render_empty: true
39
+ map_element :groupChr, to: :group_chr, render_empty: true
40
+ map_element :limLow, to: :lim_low, render_empty: true
41
+ map_element :limUpp, to: :lim_upp, render_empty: true
42
+ map_element :m, to: :m, render_empty: true
43
+ map_element :nary, to: :nary, render_empty: true
44
+ map_element :phant, to: :phant, render_empty: true
45
+ map_element :rad, to: :rad, render_empty: true
46
+ map_element :sPre, to: :s_pre, render_empty: true
47
+ map_element :sSub, to: :s_sub, render_empty: true
48
+ map_element :sSubSup, to: :s_sub_sup, render_empty: true
49
+ map_element :sSup, to: :s_sup, render_empty: true
50
+ map_element :r, to: :r, render_empty: true
51
+ end
52
+ end
53
+
54
+ Omml::Configuration.register_model(EGOMathMathElements)
55
+ end
56
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGOfficeArtExtensionList < Lutaml::Model::Serializable
6
+ attribute :ext, :ct_office_art_extension, collection: 0..Float::INFINITY
7
+
8
+ xml do
9
+ type_name "EG_OfficeArtExtensionList"
10
+ map_element :ext, to: :ext
11
+ end
12
+ end
13
+
14
+ Omml::Configuration.register_model(EGOfficeArtExtensionList)
15
+ end
16
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGPContent < Lutaml::Model::Serializable
6
+ choice(min: 1, max: 1) do
7
+ import_model_attributes :eg_content_run_content
8
+ attribute :fld_simple, :ct_simple_field, collection: 0..Float::INFINITY
9
+ attribute :hyperlink, :ct_hyperlink
10
+ attribute :sub_doc, :ct_rel
11
+ end
12
+
13
+ xml do
14
+ type_name "EG_PContent"
15
+ import_model_mappings :eg_content_run_content
16
+ map_element :fldSimple, to: :fld_simple
17
+ map_element :hyperlink, to: :hyperlink, render_empty: true
18
+ map_element :subDoc, to: :sub_doc, render_empty: true
19
+ end
20
+ end
21
+
22
+ Omml::Configuration.register_model(EGPContent)
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class EGRPr < Lutaml::Model::Serializable
6
+ attribute :r_pr, :ct_r_pr, collection: 0..1
7
+
8
+ xml do
9
+ type_name "EG_RPr"
10
+ namespace Omml::WordprocessingNamespace
11
+ map_element :rPr, to: :r_pr
12
+ end
13
+ end
14
+
15
+ Omml::Configuration.register_model(EGRPr)
16
+ end
17
+ end