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.
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 +1 -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 +22 -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 +39 -3
  282. data/omml.gemspec +18 -14
  283. data/sig/omml.rbs +1 -1
  284. metadata +335 -6
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSSubSupPr < Lutaml::Model::Serializable
6
+ attribute :aln_scr, :ct_on_off, collection: 0..1
7
+ attribute :ctrl_pr, :ct_ctrl_pr, collection: 0..1
8
+
9
+ xml do
10
+ element "CT_SSubSupPr"
11
+
12
+ namespace Omml::Namespace
13
+
14
+ sequence do
15
+ map_element :alnScr, to: :aln_scr
16
+ map_element :ctrlPr, to: :ctrl_pr
17
+ end
18
+ end
19
+ end
20
+
21
+ Omml::Configuration.register_model(CTSSubSupPr)
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSSup < Lutaml::Model::Serializable
6
+ attribute :s_sup_pr, :ct_s_sup_pr, collection: 0..1
7
+ attribute :e, :ct_o_math_arg
8
+ attribute :sup, :ct_o_math_arg
9
+
10
+ xml do
11
+ element "CT_SSup"
12
+
13
+ namespace Omml::Namespace
14
+
15
+ sequence do
16
+ map_element :sSupPr, to: :s_sup_pr
17
+ map_element :e, to: :e, render_empty: true
18
+ map_element :sup, to: :sup, render_empty: true
19
+ end
20
+ end
21
+ end
22
+
23
+ Omml::Configuration.register_model(CTSSup)
24
+ end
25
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSSupPr < Lutaml::Model::Serializable
6
+ attribute :ctrl_pr, :ct_ctrl_pr, collection: 0..1
7
+
8
+ xml do
9
+ element "CT_SSupPr"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ sequence do
14
+ map_element :ctrlPr, to: :ctrl_pr
15
+ end
16
+ end
17
+ end
18
+
19
+ Omml::Configuration.register_model(CTSSupPr)
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTScript < Lutaml::Model::Serializable
6
+ attribute :val, :st_script
7
+
8
+ xml do
9
+ element "CT_Script"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTScript)
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtComboBox < Lutaml::Model::Serializable
6
+ attribute :list_item, :ct_sdt_list_item, collection: 0..Float::INFINITY
7
+ attribute :last_value, :st_string
8
+
9
+ xml do
10
+ element "CT_SdtComboBox"
11
+
12
+ namespace Omml::Namespace
13
+
14
+ sequence do
15
+ map_element :listItem, to: :list_item
16
+ end
17
+ map_attribute :lastValue, to: :last_value
18
+ end
19
+ end
20
+
21
+ Omml::Configuration.register_model(CTSdtComboBox)
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtContentRun < Lutaml::Model::Serializable
6
+ import_model_attributes :eg_p_content
7
+
8
+ xml do
9
+ element "CT_SdtContentRun"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ import_model_mappings :eg_p_content
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTSdtContentRun)
18
+ end
19
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtDate < Lutaml::Model::Serializable
6
+ attribute :date_format, :ct_string, collection: 0..1
7
+ attribute :lid, :ct_lang, collection: 0..1
8
+ attribute :store_mapped_data_as, :ct_sdt_date_mapping_type,
9
+ collection: 0..1
10
+ attribute :calendar, :ct_calendar_type, collection: 0..1
11
+ attribute :full_date, :st_date_time
12
+
13
+ xml do
14
+ element "CT_SdtDate"
15
+
16
+ namespace Omml::Namespace
17
+
18
+ sequence do
19
+ map_element :dateFormat, to: :date_format
20
+ map_element :lid, to: :lid
21
+ map_element :storeMappedDataAs, to: :store_mapped_data_as
22
+ map_element :calendar, to: :calendar
23
+ end
24
+ map_attribute :fullDate, to: :full_date
25
+ end
26
+ end
27
+
28
+ Omml::Configuration.register_model(CTSdtDate)
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtDateMappingType < Lutaml::Model::Serializable
6
+ attribute :val, :st_sdt_date_mapping_type
7
+
8
+ xml do
9
+ element "CT_SdtDateMappingType"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTSdtDateMappingType)
18
+ end
19
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtDocPart < Lutaml::Model::Serializable
6
+ attribute :doc_part_gallery, :ct_string, collection: 0..1
7
+ attribute :doc_part_category, :ct_string, collection: 0..1
8
+ attribute :doc_part_unique, :ct_on_off, collection: 0..1
9
+
10
+ xml do
11
+ element "CT_SdtDocPart"
12
+
13
+ namespace Omml::Namespace
14
+
15
+ sequence do
16
+ map_element :docPartGallery, to: :doc_part_gallery
17
+ map_element :docPartCategory, to: :doc_part_category
18
+ map_element :docPartUnique, to: :doc_part_unique
19
+ end
20
+ end
21
+ end
22
+
23
+ Omml::Configuration.register_model(CTSdtDocPart)
24
+ end
25
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtDropDownList < Lutaml::Model::Serializable
6
+ attribute :list_item, :ct_sdt_list_item, collection: 0..Float::INFINITY
7
+ attribute :last_value, :st_string
8
+
9
+ xml do
10
+ element "CT_SdtDropDownList"
11
+
12
+ namespace Omml::Namespace
13
+
14
+ sequence do
15
+ map_element :listItem, to: :list_item
16
+ end
17
+ map_attribute :lastValue, to: :last_value
18
+ end
19
+ end
20
+
21
+ Omml::Configuration.register_model(CTSdtDropDownList)
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtEndPr < Lutaml::Model::Serializable
6
+ choice(min: 1, max: Float::INFINITY) do
7
+ attribute :r_pr, :ct_r_pr, collection: 0..1
8
+ end
9
+
10
+ xml do
11
+ element "CT_SdtEndPr"
12
+
13
+ namespace Omml::Namespace
14
+
15
+ map_element :rPr, to: :r_pr
16
+ end
17
+ end
18
+
19
+ Omml::Configuration.register_model(CTSdtEndPr)
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtListItem < Lutaml::Model::Serializable
6
+ attribute :display_text, :st_string
7
+ attribute :value, :st_string
8
+
9
+ xml do
10
+ element "CT_SdtListItem"
11
+
12
+ namespace Omml::Namespace
13
+
14
+ map_attribute :displayText, to: :display_text
15
+ map_attribute :value, to: :value
16
+ end
17
+ end
18
+
19
+ Omml::Configuration.register_model(CTSdtListItem)
20
+ end
21
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtPr < Lutaml::Model::Serializable
6
+ choice(min: 1, max: Float::INFINITY) do
7
+ attribute :r_pr, :ct_r_pr, collection: 0..1
8
+ attribute :alias, :ct_string, collection: 0..1
9
+ attribute :lock, :ct_lock, collection: 0..1
10
+ attribute :placeholder, :ct_placeholder, collection: 0..1
11
+ attribute :showing_plc_hdr, :ct_on_off, collection: 0..1
12
+ attribute :data_binding, :ct_data_binding, collection: 0..1
13
+ attribute :temporary, :ct_on_off, collection: 0..1
14
+ attribute :id, :ct_decimal_number, collection: 0..1
15
+ attribute :tag, :ct_string, collection: 0..1
16
+ choice(min: 0, max: 1) do
17
+ attribute :equation, :ct_empty
18
+ attribute :combo_box, :ct_sdt_combo_box
19
+ attribute :date, :ct_sdt_date
20
+ attribute :doc_part_obj, :ct_sdt_doc_part
21
+ attribute :doc_part_list, :ct_sdt_doc_part
22
+ attribute :drop_down_list, :ct_sdt_drop_down_list
23
+ attribute :picture, :ct_empty
24
+ attribute :rich_text, :ct_empty
25
+ attribute :text, :ct_sdt_text
26
+ attribute :citation, :ct_empty
27
+ attribute :group, :ct_empty
28
+ attribute :bibliography, :ct_empty
29
+ end
30
+ end
31
+
32
+ xml do
33
+ element "CT_SdtPr"
34
+
35
+ namespace Omml::Namespace
36
+
37
+ map_element :rPr, to: :r_pr
38
+ map_element :alias, to: :alias
39
+ map_element :lock, to: :lock
40
+ map_element :placeholder, to: :placeholder
41
+ map_element :showingPlcHdr, to: :showing_plc_hdr
42
+ map_element :dataBinding, to: :data_binding
43
+ map_element :temporary, to: :temporary
44
+ map_element :id, to: :id
45
+ map_element :tag, to: :tag
46
+ map_element :equation, to: :equation, render_empty: true
47
+ map_element :comboBox, to: :combo_box, render_empty: true
48
+ map_element :date, to: :date, render_empty: true
49
+ map_element :docPartObj, to: :doc_part_obj, render_empty: true
50
+ map_element :docPartList, to: :doc_part_list, render_empty: true
51
+ map_element :dropDownList, to: :drop_down_list, render_empty: true
52
+ map_element :picture, to: :picture, render_empty: true
53
+ map_element :richText, to: :rich_text, render_empty: true
54
+ map_element :text, to: :text, render_empty: true
55
+ map_element :citation, to: :citation, render_empty: true
56
+ map_element :group, to: :group, render_empty: true
57
+ map_element :bibliography, to: :bibliography, render_empty: true
58
+ end
59
+ end
60
+
61
+ Omml::Configuration.register_model(CTSdtPr)
62
+ end
63
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtRun < Lutaml::Model::Serializable
6
+ attribute :sdt_pr, :ct_sdt_pr, collection: 0..1
7
+ attribute :sdt_end_pr, :ct_sdt_end_pr, collection: 0..1
8
+ attribute :sdt_content, :ct_sdt_content_run, collection: 0..1
9
+
10
+ xml do
11
+ element "CT_SdtRun"
12
+
13
+ namespace Omml::Namespace
14
+
15
+ sequence do
16
+ map_element :sdtPr, to: :sdt_pr
17
+ map_element :sdtEndPr, to: :sdt_end_pr
18
+ map_element :sdtContent, to: :sdt_content
19
+ end
20
+ end
21
+ end
22
+
23
+ Omml::Configuration.register_model(CTSdtRun)
24
+ end
25
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSdtText < Lutaml::Model::Serializable
6
+ attribute :multi_line, :st_on_off
7
+
8
+ xml do
9
+ element "CT_SdtText"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :multiLine, to: :multi_line
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTSdtText)
18
+ end
19
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTShd < Lutaml::Model::Serializable
6
+ attribute :val, :st_shd
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 :fill, :st_hex_color
12
+ attribute :theme_fill, :st_theme_color
13
+ attribute :theme_fill_tint, :st_uchar_hex_number
14
+ attribute :theme_fill_shade, :st_uchar_hex_number
15
+
16
+ xml do
17
+ element "CT_Shd"
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 :fill, to: :fill
27
+ map_attribute :themeFill, to: :theme_fill
28
+ map_attribute :themeFillTint, to: :theme_fill_tint
29
+ map_attribute :themeFillShade, to: :theme_fill_shade
30
+ end
31
+ end
32
+
33
+ Omml::Configuration.register_model(CTShd)
34
+ end
35
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTShp < Lutaml::Model::Serializable
6
+ attribute :val, :st_shp
7
+
8
+ xml do
9
+ element "CT_Shp"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTShp)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSignedHpsMeasure < Lutaml::Model::Serializable
6
+ attribute :val, :st_signed_hps_measure
7
+
8
+ xml do
9
+ element "CT_SignedHpsMeasure"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTSignedHpsMeasure)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSignedTwipsMeasure < Lutaml::Model::Serializable
6
+ attribute :val, :st_signed_twips_measure
7
+
8
+ xml do
9
+ element "CT_SignedTwipsMeasure"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTSignedTwipsMeasure)
18
+ end
19
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSimpleField < Lutaml::Model::Serializable
6
+ attribute :fld_data, :ct_text, collection: 0..1
7
+ import_model_attributes :eg_p_content
8
+ attribute :instr, :st_string
9
+ attribute :fld_lock, :st_on_off
10
+ attribute :dirty, :st_on_off
11
+
12
+ xml do
13
+ element "CT_SimpleField"
14
+
15
+ namespace Omml::Namespace
16
+
17
+ sequence do
18
+ map_element :fldData, to: :fld_data
19
+ import_model_mappings :eg_p_content
20
+ end
21
+ map_attribute :instr, to: :instr
22
+ map_attribute :fldLock, to: :fld_lock
23
+ map_attribute :dirty, to: :dirty
24
+ end
25
+ end
26
+
27
+ Omml::Configuration.register_model(CTSimpleField)
28
+ end
29
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSmartTagPr < Lutaml::Model::Serializable
6
+ attribute :attr, :ct_attr, collection: 0..Float::INFINITY
7
+
8
+ xml do
9
+ element "CT_SmartTagPr"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ sequence do
14
+ map_element :attr, to: :attr
15
+ end
16
+ end
17
+ end
18
+
19
+ Omml::Configuration.register_model(CTSmartTagPr)
20
+ end
21
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSmartTagRun < Lutaml::Model::Serializable
6
+ attribute :smart_tag_pr, :ct_smart_tag_pr, collection: 0..1
7
+ import_model_attributes :eg_p_content
8
+ attribute :uri, :st_string
9
+ attribute :element, :st_string
10
+
11
+ xml do
12
+ element "CT_SmartTagRun"
13
+
14
+ namespace Omml::Namespace
15
+
16
+ sequence do
17
+ map_element :smartTagPr, to: :smart_tag_pr
18
+ import_model_mappings :eg_p_content
19
+ end
20
+ map_attribute :uri, to: :uri
21
+ map_attribute :element, to: :element
22
+ end
23
+ end
24
+
25
+ Omml::Configuration.register_model(CTSmartTagRun)
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSpacingRule < Lutaml::Model::Serializable
6
+ attribute :val, :st_spacing_rule
7
+
8
+ xml do
9
+ element "CT_SpacingRule"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTSpacingRule)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTString < Lutaml::Model::Serializable
6
+ attribute :val, :st_string
7
+
8
+ xml do
9
+ element "CT_String"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTString)
18
+ end
19
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTStyle < Lutaml::Model::Serializable
6
+ attribute :val, :st_style
7
+
8
+ xml do
9
+ element "CT_Style"
10
+
11
+ namespace Omml::Namespace
12
+
13
+ map_attribute :val, to: :val
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTStyle)
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTSym < Lutaml::Model::Serializable
6
+ attribute :font, :st_string
7
+ attribute :char, :st_short_hex_number
8
+
9
+ xml do
10
+ element "CT_Sym"
11
+
12
+ namespace Omml::Namespace
13
+
14
+ map_attribute :font, to: :font
15
+ map_attribute :char, to: :char
16
+ end
17
+ end
18
+
19
+ Omml::Configuration.register_model(CTSym)
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class CTText < Lutaml::Model::Serializable
6
+ attribute :content, :st_string
7
+ attribute :space, ::Lutaml::Xml::W3c::XmlSpaceType
8
+ xml do
9
+ element "CT_Text"
10
+
11
+ namespace Omml::Namespace
12
+ map_content to: :content
13
+ map_attribute :space, to: :space
14
+ end
15
+ end
16
+
17
+ Omml::Configuration.register_model(CTText)
18
+ end
19
+ end