omml 0.2.1 → 0.2.3

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 (282) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop_todo.yml +12 -6
  4. data/CLAUDE.md +19 -9
  5. data/Gemfile +0 -3
  6. data/TODO.uniwordfix/00-overview.md +29 -0
  7. data/TODO.uniwordfix/01-revert-contributor-changes.md +25 -0
  8. data/TODO.uniwordfix/02-models-base.md +55 -0
  9. data/TODO.uniwordfix/03-migrate-models.md +38 -0
  10. data/TODO.uniwordfix/04-autoload-conversion.md +52 -0
  11. data/TODO.uniwordfix/05-encapsulation-cleanup.md +67 -0
  12. data/TODO.uniwordfix/06-register-in-api.md +44 -0
  13. data/TODO.uniwordfix/07-spec-coverage.md +43 -0
  14. data/TODO.uniwordfix/08-spec-cross-context.md +63 -0
  15. data/TODO.uniwordfix/09-spec-cleanup.md +37 -0
  16. data/TODO.uniwordfix/10-claude-md-stale.md +34 -0
  17. data/lib/omml/configuration/context_registry.rb +36 -2
  18. data/lib/omml/configuration/model_registry.rb +6 -2
  19. data/lib/omml/configuration/type_resolver.rb +0 -2
  20. data/lib/omml/configuration.rb +5 -5
  21. data/lib/omml/models/base.rb +16 -0
  22. data/lib/omml/models/ct_acc.rb +1 -3
  23. data/lib/omml/models/ct_acc_pr.rb +1 -3
  24. data/lib/omml/models/ct_anchor.rb +1 -3
  25. data/lib/omml/models/ct_attr.rb +1 -3
  26. data/lib/omml/models/ct_bar.rb +1 -3
  27. data/lib/omml/models/ct_bar_pr.rb +1 -3
  28. data/lib/omml/models/ct_bookmark.rb +0 -2
  29. data/lib/omml/models/ct_bookmark_range.rb +0 -2
  30. data/lib/omml/models/ct_border.rb +1 -3
  31. data/lib/omml/models/ct_border_box.rb +1 -3
  32. data/lib/omml/models/ct_border_box_pr.rb +1 -3
  33. data/lib/omml/models/ct_box.rb +1 -3
  34. data/lib/omml/models/ct_box_pr.rb +1 -3
  35. data/lib/omml/models/ct_br.rb +2 -4
  36. data/lib/omml/models/ct_break_bin.rb +1 -3
  37. data/lib/omml/models/ct_break_bin_sub.rb +1 -3
  38. data/lib/omml/models/ct_calendar_type.rb +1 -3
  39. data/lib/omml/models/ct_char.rb +1 -3
  40. data/lib/omml/models/ct_color.rb +1 -3
  41. data/lib/omml/models/ct_control.rb +1 -3
  42. data/lib/omml/models/ct_ctrl_pr.rb +1 -3
  43. data/lib/omml/models/ct_custom_xml_pr.rb +1 -3
  44. data/lib/omml/models/ct_custom_xml_run.rb +1 -3
  45. data/lib/omml/models/ct_d.rb +1 -3
  46. data/lib/omml/models/ct_d_pr.rb +1 -3
  47. data/lib/omml/models/ct_data_binding.rb +1 -3
  48. data/lib/omml/models/ct_decimal_number.rb +1 -3
  49. data/lib/omml/models/ct_drawing.rb +1 -3
  50. data/lib/omml/models/ct_east_asian_layout.rb +1 -3
  51. data/lib/omml/models/ct_effect_extent.rb +1 -3
  52. data/lib/omml/models/ct_em.rb +1 -3
  53. data/lib/omml/models/ct_empty.rb +1 -3
  54. data/lib/omml/models/ct_eq_arr.rb +1 -3
  55. data/lib/omml/models/ct_eq_arr_pr.rb +1 -3
  56. data/lib/omml/models/ct_f.rb +1 -3
  57. data/lib/omml/models/ct_f_pr.rb +1 -3
  58. data/lib/omml/models/ct_f_type.rb +1 -3
  59. data/lib/omml/models/ct_ff_check_box.rb +1 -3
  60. data/lib/omml/models/ct_ff_data.rb +1 -3
  61. data/lib/omml/models/ct_ff_help_text.rb +1 -3
  62. data/lib/omml/models/ct_ff_name.rb +1 -3
  63. data/lib/omml/models/ct_ff_status_text.rb +1 -3
  64. data/lib/omml/models/ct_ff_text_input.rb +1 -3
  65. data/lib/omml/models/ct_ff_text_type.rb +1 -3
  66. data/lib/omml/models/ct_ffdd_list.rb +1 -3
  67. data/lib/omml/models/ct_fit_text.rb +1 -3
  68. data/lib/omml/models/ct_fld_char.rb +1 -3
  69. data/lib/omml/models/ct_fonts.rb +1 -3
  70. data/lib/omml/models/ct_ftn_edn_ref.rb +1 -3
  71. data/lib/omml/models/ct_func.rb +1 -3
  72. data/lib/omml/models/ct_func_pr.rb +1 -3
  73. data/lib/omml/models/ct_graphical_object.rb +1 -3
  74. data/lib/omml/models/ct_graphical_object_data.rb +1 -3
  75. data/lib/omml/models/ct_graphical_object_frame_locking.rb +1 -3
  76. data/lib/omml/models/ct_group_chr.rb +1 -3
  77. data/lib/omml/models/ct_group_chr_pr.rb +1 -3
  78. data/lib/omml/models/ct_highlight.rb +1 -3
  79. data/lib/omml/models/ct_hps_measure.rb +1 -3
  80. data/lib/omml/models/ct_hyperlink.rb +1 -3
  81. data/lib/omml/models/ct_inline.rb +1 -3
  82. data/lib/omml/models/ct_integer2.rb +1 -3
  83. data/lib/omml/models/ct_integer255.rb +1 -3
  84. data/lib/omml/models/ct_lang.rb +1 -3
  85. data/lib/omml/models/ct_language.rb +1 -3
  86. data/lib/omml/models/ct_lim_loc.rb +1 -3
  87. data/lib/omml/models/ct_lim_low.rb +1 -3
  88. data/lib/omml/models/ct_lim_low_pr.rb +1 -3
  89. data/lib/omml/models/ct_lim_upp.rb +1 -3
  90. data/lib/omml/models/ct_lim_upp_pr.rb +1 -3
  91. data/lib/omml/models/ct_lock.rb +1 -3
  92. data/lib/omml/models/ct_m.rb +1 -3
  93. data/lib/omml/models/ct_m_pr.rb +1 -3
  94. data/lib/omml/models/ct_macro_name.rb +1 -3
  95. data/lib/omml/models/ct_manual_break.rb +1 -3
  96. data/lib/omml/models/ct_markup.rb +1 -3
  97. data/lib/omml/models/ct_markup_range.rb +0 -2
  98. data/lib/omml/models/ct_math_pr.rb +1 -3
  99. data/lib/omml/models/ct_mc.rb +1 -3
  100. data/lib/omml/models/ct_mc_pr.rb +1 -3
  101. data/lib/omml/models/ct_mcs.rb +1 -3
  102. data/lib/omml/models/ct_move_bookmark.rb +0 -2
  103. data/lib/omml/models/ct_mr.rb +1 -3
  104. data/lib/omml/models/ct_nary.rb +1 -3
  105. data/lib/omml/models/ct_nary_pr.rb +1 -3
  106. data/lib/omml/models/ct_non_visual_drawing_props.rb +1 -3
  107. data/lib/omml/models/ct_non_visual_graphic_frame_properties.rb +1 -3
  108. data/lib/omml/models/ct_o_math.rb +1 -3
  109. data/lib/omml/models/ct_o_math_arg.rb +1 -3
  110. data/lib/omml/models/ct_o_math_arg_pr.rb +1 -3
  111. data/lib/omml/models/ct_o_math_jc.rb +1 -3
  112. data/lib/omml/models/ct_o_math_para.rb +1 -3
  113. data/lib/omml/models/ct_o_math_para_pr.rb +1 -3
  114. data/lib/omml/models/ct_object.rb +0 -2
  115. data/lib/omml/models/ct_office_art_extension.rb +1 -3
  116. data/lib/omml/models/ct_office_art_extension_list.rb +1 -3
  117. data/lib/omml/models/ct_on_off.rb +1 -3
  118. data/lib/omml/models/ct_p_tab.rb +1 -3
  119. data/lib/omml/models/ct_perm.rb +1 -3
  120. data/lib/omml/models/ct_perm_start.rb +0 -2
  121. data/lib/omml/models/ct_phant.rb +1 -3
  122. data/lib/omml/models/ct_phant_pr.rb +1 -3
  123. data/lib/omml/models/ct_picture.rb +0 -2
  124. data/lib/omml/models/ct_picture_base.rb +1 -3
  125. data/lib/omml/models/ct_placeholder.rb +1 -3
  126. data/lib/omml/models/ct_point2_d.rb +1 -3
  127. data/lib/omml/models/ct_pos_h.rb +1 -3
  128. data/lib/omml/models/ct_pos_v.rb +1 -3
  129. data/lib/omml/models/ct_positive_size2_d.rb +1 -3
  130. data/lib/omml/models/ct_proof_err.rb +1 -3
  131. data/lib/omml/models/ct_r.rb +3 -3
  132. data/lib/omml/models/ct_r_pr.rb +1 -3
  133. data/lib/omml/models/ct_r_pr_change.rb +0 -2
  134. data/lib/omml/models/ct_r_pr_original.rb +1 -3
  135. data/lib/omml/models/ct_rad.rb +1 -3
  136. data/lib/omml/models/ct_rad_pr.rb +1 -3
  137. data/lib/omml/models/ct_rel.rb +1 -3
  138. data/lib/omml/models/ct_rpr.rb +1 -3
  139. data/lib/omml/models/ct_ruby.rb +1 -3
  140. data/lib/omml/models/ct_ruby_align.rb +1 -3
  141. data/lib/omml/models/ct_ruby_content.rb +1 -3
  142. data/lib/omml/models/ct_ruby_pr.rb +1 -3
  143. data/lib/omml/models/ct_run_track_change.rb +0 -2
  144. data/lib/omml/models/ct_s_pre.rb +1 -3
  145. data/lib/omml/models/ct_s_pre_pr.rb +1 -3
  146. data/lib/omml/models/ct_s_sub.rb +1 -3
  147. data/lib/omml/models/ct_s_sub_pr.rb +1 -3
  148. data/lib/omml/models/ct_s_sub_sup.rb +1 -3
  149. data/lib/omml/models/ct_s_sub_sup_pr.rb +1 -3
  150. data/lib/omml/models/ct_s_sup.rb +1 -3
  151. data/lib/omml/models/ct_s_sup_pr.rb +1 -3
  152. data/lib/omml/models/ct_script.rb +1 -3
  153. data/lib/omml/models/ct_sdt_combo_box.rb +1 -3
  154. data/lib/omml/models/ct_sdt_content_run.rb +1 -3
  155. data/lib/omml/models/ct_sdt_date.rb +1 -3
  156. data/lib/omml/models/ct_sdt_date_mapping_type.rb +1 -3
  157. data/lib/omml/models/ct_sdt_doc_part.rb +1 -3
  158. data/lib/omml/models/ct_sdt_drop_down_list.rb +1 -3
  159. data/lib/omml/models/ct_sdt_end_pr.rb +1 -3
  160. data/lib/omml/models/ct_sdt_list_item.rb +1 -3
  161. data/lib/omml/models/ct_sdt_pr.rb +1 -3
  162. data/lib/omml/models/ct_sdt_run.rb +1 -3
  163. data/lib/omml/models/ct_sdt_text.rb +1 -3
  164. data/lib/omml/models/ct_shd.rb +1 -3
  165. data/lib/omml/models/ct_shp.rb +1 -3
  166. data/lib/omml/models/ct_signed_hps_measure.rb +1 -3
  167. data/lib/omml/models/ct_signed_twips_measure.rb +1 -3
  168. data/lib/omml/models/ct_simple_field.rb +1 -3
  169. data/lib/omml/models/ct_smart_tag_pr.rb +1 -3
  170. data/lib/omml/models/ct_smart_tag_run.rb +1 -3
  171. data/lib/omml/models/ct_spacing_rule.rb +1 -3
  172. data/lib/omml/models/ct_string.rb +1 -3
  173. data/lib/omml/models/ct_style.rb +1 -3
  174. data/lib/omml/models/ct_sym.rb +1 -3
  175. data/lib/omml/models/ct_text.rb +1 -3
  176. data/lib/omml/models/ct_text_effect.rb +1 -3
  177. data/lib/omml/models/ct_text_scale.rb +1 -3
  178. data/lib/omml/models/ct_top_bot.rb +1 -3
  179. data/lib/omml/models/ct_track_change.rb +0 -2
  180. data/lib/omml/models/ct_track_change_numbering.rb +0 -2
  181. data/lib/omml/models/ct_twips_measure.rb +1 -3
  182. data/lib/omml/models/ct_un_signed_integer.rb +1 -3
  183. data/lib/omml/models/ct_underline.rb +1 -3
  184. data/lib/omml/models/ct_vertical_align_run.rb +1 -3
  185. data/lib/omml/models/ct_wordprocessing_empty.rb +24 -0
  186. data/lib/omml/models/ct_wordprocessing_on_off.rb +1 -3
  187. data/lib/omml/models/ct_wordprocessing_text.rb +26 -0
  188. data/lib/omml/models/ct_wrap_none.rb +1 -3
  189. data/lib/omml/models/ct_wrap_path.rb +1 -3
  190. data/lib/omml/models/ct_wrap_square.rb +1 -3
  191. data/lib/omml/models/ct_wrap_through.rb +1 -3
  192. data/lib/omml/models/ct_wrap_tight.rb +1 -3
  193. data/lib/omml/models/ct_wrap_top_bottom.rb +1 -3
  194. data/lib/omml/models/ct_x_align.rb +1 -3
  195. data/lib/omml/models/ct_y_align.rb +1 -3
  196. data/lib/omml/models/groups/eg_content_run_content.rb +1 -3
  197. data/lib/omml/models/groups/eg_math_content.rb +1 -3
  198. data/lib/omml/models/groups/eg_o_math_elements.rb +1 -3
  199. data/lib/omml/models/groups/eg_o_math_math_elements.rb +1 -3
  200. data/lib/omml/models/groups/eg_office_art_extension_list.rb +1 -3
  201. data/lib/omml/models/groups/eg_p_content.rb +1 -3
  202. data/lib/omml/models/groups/eg_r_pr.rb +1 -3
  203. data/lib/omml/models/groups/eg_r_pr_base.rb +1 -3
  204. data/lib/omml/models/groups/eg_r_pr_content.rb +1 -3
  205. data/lib/omml/models/groups/eg_r_pr_math.rb +1 -3
  206. data/lib/omml/models/groups/eg_range_markup_elements.rb +1 -3
  207. data/lib/omml/models/groups/eg_ruby_content.rb +1 -3
  208. data/lib/omml/models/groups/eg_run_inner_content.rb +5 -68
  209. data/lib/omml/models/groups/eg_run_level_elts.rb +1 -3
  210. data/lib/omml/models/groups/eg_script_style.rb +1 -3
  211. data/lib/omml/models/groups/eg_word_r_pr.rb +1 -3
  212. data/lib/omml/models/groups/eg_word_run_inner_content.rb +91 -0
  213. data/lib/omml/models/groups/eg_wrap_type.rb +1 -3
  214. data/lib/omml/models/groups.rb +0 -18
  215. data/lib/omml/models/o_math.rb +1 -3
  216. data/lib/omml/models/o_math_para.rb +1 -3
  217. data/lib/omml/models/registerable.rb +22 -0
  218. data/lib/omml/models/simple_types/enum_string.rb +5 -0
  219. data/lib/omml/models/simple_types/hex_binary.rb +0 -1
  220. data/lib/omml/models/simple_types/st_adj_coordinate.rb +2 -1
  221. data/lib/omml/models/simple_types/st_align_h.rb +0 -2
  222. data/lib/omml/models/simple_types/st_align_v.rb +0 -2
  223. data/lib/omml/models/simple_types/st_border.rb +0 -2
  224. data/lib/omml/models/simple_types/st_br_clear.rb +0 -2
  225. data/lib/omml/models/simple_types/st_br_type.rb +0 -2
  226. data/lib/omml/models/simple_types/st_break_bin.rb +0 -2
  227. data/lib/omml/models/simple_types/st_break_bin_sub.rb +0 -2
  228. data/lib/omml/models/simple_types/st_calendar_type.rb +0 -2
  229. data/lib/omml/models/simple_types/st_combine_brackets.rb +0 -2
  230. data/lib/omml/models/simple_types/st_coordinate.rb +0 -1
  231. data/lib/omml/models/simple_types/st_displaced_by_custom_xml.rb +0 -2
  232. data/lib/omml/models/simple_types/st_ed_grp.rb +0 -2
  233. data/lib/omml/models/simple_types/st_em.rb +0 -2
  234. data/lib/omml/models/simple_types/st_f_type.rb +0 -2
  235. data/lib/omml/models/simple_types/st_ff_text_type.rb +0 -2
  236. data/lib/omml/models/simple_types/st_fld_char_type.rb +0 -2
  237. data/lib/omml/models/simple_types/st_geom_guide_name.rb +0 -2
  238. data/lib/omml/models/simple_types/st_hex_color.rb +2 -1
  239. data/lib/omml/models/simple_types/st_highlight_color.rb +0 -2
  240. data/lib/omml/models/simple_types/st_hint.rb +0 -2
  241. data/lib/omml/models/simple_types/st_info_text_type.rb +0 -2
  242. data/lib/omml/models/simple_types/st_integer2.rb +0 -1
  243. data/lib/omml/models/simple_types/st_integer255.rb +0 -1
  244. data/lib/omml/models/simple_types/st_jc.rb +0 -2
  245. data/lib/omml/models/simple_types/st_lang.rb +2 -1
  246. data/lib/omml/models/simple_types/st_lim_loc.rb +0 -2
  247. data/lib/omml/models/simple_types/st_lock.rb +0 -2
  248. data/lib/omml/models/simple_types/st_on_off.rb +0 -2
  249. data/lib/omml/models/simple_types/st_p_tab_alignment.rb +0 -2
  250. data/lib/omml/models/simple_types/st_p_tab_leader.rb +0 -2
  251. data/lib/omml/models/simple_types/st_p_tab_relative_to.rb +0 -2
  252. data/lib/omml/models/simple_types/st_positive_coordinate.rb +0 -1
  253. data/lib/omml/models/simple_types/st_proof_err.rb +0 -2
  254. data/lib/omml/models/simple_types/st_rel_from_h.rb +0 -2
  255. data/lib/omml/models/simple_types/st_rel_from_v.rb +0 -2
  256. data/lib/omml/models/simple_types/st_ruby_align.rb +0 -2
  257. data/lib/omml/models/simple_types/st_script.rb +0 -2
  258. data/lib/omml/models/simple_types/st_sdt_date_mapping_type.rb +0 -2
  259. data/lib/omml/models/simple_types/st_shd.rb +0 -2
  260. data/lib/omml/models/simple_types/st_shp.rb +0 -2
  261. data/lib/omml/models/simple_types/st_spacing_rule.rb +0 -1
  262. data/lib/omml/models/simple_types/st_style.rb +0 -2
  263. data/lib/omml/models/simple_types/st_text_effect.rb +0 -2
  264. data/lib/omml/models/simple_types/st_text_scale.rb +0 -1
  265. data/lib/omml/models/simple_types/st_theme.rb +0 -2
  266. data/lib/omml/models/simple_types/st_theme_color.rb +0 -2
  267. data/lib/omml/models/simple_types/st_top_bot.rb +0 -2
  268. data/lib/omml/models/simple_types/st_underline.rb +0 -2
  269. data/lib/omml/models/simple_types/st_vertical_align_run.rb +0 -2
  270. data/lib/omml/models/simple_types/st_wrap_text.rb +0 -2
  271. data/lib/omml/models/simple_types/st_x_align.rb +0 -2
  272. data/lib/omml/models/simple_types/st_y_align.rb +0 -2
  273. data/lib/omml/models/simple_types/token.rb +5 -0
  274. data/lib/omml/models/simple_types/unsigned_int.rb +0 -1
  275. data/lib/omml/models/simple_types/unsigned_long.rb +0 -1
  276. data/lib/omml/models/simple_types.rb +0 -59
  277. data/lib/omml/models.rb +275 -177
  278. data/lib/omml/namespace.rb +2 -0
  279. data/lib/omml/version.rb +1 -1
  280. data/lib/omml/wordprocessing_namespace.rb +2 -0
  281. data/reference-docs/shared-math.xsd +1528 -0
  282. metadata +19 -2
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTTextScale < Lutaml::Model::Serializable
5
+ class CTTextScale < Base
6
6
  attribute :val, :st_text_scale
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTTextScale)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTTopBot < Lutaml::Model::Serializable
5
+ class CTTopBot < Base
6
6
  attribute :val, :st_top_bot
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTTopBot)
18
16
  end
