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,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STPTabRelativeTo < EnumString
6
+ VALUES = %w[
7
+ margin
8
+ indent
9
+ ].freeze
10
+ end
11
+
12
+ Omml::Configuration.register_model(STPTabRelativeTo)
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STPositiveCoordinate < Lutaml::Model::Type::Decimal
6
+ def self.cast(value, options = {})
7
+ return if value.nil?
8
+
9
+ super(value, options.merge(max: 27_273_042_316_900, min: 0))
10
+ end
11
+ end
12
+
13
+ Omml::Configuration.register_model(STPositiveCoordinate)
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STProofErr < EnumString
6
+ VALUES = %w[
7
+ spellStart
8
+ spellEnd
9
+ gramStart
10
+ gramEnd
11
+ ].freeze
12
+ end
13
+
14
+ Omml::Configuration.register_model(STProofErr)
15
+ end
16
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STRelFromH < Token
6
+ VALUES = %w[
7
+ margin
8
+ page
9
+ column
10
+ character
11
+ leftMargin
12
+ rightMargin
13
+ insideMargin
14
+ outsideMargin
15
+ ].freeze
16
+ end
17
+
18
+ Omml::Configuration.register_model(STRelFromH)
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STRelFromV < Token
6
+ VALUES = %w[
7
+ margin
8
+ page
9
+ paragraph
10
+ line
11
+ topMargin
12
+ bottomMargin
13
+ insideMargin
14
+ outsideMargin
15
+ ].freeze
16
+ end
17
+
18
+ Omml::Configuration.register_model(STRelFromV)
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STRubyAlign < EnumString
6
+ VALUES = %w[
7
+ center
8
+ distributeLetter
9
+ distributeSpace
10
+ left
11
+ right
12
+ rightVertical
13
+ ].freeze
14
+ end
15
+
16
+ Omml::Configuration.register_model(STRubyAlign)
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STScript < EnumString
6
+ VALUES = %w[
7
+ roman
8
+ script
9
+ fraktur
10
+ double-struck
11
+ sans-serif
12
+ monospace
13
+ ].freeze
14
+ end
15
+
16
+ Omml::Configuration.register_model(STScript)
17
+ end
18
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STSdtDateMappingType < EnumString
6
+ VALUES = %w[
7
+ text
8
+ date
9
+ dateTime
10
+ ].freeze
11
+ end
12
+
13
+ Omml::Configuration.register_model(STSdtDateMappingType)
14
+ end
15
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STShd < EnumString
6
+ VALUES = %w[
7
+ nil
8
+ clear
9
+ solid
10
+ horzStripe
11
+ vertStripe
12
+ reverseDiagStripe
13
+ diagStripe
14
+ horzCross
15
+ diagCross
16
+ thinHorzStripe
17
+ thinVertStripe
18
+ thinReverseDiagStripe
19
+ thinDiagStripe
20
+ thinHorzCross
21
+ thinDiagCross
22
+ pct5
23
+ pct10
24
+ pct12
25
+ pct15
26
+ pct20
27
+ pct25
28
+ pct30
29
+ pct35
30
+ pct37
31
+ pct40
32
+ pct45
33
+ pct50
34
+ pct55
35
+ pct60
36
+ pct62
37
+ pct65
38
+ pct70
39
+ pct75
40
+ pct80
41
+ pct85
42
+ pct87
43
+ pct90
44
+ pct95
45
+ ].freeze
46
+ end
47
+
48
+ Omml::Configuration.register_model(STShd)
49
+ end
50
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STShp < EnumString
6
+ VALUES = %w[
7
+ centered
8
+ match
9
+ ].freeze
10
+ end
11
+
12
+ Omml::Configuration.register_model(STShp)
13
+ end
14
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STSpacingRule < Lutaml::Model::Type::Integer
6
+ def self.cast(value, options = {})
7
+ return if value.nil?
8
+
9
+ super(value, options.merge(max: 4, min: 0))
10
+ end
11
+ end
12
+
13
+ Omml::Configuration.register_model(STSpacingRule)
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STStyle < EnumString
6
+ VALUES = %w[
7
+ p
8
+ b
9
+ i
10
+ bi
11
+ ].freeze
12
+ end
13
+
14
+ Omml::Configuration.register_model(STStyle)
15
+ end
16
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STTextEffect < EnumString
6
+ VALUES = %w[
7
+ blinkBackground
8
+ lights
9
+ antsBlack
10
+ antsRed
11
+ shimmer
12
+ sparkle
13
+ none
14
+ ].freeze
15
+ end
16
+
17
+ Omml::Configuration.register_model(STTextEffect)
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STTextScale < Lutaml::Model::Type::Integer
6
+ def self.cast(value, options = {})
7
+ return if value.nil?
8
+
9
+ super(value, options.merge(max: 600, min: 0))
10
+ end
11
+ end
12
+
13
+ Omml::Configuration.register_model(STTextScale)
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STTheme < EnumString
6
+ VALUES = %w[
7
+ majorEastAsia
8
+ majorBidi
9
+ majorAscii
10
+ majorHAnsi
11
+ minorEastAsia
12
+ minorBidi
13
+ minorAscii
14
+ minorHAnsi
15
+ ].freeze
16
+ end
17
+
18
+ Omml::Configuration.register_model(STTheme)
19
+ end
20
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STThemeColor < EnumString
6
+ VALUES = %w[
7
+ dark1
8
+ light1
9
+ dark2
10
+ light2
11
+ accent1
12
+ accent2
13
+ accent3
14
+ accent4
15
+ accent5
16
+ accent6
17
+ hyperlink
18
+ followedHyperlink
19
+ none
20
+ background1
21
+ text1
22
+ background2
23
+ text2
24
+ ].freeze
25
+ end
26
+
27
+ Omml::Configuration.register_model(STThemeColor)
28
+ end
29
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STTopBot < EnumString
6
+ VALUES = %w[
7
+ top
8
+ bot
9
+ ].freeze
10
+ end
11
+
12
+ Omml::Configuration.register_model(STTopBot)
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STUnderline < EnumString
6
+ VALUES = %w[
7
+ single
8
+ words
9
+ double
10
+ thick
11
+ dotted
12
+ dottedHeavy
13
+ dash
14
+ dashedHeavy
15
+ dashLong
16
+ dashLongHeavy
17
+ dotDash
18
+ dashDotHeavy
19
+ dotDotDash
20
+ dashDotDotHeavy
21
+ wave
22
+ wavyHeavy
23
+ wavyDouble
24
+ none
25
+ ].freeze
26
+ end
27
+
28
+ Omml::Configuration.register_model(STUnderline)
29
+ end
30
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STVerticalAlignRun < EnumString
6
+ VALUES = %w[
7
+ baseline
8
+ superscript
9
+ subscript
10
+ ].freeze
11
+ end
12
+
13
+ Omml::Configuration.register_model(STVerticalAlignRun)
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STWrapText < Token
6
+ VALUES = %w[
7
+ bothSides
8
+ left
9
+ right
10
+ largest
11
+ ].freeze
12
+ end
13
+
14
+ Omml::Configuration.register_model(STWrapText)
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STXAlign < EnumString
6
+ VALUES = %w[
7
+ left
8
+ center
9
+ right
10
+ ].freeze
11
+ end
12
+
13
+ Omml::Configuration.register_model(STXAlign)
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class STYAlign < EnumString
6
+ VALUES = %w[
7
+ top
8
+ center
9
+ bot
10
+ ].freeze
11
+ end
12
+
13
+ Omml::Configuration.register_model(STYAlign)
14
+ end
15
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class Token < Lutaml::Model::Type::String
6
+ TOKEN_PATTERN = /(?-mix:\A[^\t\n\f\r ]+(?: [^\t\n\f\r ]+)*\z)/
7
+
8
+ def self.cast(value, options = {})
9
+ return if value.nil?
10
+
11
+ cast_options = options.merge(pattern: TOKEN_PATTERN)
12
+ values = defined_values
13
+ if values
14
+ cast_options[:values] ||= memoized_values do
15
+ values.map { |entry| super(entry, pattern: TOKEN_PATTERN) }
16
+ end
17
+ end
18
+
19
+ super(value, cast_options)
20
+ end
21
+
22
+ def self.defined_values
23
+ const_get(:VALUES, false) if const_defined?(:VALUES, false)
24
+ end
25
+ private_class_method :defined_values
26
+
27
+ def self.memoized_values
28
+ @memoized_values ||= yield
29
+ end
30
+ private_class_method :memoized_values
31
+ end
32
+
33
+ Omml::Configuration.register_model(Token)
34
+ end
35
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class UnsignedInt < Lutaml::Model::Type::Integer
6
+ def self.cast(value, options = {})
7
+ return if value.nil?
8
+
9
+ super(value, options.merge(max: 4_294_967_295, min: 0))
10
+ end
11
+ end
12
+
13
+ Omml::Configuration.register_model(UnsignedInt)
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Omml
4
+ module Models
5
+ class UnsignedLong < Lutaml::Model::Type::Integer
6
+ def self.cast(value, options = {})
7
+ return if value.nil?
8
+
9
+ super(value, options.merge(max: 18_446_744_073_709_551_615, min: 0))
10
+ end
11
+ end
12
+
13
+ Omml::Configuration.register_model(UnsignedLong)
14
+ end
15
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "simple_types/hex_binary"
4
+ require_relative "simple_types/enum_string"
5
+ require_relative "simple_types/token"
6
+ require_relative "simple_types/st_align_h"
7
+ require_relative "simple_types/st_align_v"
8
+ require_relative "simple_types/st_border"
9
+ require_relative "simple_types/st_br_clear"
10
+ require_relative "simple_types/st_br_type"
11
+ require_relative "simple_types/st_break_bin"
12
+ require_relative "simple_types/st_break_bin_sub"
13
+ require_relative "simple_types/st_calendar_type"
14
+ require_relative "simple_types/st_combine_brackets"
15
+ require_relative "simple_types/st_coordinate"
16
+ require_relative "simple_types/st_geom_guide_name"
17
+ require_relative "simple_types/st_adj_coordinate"
18
+ require_relative "simple_types/st_displaced_by_custom_xml"
19
+ require_relative "simple_types/unsigned_int"
20
+ require_relative "simple_types/st_ed_grp"
21
+ require_relative "simple_types/unsigned_long"
22
+ require_relative "simple_types/st_em"
23
+ require_relative "simple_types/st_f_type"
24
+ require_relative "simple_types/st_ff_text_type"
25
+ require_relative "simple_types/st_fld_char_type"
26
+ require_relative "simple_types/st_hex_color"
27
+ require_relative "simple_types/st_highlight_color"
28
+ require_relative "simple_types/st_hint"
29
+ require_relative "simple_types/st_info_text_type"
30
+ require_relative "simple_types/st_integer2"
31
+ require_relative "simple_types/st_integer255"
32
+ require_relative "simple_types/st_jc"
33
+ require_relative "simple_types/st_lang"
34
+ require_relative "simple_types/st_lim_loc"
35
+ require_relative "simple_types/st_lock"
36
+ require_relative "simple_types/st_on_off"
37
+ require_relative "simple_types/st_p_tab_alignment"
38
+ require_relative "simple_types/st_p_tab_leader"
39
+ require_relative "simple_types/st_p_tab_relative_to"
40
+ require_relative "simple_types/st_positive_coordinate"
41
+ require_relative "simple_types/st_proof_err"
42
+ require_relative "simple_types/st_rel_from_h"
43
+ require_relative "simple_types/st_rel_from_v"
44
+ require_relative "simple_types/st_ruby_align"
45
+ require_relative "simple_types/st_script"
46
+ require_relative "simple_types/st_sdt_date_mapping_type"
47
+ require_relative "simple_types/st_shd"
48
+ require_relative "simple_types/st_shp"
49
+ require_relative "simple_types/st_spacing_rule"
50
+ require_relative "simple_types/st_style"
51
+ require_relative "simple_types/st_text_effect"
52
+ require_relative "simple_types/st_text_scale"
53
+ require_relative "simple_types/st_theme"
54
+ require_relative "simple_types/st_theme_color"
55
+ require_relative "simple_types/st_top_bot"
56
+ require_relative "simple_types/st_underline"
57
+ require_relative "simple_types/st_vertical_align_run"
58
+ require_relative "simple_types/st_wrap_text"
59
+ require_relative "simple_types/st_x_align"
60
+ require_relative "simple_types/st_y_align"