19
17
  end
@@ -15,7 +15,5 @@ module Omml
15
15
  map_attribute :date, to: :date
16
16
  end
17
17
  end
18
-
19
- Omml::Configuration.register_model(CTTrackChange)
20
18
  end
21
19
  end
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :original, to: :original
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTTrackChangeNumbering)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTTwipsMeasure < Lutaml::Model::Serializable
5
+ class CTTwipsMeasure < Base
6
6
  attribute :val, :st_twips_measure
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTTwipsMeasure)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTUnSignedInteger < Lutaml::Model::Serializable
5
+ class CTUnSignedInteger < Base
6
6
  attribute :val, :st_un_signed_integer
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTUnSignedInteger)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTUnderline < Lutaml::Model::Serializable
5
+ class CTUnderline < Base
6
6
  attribute :val, :st_underline
7
7
  attribute :color, :st_hex_color
8
8
  attribute :theme_color, :st_theme_color
@@ -21,7 +21,5 @@ module Omml
21
21
  map_attribute :themeShade, to: :theme_shade
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(CTUnderline)
26
24
  end
27
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTVerticalAlignRun < Lutaml::Model::Serializable
5
+ class CTVerticalAlignRun < Base
6
6
  attribute :val, :st_vertical_align_run
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTVerticalAlignRun)
18
16
  end
19
17
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ # WordprocessingML empty marker type, parallel to CTEmpty (math).
6
+ # Per OOXML schema, several elements inside a math run (`<m:r>`) are
7
+ # WordprocessingML primitives with empty content model: `<w:cr/>`,
8
+ # `<w:tab/>`, `<w:noBreakHyphen/>`, `<w:pgNum/>`, etc. These resolve
9
+ # to the wordprocessing `CT_Empty`, not the math one.
10
+ #
11
+ # The container class (`EGWordRunInnerContent`) already declares the
12
+ # wordprocessing namespace, but lutaml-model matches elements by the
13
+ # TYPE's namespace during parsing. Without this parallel type,
14
+ # math-namespaced CTEmpty won't match `<w:cr/>` and the element is
15
+ # silently dropped.
16
+ class CTWordprocessingEmpty < Base
17
+ xml do
18
+ element "CT_Empty"
19
+
20
+ namespace Omml::WordprocessingNamespace
21
+ end
22
+ end
23
+ end
24
+ end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWordprocessingOnOff < Lutaml::Model::Serializable
5
+ class CTWordprocessingOnOff < Base
6
6
  attribute :val, :st_on_off, default: -> { "on" }
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTWordprocessingOnOff)
18
16
  end
19
17
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ # WordprocessingML text type, parallel to CTText (math).
6
+ # Per OOXML schema, `<w:delText>`, `<w:instrText>`, and
7
+ # `<w:delInstrText>` inside a math run (`<m:r>`) resolve to the
8
+ # wordprocessing `CT_Text`, not the math one (`<m:t>`).
9
+ #
10
+ # Behavior is identical to CTText (string content + `xml:space`
11
+ # attribute); only the XML namespace differs.
12
+ class CTWordprocessingText < Base
13
+ attribute :content, :st_string
14
+ attribute :space, ::Lutaml::Xml::W3c::XmlSpaceType
15
+
16
+ xml do
17
+ element "CT_Text"
18
+
19
+ namespace Omml::WordprocessingNamespace
20
+
21
+ map_content to: :content
22
+ map_attribute :space, to: :space
23
+ end
24
+ end
25
+ end
26
+ end
@@ -2,14 +2,12 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapNone < Lutaml::Model::Serializable
5
+ class CTWrapNone < Base
6
6
  xml do
7
7
  element "CT_WrapNone"
8
8
 
9
9
  namespace Omml::Namespace
10
10
  end
11
11
  end
12
-
13
- Omml::Configuration.register_model(CTWrapNone)
14
12
  end
15
13
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapPath < Lutaml::Model::Serializable
5
+ class CTWrapPath < Base
6
6
  attribute :start, :ct_point2_d, collection: 1..1
7
7
  attribute :line_to, :ct_point2_d, collection: 2..Float::INFINITY
8
8
  attribute :edited, :boolean
@@ -19,7 +19,5 @@ module Omml
19
19
  map_attribute :edited, to: :edited
20
20
  end
21
21
  end
22
-
23
- Omml::Configuration.register_model(CTWrapPath)
24
22
  end
25
23
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapSquare < Lutaml::Model::Serializable
5
+ class CTWrapSquare < Base
6
6
  attribute :effect_extent, :ct_effect_extent, collection: 0..1
7
7
  attribute :wrap_text, :st_wrap_text
8
8
  attribute :dist_t, :st_wrap_distance
@@ -25,7 +25,5 @@ module Omml
25
25
  map_attribute :distR, to: :dist_r
26
26
  end
27
27
  end
28
-
29
- Omml::Configuration.register_model(CTWrapSquare)
30
28
  end
31
29
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapThrough < Lutaml::Model::Serializable
5
+ class CTWrapThrough < Base
6
6
  attribute :wrap_polygon, :ct_wrap_path, collection: 1..1
7
7
  attribute :wrap_text, :st_wrap_text
8
8
  attribute :dist_l, :st_wrap_distance
@@ -21,7 +21,5 @@ module Omml
21
21
  map_attribute :distR, to: :dist_r
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(CTWrapThrough)
26
24
  end
27
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapTight < Lutaml::Model::Serializable
5
+ class CTWrapTight < Base
6
6
  attribute :wrap_polygon, :ct_wrap_path, collection: 1..1
7
7
  attribute :wrap_text, :st_wrap_text
8
8
  attribute :dist_l, :st_wrap_distance
@@ -21,7 +21,5 @@ module Omml
21
21
  map_attribute :distR, to: :dist_r
22
22
  end
23
23
  end
24
-
25
- Omml::Configuration.register_model(CTWrapTight)
26
24
  end
27
25
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTWrapTopBottom < Lutaml::Model::Serializable
5
+ class CTWrapTopBottom < Base
6
6
  attribute :effect_extent, :ct_effect_extent, collection: 0..1
7
7
  attribute :dist_t, :st_wrap_distance
8
8
  attribute :dist_b, :st_wrap_distance
@@ -19,7 +19,5 @@ module Omml
19
19
  map_attribute :distB, to: :dist_b
20
20
  end
21
21
  end
22
-
23
- Omml::Configuration.register_model(CTWrapTopBottom)
24
22
  end
25
23
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTXAlign < Lutaml::Model::Serializable
5
+ class CTXAlign < Base
6
6
  attribute :val, :st_x_align
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTXAlign)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class CTYAlign < Lutaml::Model::Serializable
5
+ class CTYAlign < Base
6
6
  attribute :val, :st_y_align
7
7
 
8
8
  xml do
@@ -13,7 +13,5 @@ module Omml
13
13
  map_attribute :val, to: :val
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(CTYAlign)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGContentRunContent < Lutaml::Model::Serializable
5
+ class EGContentRunContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :custom_xml, :ct_custom_xml_run
8
8
  attribute :smart_tag, :ct_smart_tag_run
@@ -20,7 +20,5 @@ module Omml
20
20
  import_model_mappings :eg_run_level_elts
21
21
  end
22
22
  end
23
-
24
- Omml::Configuration.register_model(EGContentRunContent)
25
23
  end
26
24
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGMathContent < Lutaml::Model::Serializable
5
+ class EGMathContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :o_math_para, :ct_o_math_para
8
8
  attribute :o_math, :ct_o_math
@@ -14,7 +14,5 @@ module Omml
14
14
  map_element :oMath, to: :o_math, render_empty: true
15
15
  end
16
16
  end
17
-
18
- Omml::Configuration.register_model(EGMathContent)
19
17
  end
20
18
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGOMathElements < Lutaml::Model::Serializable
5
+ class EGOMathElements < Base
6
6
  choice(min: 1, max: 1) do
7
7
  import_model_attributes :eg_o_math_math_elements
8
8
  import_model_attributes :eg_run_level_elts
@@ -14,7 +14,5 @@ module Omml
14
14
  import_model_mappings :eg_run_level_elts
15
15
  end
16
16
  end
17
-
18
- Omml::Configuration.register_model(EGOMathElements)
19
17
  end
20
18
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGOMathMathElements < Lutaml::Model::Serializable
5
+ class EGOMathMathElements < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :acc, :ct_acc, collection: 0..Float::INFINITY
8
8
  attribute :bar, :ct_bar, collection: 0..Float::INFINITY
@@ -50,7 +50,5 @@ module Omml
50
50
  map_element :r, to: :r, render_empty: true
51
51
  end
52
52
  end
53
-
54
- Omml::Configuration.register_model(EGOMathMathElements)
55
53
  end
56
54
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGOfficeArtExtensionList < Lutaml::Model::Serializable
5
+ class EGOfficeArtExtensionList < Base
6
6
  attribute :ext, :ct_office_art_extension, collection: 0..Float::INFINITY
7
7
 
8
8
  xml do
@@ -10,7 +10,5 @@ module Omml
10
10
  map_element :ext, to: :ext
11
11
  end
12
12
  end
13
-
14
- Omml::Configuration.register_model(EGOfficeArtExtensionList)
15
13
  end
16
14
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGPContent < Lutaml::Model::Serializable
5
+ class EGPContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  import_model_attributes :eg_content_run_content
8
8
  attribute :fld_simple, :ct_simple_field, collection: 0..Float::INFINITY
@@ -18,7 +18,5 @@ module Omml
18
18
  map_element :subDoc, to: :sub_doc, render_empty: true
19
19
  end
20
20
  end
21
-
22
- Omml::Configuration.register_model(EGPContent)
23
21
  end
24
22
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPr < Lutaml::Model::Serializable
5
+ class EGRPr < Base
6
6
  attribute :r_pr, :ct_r_pr, collection: 0..1
7
7
 
8
8
  xml do
@@ -11,7 +11,5 @@ module Omml
11
11
  map_element :rPr, to: :r_pr
12
12
  end
13
13
  end
14
-
15
- Omml::Configuration.register_model(EGRPr)
16
14
  end
17
15
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPrBase < Lutaml::Model::Serializable
5
+ class EGRPrBase < Base
6
6
  attribute :r_style, :ct_string, collection: 0..1
7
7
  attribute :r_fonts, :ct_fonts, collection: 0..1
8
8
  attribute :b, :ct_wordprocessing_on_off, collection: 0..1
@@ -87,7 +87,5 @@ module Omml
87
87
  map_element :oMath, to: :o_math, render_empty: true
88
88
  end
89
89
  end
90
-
91
- Omml::Configuration.register_model(EGRPrBase)
92
90
  end
93
91
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPrContent < Lutaml::Model::Serializable
5
+ class EGRPrContent < Base
6
6
  import_model_attributes :eg_r_pr_base
7
7
  attribute :r_pr_change, :ct_r_pr_change, collection: 0..1
8
8
 
@@ -13,7 +13,5 @@ module Omml
13
13
  map_element :rPrChange, to: :r_pr_change
14
14
  end
15
15
  end
16
-
17
- Omml::Configuration.register_model(EGRPrContent)
18
16
  end
19
17
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRPrMath < Lutaml::Model::Serializable
5
+ class EGRPrMath < Base
6
6
  choice(min: 1, max: 1) do
7
7
  import_model_attributes :eg_r_pr
8
8
  attribute :ins, :ct_r_pr_change
@@ -17,7 +17,5 @@ module Omml
17
17
  map_element :del, to: :del, render_empty: true
18
18
  end
19
19
  end
20
-
21
- Omml::Configuration.register_model(EGRPrMath)
22
20
  end
23
21
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRangeMarkupElements < Lutaml::Model::Serializable
5
+ class EGRangeMarkupElements < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :bookmark_start, :ct_bookmark
8
8
  attribute :bookmark_end, :ct_markup_range
@@ -54,7 +54,5 @@ module Omml
54
54
  to: :custom_xml_move_to_range_end, render_empty: true
55
55
  end
56
56
  end
57
-
58
- Omml::Configuration.register_model(EGRangeMarkupElements)
59
57
  end
60
58
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRubyContent < Lutaml::Model::Serializable
5
+ class EGRubyContent < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :r, :ct_r
8
8
  import_model_attributes :eg_run_level_elts
@@ -14,7 +14,5 @@ module Omml
14
14
  import_model_mappings :eg_run_level_elts
15
15
  end
16
16
  end
17
-
18
- Omml::Configuration.register_model(EGRubyContent)
19
17
  end
20
18
  end
@@ -2,82 +2,19 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRunInnerContent < Lutaml::Model::Serializable
5
+ # Math run inner content. Per shared-math.xsd CT_R, the math schema
6
+ # contributes only the `t` element (CT_Text) inside a math run; all
7
+ # other run inner content (br, cr, tab, delText, etc.) belongs to
8
+ # the WordprocessingML namespace via EGWordRunInnerContent.
9
+ class EGRunInnerContent < Base
6
10
  choice(min: 1, max: 1) do
7
- attribute :br, :string
8
11
  attribute :t, :ct_text
9
- attribute :del_text, :ct_text
10
- attribute :instr_text, :ct_text
11
- attribute :del_instr_text, :ct_text
12
- attribute :no_break_hyphen, :ct_empty
13
- attribute :soft_hyphen, :ct_empty, collection: 0..1
14
- attribute :day_short, :ct_empty, collection: 0..1
15
- attribute :month_short, :ct_empty, collection: 0..1
16
- attribute :year_short, :ct_empty, collection: 0..1
17
- attribute :day_long, :ct_empty, collection: 0..1
18
- attribute :month_long, :ct_empty, collection: 0..1
19
- attribute :year_long, :ct_empty, collection: 0..1
20
- attribute :annotation_ref, :ct_empty, collection: 0..1
21
- attribute :footnote_ref, :ct_empty, collection: 0..1
22
- attribute :endnote_ref, :ct_empty, collection: 0..1
23
- attribute :separator, :ct_empty, collection: 0..1
24
- attribute :continuation_separator, :ct_empty, collection: 0..1
25
- attribute :sym, :ct_sym, collection: 0..1
26
- attribute :pg_num, :ct_empty, collection: 0..1
27
- attribute :cr, :ct_empty, collection: 0..1
28
- attribute :tab, :ct_empty, collection: 0..1
29
- attribute :object, :ct_object
30
- attribute :pict, :ct_picture
31
- attribute :fld_char, :ct_fld_char
32
- attribute :ruby, :ct_ruby
33
- attribute :footnote_reference, :ct_ftn_edn_ref
34
- attribute :endnote_reference, :ct_ftn_edn_ref
35
- attribute :comment_reference, :ct_markup
36
- attribute :drawing, :ct_drawing
37
- attribute :ptab, :ct_p_tab, collection: 0..1
38
- attribute :last_rendered_page_break, :ct_empty, collection: 0..1
39
12
  end
40
13
 
41
14
  xml do
42
15
  type_name "EG_RunInnerContent"
43
- map_element :br, to: :br, render_empty: true, namespace: nil
44
16
  map_element :t, to: :t, render_empty: true
45
- map_element :delText, to: :del_text, render_empty: true
46
- map_element :instrText, to: :instr_text, render_empty: true
47
- map_element :delInstrText, to: :del_instr_text, render_empty: true
48
- map_element :noBreakHyphen, to: :no_break_hyphen, render_empty: true
49
- map_element :softHyphen, to: :soft_hyphen
50
- map_element :dayShort, to: :day_short
51
- map_element :monthShort, to: :month_short
52
- map_element :yearShort, to: :year_short
53
- map_element :dayLong, to: :day_long
54
- map_element :monthLong, to: :month_long
55
- map_element :yearLong, to: :year_long
56
- map_element :annotationRef, to: :annotation_ref
57
- map_element :footnoteRef, to: :footnote_ref
58
- map_element :endnoteRef, to: :endnote_ref
59
- map_element :separator, to: :separator
60
- map_element :continuationSeparator, to: :continuation_separator
61
- map_element :sym, to: :sym
62
- map_element :pgNum, to: :pg_num
63
- map_element :cr, to: :cr
64
- map_element :tab, to: :tab
65
- map_element :object, to: :object, render_empty: true
66
- map_element :pict, to: :pict, render_empty: true
67
- map_element :fldChar, to: :fld_char, render_empty: true
68
- map_element :ruby, to: :ruby, render_empty: true
69
- map_element :footnoteReference, to: :footnote_reference,
70
- render_empty: true
71
- map_element :endnoteReference, to: :endnote_reference,
72
- render_empty: true
73
- map_element :commentReference, to: :comment_reference,
74
- render_empty: true
75
- map_element :drawing, to: :drawing, render_empty: true
76
- map_element :ptab, to: :ptab
77
- map_element :lastRenderedPageBreak, to: :last_rendered_page_break
78
17
  end
79
18
  end
80
-
81
- Omml::Configuration.register_model(EGRunInnerContent)
82
19
  end
83
20
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGRunLevelElts < Lutaml::Model::Serializable
5
+ class EGRunLevelElts < Base
6
6
  choice(min: 1, max: 1) do
7
7
  attribute :proof_err, :ct_proof_err, collection: 0..1
8
8
  attribute :perm_start, :ct_perm_start, collection: 0..1
@@ -28,7 +28,5 @@ module Omml
28
28
  import_model_mappings :eg_math_content
29
29
  end
30
30
  end
31
-
32
- Omml::Configuration.register_model(EGRunLevelElts)
33
31
  end
34
32
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Omml
4
4
  module Models
5
- class EGScriptStyle < Lutaml::Model::Serializable
5
+ class EGScriptStyle < Base
6
6
  attribute :scr, :ct_script, collection: 0..1
7
7
  attribute :sty, :ct_style, collection: 0..1
8
8
 
@@ -12,7 +12,5 @@ module Omml
12
12
  map_element :sty, to: :sty
13
13
  end
14
14
  end
15
-
16
- Omml::Configuration.register_model(EGScriptStyle)
17
15
  end
18
16
  end