odf_core 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (606) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -7
  3. data/lib/odf_core.rb +1 -1
  4. data/lib/odf_core/element/abstract_element.rb +57 -0
  5. data/lib/odf_core/element/anim/animate.rb +40 -0
  6. data/lib/odf_core/element/anim/animate_color.rb +42 -0
  7. data/lib/odf_core/element/anim/animate_motion.rb +42 -0
  8. data/lib/odf_core/element/anim/animate_transform.rb +38 -0
  9. data/lib/odf_core/element/anim/audio.rb +34 -0
  10. data/lib/odf_core/element/anim/command.rb +28 -0
  11. data/lib/odf_core/element/anim/iterate.rb +52 -0
  12. data/lib/odf_core/element/anim/par.rb +48 -0
  13. data/lib/odf_core/element/anim/param.rb +14 -0
  14. data/lib/odf_core/element/anim/seq.rb +48 -0
  15. data/lib/odf_core/element/anim/set.rb +33 -0
  16. data/lib/odf_core/element/anim/transition_filter.rb +42 -0
  17. data/lib/odf_core/element/chart/axis.rb +14 -0
  18. data/lib/odf_core/element/chart/categories.rb +14 -0
  19. data/lib/odf_core/element/chart/chart.rb +31 -0
  20. data/lib/odf_core/element/chart/data_label.rb +14 -0
  21. data/lib/odf_core/element/chart/data_point.rb +14 -0
  22. data/lib/odf_core/element/chart/domain.rb +14 -0
  23. data/lib/odf_core/element/chart/equation.rb +21 -0
  24. data/lib/odf_core/element/chart/error_indicator.rb +14 -0
  25. data/lib/odf_core/element/chart/floor.rb +14 -0
  26. data/lib/odf_core/element/chart/footer.rb +19 -0
  27. data/lib/odf_core/element/chart/grid.rb +14 -0
  28. data/lib/odf_core/element/chart/label_separator.rb +14 -0
  29. data/lib/odf_core/element/chart/legend.rb +22 -0
  30. data/lib/odf_core/element/chart/mean_value.rb +14 -0
  31. data/lib/odf_core/element/chart/plot_area.rb +43 -0
  32. data/lib/odf_core/element/chart/regression_curve.rb +14 -0
  33. data/lib/odf_core/element/chart/series.rb +28 -0
  34. data/lib/odf_core/element/chart/stock_gain_marker.rb +14 -0
  35. data/lib/odf_core/element/chart/stock_loss_marker.rb +14 -0
  36. data/lib/odf_core/element/chart/stock_range_line.rb +14 -0
  37. data/lib/odf_core/element/chart/subtitle.rb +19 -0
  38. data/lib/odf_core/element/chart/symbol_image.rb +14 -0
  39. data/lib/odf_core/element/chart/title.rb +19 -0
  40. data/lib/odf_core/element/chart/wall.rb +14 -0
  41. data/lib/odf_core/element/config/config_item.rb +14 -0
  42. data/lib/odf_core/element/config/config_item_map_entry.rb +19 -0
  43. data/lib/odf_core/element/config/config_item_map_indexed.rb +14 -0
  44. data/lib/odf_core/element/config/config_item_map_named.rb +14 -0
  45. data/lib/odf_core/element/config/config_item_set.rb +19 -0
  46. data/lib/odf_core/element/db/application_connection_settings.rb +23 -0
  47. data/lib/odf_core/element/db/auto_increment.rb +14 -0
  48. data/lib/odf_core/element/db/character_set.rb +14 -0
  49. data/lib/odf_core/element/db/column.rb +28 -0
  50. data/lib/odf_core/element/db/column_definition.rb +30 -0
  51. data/lib/odf_core/element/db/column_definitions.rb +14 -0
  52. data/lib/odf_core/element/db/columns.rb +14 -0
  53. data/lib/odf_core/element/db/component.rb +23 -0
  54. data/lib/odf_core/element/db/component_collection.rb +14 -0
  55. data/lib/odf_core/element/db/connection_data.rb +14 -0
  56. data/lib/odf_core/element/db/connection_resource.rb +19 -0
  57. data/lib/odf_core/element/db/data_source.rb +14 -0
  58. data/lib/odf_core/element/db/data_source_setting.rb +14 -0
  59. data/lib/odf_core/element/db/data_source_setting_value.rb +14 -0
  60. data/lib/odf_core/element/db/data_source_settings.rb +14 -0
  61. data/lib/odf_core/element/db/database_description.rb +14 -0
  62. data/lib/odf_core/element/db/delimiter.rb +19 -0
  63. data/lib/odf_core/element/db/driver_settings.rb +25 -0
  64. data/lib/odf_core/element/db/file_based_database.rb +19 -0
  65. data/lib/odf_core/element/db/filter_statement.rb +14 -0
  66. data/lib/odf_core/element/db/forms.rb +14 -0
  67. data/lib/odf_core/element/db/index.rb +19 -0
  68. data/lib/odf_core/element/db/index_column.rb +14 -0
  69. data/lib/odf_core/element/db/index_columns.rb +14 -0
  70. data/lib/odf_core/element/db/indices.rb +14 -0
  71. data/lib/odf_core/element/db/key.rb +20 -0
  72. data/lib/odf_core/element/db/key_column.rb +14 -0
  73. data/lib/odf_core/element/db/key_columns.rb +14 -0
  74. data/lib/odf_core/element/db/keys.rb +14 -0
  75. data/lib/odf_core/element/db/login.rb +19 -0
  76. data/lib/odf_core/element/db/order_statement.rb +14 -0
  77. data/lib/odf_core/element/db/queries.rb +14 -0
  78. data/lib/odf_core/element/db/query.rb +27 -0
  79. data/lib/odf_core/element/db/query_collection.rb +14 -0
  80. data/lib/odf_core/element/db/reports.rb +14 -0
  81. data/lib/odf_core/element/db/schema_definition.rb +14 -0
  82. data/lib/odf_core/element/db/server_database.rb +20 -0
  83. data/lib/odf_core/element/db/table_definition.rb +19 -0
  84. data/lib/odf_core/element/db/table_definitions.rb +14 -0
  85. data/lib/odf_core/element/db/table_exclude_filter.rb +14 -0
  86. data/lib/odf_core/element/db/table_filter.rb +14 -0
  87. data/lib/odf_core/element/db/table_filter_pattern.rb +14 -0
  88. data/lib/odf_core/element/db/table_include_filter.rb +14 -0
  89. data/lib/odf_core/element/db/table_representation.rb +22 -0
  90. data/lib/odf_core/element/db/table_representations.rb +14 -0
  91. data/lib/odf_core/element/db/table_setting.rb +14 -0
  92. data/lib/odf_core/element/db/table_settings.rb +14 -0
  93. data/lib/odf_core/element/db/table_type.rb +14 -0
  94. data/lib/odf_core/element/db/table_type_filter.rb +14 -0
  95. data/lib/odf_core/element/db/update_table.rb +14 -0
  96. data/lib/odf_core/element/dc/creator.rb +14 -0
  97. data/lib/odf_core/element/dc/date.rb +14 -0
  98. data/lib/odf_core/element/dc/description.rb +14 -0
  99. data/lib/odf_core/element/dc/language.rb +14 -0
  100. data/lib/odf_core/element/dc/subject.rb +14 -0
  101. data/lib/odf_core/element/dc/title.rb +14 -0
  102. data/lib/odf_core/element/dr3d/cube.rb +26 -0
  103. data/lib/odf_core/element/dr3d/extrude.rb +26 -0
  104. data/lib/odf_core/element/dr3d/light.rb +19 -0
  105. data/lib/odf_core/element/dr3d/rotate.rb +26 -0
  106. data/lib/odf_core/element/dr3d/scene.rb +55 -0
  107. data/lib/odf_core/element/dr3d/sphere.rb +26 -0
  108. data/lib/odf_core/element/draw/a.rb +42 -0
  109. data/lib/odf_core/element/draw/applet.rb +24 -0
  110. data/lib/odf_core/element/draw/area_circle.rb +24 -0
  111. data/lib/odf_core/element/draw/area_polygon.rb +27 -0
  112. data/lib/odf_core/element/draw/area_rectangle.rb +25 -0
  113. data/lib/odf_core/element/draw/caption.rb +47 -0
  114. data/lib/odf_core/element/draw/circle.rb +50 -0
  115. data/lib/odf_core/element/draw/connector.rb +52 -0
  116. data/lib/odf_core/element/draw/contour_path.rb +20 -0
  117. data/lib/odf_core/element/draw/contour_polygon.rb +20 -0
  118. data/lib/odf_core/element/draw/control.rb +38 -0
  119. data/lib/odf_core/element/draw/custom_shape.rb +47 -0
  120. data/lib/odf_core/element/draw/ellipse.rb +51 -0
  121. data/lib/odf_core/element/draw/enhanced_geometry.rb +58 -0
  122. data/lib/odf_core/element/draw/equation.rb +14 -0
  123. data/lib/odf_core/element/draw/fill_image.rb +23 -0
  124. data/lib/odf_core/element/draw/floating_frame.rb +21 -0
  125. data/lib/odf_core/element/draw/frame.rb +43 -0
  126. data/lib/odf_core/element/draw/g.rb +54 -0
  127. data/lib/odf_core/element/draw/glue_point.rb +20 -0
  128. data/lib/odf_core/element/draw/gradient.rb +26 -0
  129. data/lib/odf_core/element/draw/handle.rb +26 -0
  130. data/lib/odf_core/element/draw/hatch.rb +21 -0
  131. data/lib/odf_core/element/draw/image.rb +21 -0
  132. data/lib/odf_core/element/draw/image_map.rb +14 -0
  133. data/lib/odf_core/element/draw/layer.rb +14 -0
  134. data/lib/odf_core/element/draw/layer_set.rb +14 -0
  135. data/lib/odf_core/element/draw/line.rb +44 -0
  136. data/lib/odf_core/element/draw/marker.rb +19 -0
  137. data/lib/odf_core/element/draw/measure.rb +44 -0
  138. data/lib/odf_core/element/draw/object.rb +21 -0
  139. data/lib/odf_core/element/draw/object_ole.rb +21 -0
  140. data/lib/odf_core/element/draw/opacity.rb +24 -0
  141. data/lib/odf_core/element/draw/page.rb +61 -0
  142. data/lib/odf_core/element/draw/page_thumbnail.rb +40 -0
  143. data/lib/odf_core/element/draw/param.rb +14 -0
  144. data/lib/odf_core/element/draw/path.rb +46 -0
  145. data/lib/odf_core/element/draw/plugin.rb +21 -0
  146. data/lib/odf_core/element/draw/polygon.rb +46 -0
  147. data/lib/odf_core/element/draw/polyline.rb +46 -0
  148. data/lib/odf_core/element/draw/rect.rb +47 -0
  149. data/lib/odf_core/element/draw/regular_polygon.rb +47 -0
  150. data/lib/odf_core/element/draw/stroke_dash.rb +23 -0
  151. data/lib/odf_core/element/draw/text_box.rb +46 -0
  152. data/lib/odf_core/element/form/button.rb +39 -0
  153. data/lib/odf_core/element/form/checkbox.rb +35 -0
  154. data/lib/odf_core/element/form/column.rb +29 -0
  155. data/lib/odf_core/element/form/combobox.rb +38 -0
  156. data/lib/odf_core/element/form/connection_resource.rb +14 -0
  157. data/lib/odf_core/element/form/date.rb +37 -0
  158. data/lib/odf_core/element/form/file.rb +30 -0
  159. data/lib/odf_core/element/form/fixed_text.rb +26 -0
  160. data/lib/odf_core/element/form/form.rb +64 -0
  161. data/lib/odf_core/element/form/formatted_text.rb +38 -0
  162. data/lib/odf_core/element/form/frame.rb +25 -0
  163. data/lib/odf_core/element/form/generic_control.rb +20 -0
  164. data/lib/odf_core/element/form/grid.rb +25 -0
  165. data/lib/odf_core/element/form/hidden.rb +21 -0
  166. data/lib/odf_core/element/form/image.rb +30 -0
  167. data/lib/odf_core/element/form/image_frame.rb +26 -0
  168. data/lib/odf_core/element/form/item.rb +14 -0
  169. data/lib/odf_core/element/form/list_property.rb +14 -0
  170. data/lib/odf_core/element/form/list_value.rb +21 -0
  171. data/lib/odf_core/element/form/listbox.rb +36 -0
  172. data/lib/odf_core/element/form/number.rb +37 -0
  173. data/lib/odf_core/element/form/option.rb +19 -0
  174. data/lib/odf_core/element/form/password.rb +30 -0
  175. data/lib/odf_core/element/form/properties.rb +14 -0
  176. data/lib/odf_core/element/form/property.rb +23 -0
  177. data/lib/odf_core/element/form/radio.rb +34 -0
  178. data/lib/odf_core/element/form/text.rb +32 -0
  179. data/lib/odf_core/element/form/textarea.rb +32 -0
  180. data/lib/odf_core/element/form/time.rb +37 -0
  181. data/lib/odf_core/element/form/value_range.rb +34 -0
  182. data/lib/odf_core/element/math/math.rb +14 -0
  183. data/lib/odf_core/element/meta/auto_reload.rb +20 -0
  184. data/lib/odf_core/element/meta/creation_date.rb +14 -0
  185. data/lib/odf_core/element/meta/date_string.rb +14 -0
  186. data/lib/odf_core/element/meta/document_statistic.rb +30 -0
  187. data/lib/odf_core/element/meta/editing_cycles.rb +14 -0
  188. data/lib/odf_core/element/meta/editing_duration.rb +14 -0
  189. data/lib/odf_core/element/meta/generator.rb +14 -0
  190. data/lib/odf_core/element/meta/hyperlink_behaviour.rb +14 -0
  191. data/lib/odf_core/element/meta/initial_creator.rb +14 -0
  192. data/lib/odf_core/element/meta/keyword.rb +14 -0
  193. data/lib/odf_core/element/meta/print_date.rb +14 -0
  194. data/lib/odf_core/element/meta/printed_by.rb +14 -0
  195. data/lib/odf_core/element/meta/template.rb +20 -0
  196. data/lib/odf_core/element/meta/user_defined.rb +14 -0
  197. data/lib/odf_core/element/number/am_pm.rb +14 -0
  198. data/lib/odf_core/element/number/boolean.rb +14 -0
  199. data/lib/odf_core/element/number/boolean_style.rb +32 -0
  200. data/lib/odf_core/element/number/currency_style.rb +34 -0
  201. data/lib/odf_core/element/number/currency_symbol.rb +19 -0
  202. data/lib/odf_core/element/number/date_style.rb +44 -0
  203. data/lib/odf_core/element/number/day.rb +14 -0
  204. data/lib/odf_core/element/number/day_of_week.rb +14 -0
  205. data/lib/odf_core/element/number/embedded_text.rb +14 -0
  206. data/lib/odf_core/element/number/era.rb +14 -0
  207. data/lib/odf_core/element/number/fraction.rb +20 -0
  208. data/lib/odf_core/element/number/hours.rb +14 -0
  209. data/lib/odf_core/element/number/minutes.rb +14 -0
  210. data/lib/odf_core/element/number/month.rb +19 -0
  211. data/lib/odf_core/element/number/number.rb +20 -0
  212. data/lib/odf_core/element/number/number_style.rb +34 -0
  213. data/lib/odf_core/element/number/percentage_style.rb +32 -0
  214. data/lib/odf_core/element/number/quarter.rb +14 -0
  215. data/lib/odf_core/element/number/scientific_number.rb +19 -0
  216. data/lib/odf_core/element/number/seconds.rb +14 -0
  217. data/lib/odf_core/element/number/text.rb +14 -0
  218. data/lib/odf_core/element/number/text_content.rb +14 -0
  219. data/lib/odf_core/element/number/text_style.rb +32 -0
  220. data/lib/odf_core/element/number/time_style.rb +37 -0
  221. data/lib/odf_core/element/number/week_of_year.rb +14 -0
  222. data/lib/odf_core/element/number/year.rb +14 -0
  223. data/lib/odf_core/element/office/annotation.rb +41 -0
  224. data/lib/odf_core/element/office/annotation_end.rb +14 -0
  225. data/lib/odf_core/element/office/automatic_styles.rb +25 -0
  226. data/lib/odf_core/element/office/binary_data.rb +14 -0
  227. data/lib/odf_core/element/office/body.rb +22 -0
  228. data/lib/odf_core/element/office/change_info.rb +14 -0
  229. data/lib/odf_core/element/office/chart.rb +29 -0
  230. data/lib/odf_core/element/office/database.rb +21 -0
  231. data/lib/odf_core/element/office/dde_source.rb +21 -0
  232. data/lib/odf_core/element/office/document.rb +23 -0
  233. data/lib/odf_core/element/office/document_content.rb +19 -0
  234. data/lib/odf_core/element/office/document_meta.rb +14 -0
  235. data/lib/odf_core/element/office/document_settings.rb +14 -0
  236. data/lib/odf_core/element/office/document_styles.rb +19 -0
  237. data/lib/odf_core/element/office/drawing.rb +29 -0
  238. data/lib/odf_core/element/office/event_listeners.rb +14 -0
  239. data/lib/odf_core/element/office/font_face_decls.rb +14 -0
  240. data/lib/odf_core/element/office/forms.rb +14 -0
  241. data/lib/odf_core/element/office/image.rb +14 -0
  242. data/lib/odf_core/element/office/master_styles.rb +14 -0
  243. data/lib/odf_core/element/office/meta.rb +14 -0
  244. data/lib/odf_core/element/office/presentation.rb +14 -0
  245. data/lib/odf_core/element/office/script.rb +14 -0
  246. data/lib/odf_core/element/office/scripts.rb +14 -0
  247. data/lib/odf_core/element/office/settings.rb +14 -0
  248. data/lib/odf_core/element/office/spreadsheet.rb +30 -0
  249. data/lib/odf_core/element/office/styles.rb +40 -0
  250. data/lib/odf_core/element/office/text.rb +47 -0
  251. data/lib/odf_core/element/presentation/animation_group.rb +21 -0
  252. data/lib/odf_core/element/presentation/animations.rb +22 -0
  253. data/lib/odf_core/element/presentation/date_time.rb +14 -0
  254. data/lib/odf_core/element/presentation/date_time_decl.rb +14 -0
  255. data/lib/odf_core/element/presentation/dim.rb +14 -0
  256. data/lib/odf_core/element/presentation/event_listener.rb +26 -0
  257. data/lib/odf_core/element/presentation/footer.rb +14 -0
  258. data/lib/odf_core/element/presentation/footer_decl.rb +14 -0
  259. data/lib/odf_core/element/presentation/header.rb +14 -0
  260. data/lib/odf_core/element/presentation/header_decl.rb +14 -0
  261. data/lib/odf_core/element/presentation/hide_shape.rb +22 -0
  262. data/lib/odf_core/element/presentation/hide_text.rb +22 -0
  263. data/lib/odf_core/element/presentation/notes.rb +40 -0
  264. data/lib/odf_core/element/presentation/placeholder.rb +20 -0
  265. data/lib/odf_core/element/presentation/play.rb +14 -0
  266. data/lib/odf_core/element/presentation/settings.rb +29 -0
  267. data/lib/odf_core/element/presentation/show.rb +14 -0
  268. data/lib/odf_core/element/presentation/show_shape.rb +22 -0
  269. data/lib/odf_core/element/presentation/show_text.rb +22 -0
  270. data/lib/odf_core/element/presentation/sound.rb +21 -0
  271. data/lib/odf_core/element/script/event_listener.rb +21 -0
  272. data/lib/odf_core/element/style/background_image.rb +23 -0
  273. data/lib/odf_core/element/style/chart_properties.rb +83 -0
  274. data/lib/odf_core/element/style/column.rb +20 -0
  275. data/lib/odf_core/element/style/column_sep.rb +20 -0
  276. data/lib/odf_core/element/style/columns.rb +14 -0
  277. data/lib/odf_core/element/style/default_page_layout.rb +14 -0
  278. data/lib/odf_core/element/style/default_style.rb +26 -0
  279. data/lib/odf_core/element/style/drawing_page_properties.rb +49 -0
  280. data/lib/odf_core/element/style/drop_cap.rb +19 -0
  281. data/lib/odf_core/element/style/font_face.rb +53 -0
  282. data/lib/odf_core/element/style/footer.rb +23 -0
  283. data/lib/odf_core/element/style/footer_left.rb +23 -0
  284. data/lib/odf_core/element/style/footer_style.rb +14 -0
  285. data/lib/odf_core/element/style/footnote_sep.rb +22 -0
  286. data/lib/odf_core/element/style/graphic_properties.rb +189 -0
  287. data/lib/odf_core/element/style/handout_master.rb +40 -0
  288. data/lib/odf_core/element/style/header.rb +23 -0
  289. data/lib/odf_core/element/style/header_footer_properties.rb +40 -0
  290. data/lib/odf_core/element/style/header_left.rb +23 -0
  291. data/lib/odf_core/element/style/header_style.rb +14 -0
  292. data/lib/odf_core/element/style/list_level_label_alignment.rb +19 -0
  293. data/lib/odf_core/element/style/list_level_properties.rb +26 -0
  294. data/lib/odf_core/element/style/map.rb +14 -0
  295. data/lib/odf_core/element/style/master_page.rb +57 -0
  296. data/lib/odf_core/element/style/page_layout.rb +14 -0
  297. data/lib/odf_core/element/style/page_layout_properties.rb +65 -0
  298. data/lib/odf_core/element/style/paragraph_properties.rb +68 -0
  299. data/lib/odf_core/element/style/presentation_page_layout.rb +14 -0
  300. data/lib/odf_core/element/style/region_center.rb +14 -0
  301. data/lib/odf_core/element/style/region_left.rb +14 -0
  302. data/lib/odf_core/element/style/region_right.rb +14 -0
  303. data/lib/odf_core/element/style/ruby_properties.rb +14 -0
  304. data/lib/odf_core/element/style/section_properties.rb +22 -0
  305. data/lib/odf_core/element/style/style.rb +41 -0
  306. data/lib/odf_core/element/style/tab_stop.rb +24 -0
  307. data/lib/odf_core/element/style/tab_stops.rb +14 -0
  308. data/lib/odf_core/element/style/table_cell_properties.rb +49 -0
  309. data/lib/odf_core/element/style/table_column_properties.rb +20 -0
  310. data/lib/odf_core/element/style/table_properties.rb +33 -0
  311. data/lib/odf_core/element/style/table_row_properties.rb +22 -0
  312. data/lib/odf_core/element/style/text_properties.rb +99 -0
  313. data/lib/odf_core/element/svg/definition_src.rb +14 -0
  314. data/lib/odf_core/element/svg/desc.rb +14 -0
  315. data/lib/odf_core/element/svg/font_face_format.rb +14 -0
  316. data/lib/odf_core/element/svg/font_face_name.rb +14 -0
  317. data/lib/odf_core/element/svg/font_face_src.rb +14 -0
  318. data/lib/odf_core/element/svg/font_face_uri.rb +14 -0
  319. data/lib/odf_core/element/svg/linear_gradient.rb +24 -0
  320. data/lib/odf_core/element/svg/radial_gradient.rb +25 -0
  321. data/lib/odf_core/element/svg/stop.rb +14 -0
  322. data/lib/odf_core/element/svg/title.rb +14 -0
  323. data/lib/odf_core/element/table/background.rb +14 -0
  324. data/lib/odf_core/element/table/body.rb +14 -0
  325. data/lib/odf_core/element/table/calculation_settings.rb +22 -0
  326. data/lib/odf_core/element/table/cell_address.rb +14 -0
  327. data/lib/odf_core/element/table/cell_content_change.rb +20 -0
  328. data/lib/odf_core/element/table/cell_content_deletion.rb +14 -0
  329. data/lib/odf_core/element/table/cell_range_source.rb +24 -0
  330. data/lib/odf_core/element/table/change_deletion.rb +14 -0
  331. data/lib/odf_core/element/table/change_track_table_cell.rb +27 -0
  332. data/lib/odf_core/element/table/consolidation.rb +20 -0
  333. data/lib/odf_core/element/table/content_validation.rb +25 -0
  334. data/lib/odf_core/element/table/content_validations.rb +14 -0
  335. data/lib/odf_core/element/table/covered_table_cell.rb +59 -0
  336. data/lib/odf_core/element/table/cut_offs.rb +14 -0
  337. data/lib/odf_core/element/table/data_pilot_display_info.rb +19 -0
  338. data/lib/odf_core/element/table/data_pilot_field.rb +21 -0
  339. data/lib/odf_core/element/table/data_pilot_field_reference.rb +19 -0
  340. data/lib/odf_core/element/table/data_pilot_group.rb +14 -0
  341. data/lib/odf_core/element/table/data_pilot_group_member.rb +14 -0
  342. data/lib/odf_core/element/table/data_pilot_groups.rb +22 -0
  343. data/lib/odf_core/element/table/data_pilot_layout_info.rb +14 -0
  344. data/lib/odf_core/element/table/data_pilot_level.rb +20 -0
  345. data/lib/odf_core/element/table/data_pilot_member.rb +14 -0
  346. data/lib/odf_core/element/table/data_pilot_members.rb +14 -0
  347. data/lib/odf_core/element/table/data_pilot_sort_info.rb +14 -0
  348. data/lib/odf_core/element/table/data_pilot_subtotal.rb +14 -0
  349. data/lib/odf_core/element/table/data_pilot_subtotals.rb +14 -0
  350. data/lib/odf_core/element/table/data_pilot_table.rb +31 -0
  351. data/lib/odf_core/element/table/data_pilot_tables.rb +14 -0
  352. data/lib/odf_core/element/table/database_range.rb +32 -0
  353. data/lib/odf_core/element/table/database_ranges.rb +14 -0
  354. data/lib/odf_core/element/table/database_source_query.rb +14 -0
  355. data/lib/odf_core/element/table/database_source_sql.rb +14 -0
  356. data/lib/odf_core/element/table/database_source_table.rb +14 -0
  357. data/lib/odf_core/element/table/dde_link.rb +14 -0
  358. data/lib/odf_core/element/table/dde_links.rb +14 -0
  359. data/lib/odf_core/element/table/deletion.rb +27 -0
  360. data/lib/odf_core/element/table/deletions.rb +14 -0
  361. data/lib/odf_core/element/table/dependencies.rb +14 -0
  362. data/lib/odf_core/element/table/dependency.rb +14 -0
  363. data/lib/odf_core/element/table/desc.rb +14 -0
  364. data/lib/odf_core/element/table/detective.rb +14 -0
  365. data/lib/odf_core/element/table/error_macro.rb +14 -0
  366. data/lib/odf_core/element/table/error_message.rb +14 -0
  367. data/lib/odf_core/element/table/even_columns.rb +14 -0
  368. data/lib/odf_core/element/table/even_rows.rb +14 -0
  369. data/lib/odf_core/element/table/filter.rb +19 -0
  370. data/lib/odf_core/element/table/filter_and.rb +14 -0
  371. data/lib/odf_core/element/table/filter_condition.rb +20 -0
  372. data/lib/odf_core/element/table/filter_or.rb +14 -0
  373. data/lib/odf_core/element/table/filter_set_item.rb +14 -0
  374. data/lib/odf_core/element/table/first_column.rb +14 -0
  375. data/lib/odf_core/element/table/first_row.rb +14 -0
  376. data/lib/odf_core/element/table/help_message.rb +14 -0
  377. data/lib/odf_core/element/table/highlighted_range.rb +19 -0
  378. data/lib/odf_core/element/table/insertion.rb +22 -0
  379. data/lib/odf_core/element/table/insertion_cut_off.rb +14 -0
  380. data/lib/odf_core/element/table/iteration.rb +14 -0
  381. data/lib/odf_core/element/table/label_range.rb +14 -0
  382. data/lib/odf_core/element/table/label_ranges.rb +14 -0
  383. data/lib/odf_core/element/table/last_column.rb +14 -0
  384. data/lib/odf_core/element/table/last_row.rb +14 -0
  385. data/lib/odf_core/element/table/movement.rb +20 -0
  386. data/lib/odf_core/element/table/movement_cut_off.rb +14 -0
  387. data/lib/odf_core/element/table/named_expression.rb +14 -0
  388. data/lib/odf_core/element/table/named_expressions.rb +14 -0
  389. data/lib/odf_core/element/table/named_range.rb +19 -0
  390. data/lib/odf_core/element/table/null_date.rb +14 -0
  391. data/lib/odf_core/element/table/odd_columns.rb +14 -0
  392. data/lib/odf_core/element/table/odd_rows.rb +14 -0
  393. data/lib/odf_core/element/table/operation.rb +14 -0
  394. data/lib/odf_core/element/table/previous.rb +14 -0
  395. data/lib/odf_core/element/table/scenario.rb +24 -0
  396. data/lib/odf_core/element/table/shapes.rb +33 -0
  397. data/lib/odf_core/element/table/sort.rb +24 -0
  398. data/lib/odf_core/element/table/sort_by.rb +14 -0
  399. data/lib/odf_core/element/table/sort_groups.rb +14 -0
  400. data/lib/odf_core/element/table/source_cell_range.rb +14 -0
  401. data/lib/odf_core/element/table/source_range_address.rb +24 -0
  402. data/lib/odf_core/element/table/source_service.rb +20 -0
  403. data/lib/odf_core/element/table/subtotal_field.rb +14 -0
  404. data/lib/odf_core/element/table/subtotal_rule.rb +14 -0
  405. data/lib/odf_core/element/table/subtotal_rules.rb +14 -0
  406. data/lib/odf_core/element/table/table.rb +49 -0
  407. data/lib/odf_core/element/table/table_cell.rb +63 -0
  408. data/lib/odf_core/element/table/table_column.rb +20 -0
  409. data/lib/odf_core/element/table/table_column_group.rb +19 -0
  410. data/lib/odf_core/element/table/table_columns.rb +14 -0
  411. data/lib/odf_core/element/table/table_header_columns.rb +14 -0
  412. data/lib/odf_core/element/table/table_header_rows.rb +14 -0
  413. data/lib/odf_core/element/table/table_row.rb +20 -0
  414. data/lib/odf_core/element/table/table_row_group.rb +20 -0
  415. data/lib/odf_core/element/table/table_rows.rb +14 -0
  416. data/lib/odf_core/element/table/table_source.rb +23 -0
  417. data/lib/odf_core/element/table/table_template.rb +31 -0
  418. data/lib/odf_core/element/table/target_range_address.rb +24 -0
  419. data/lib/odf_core/element/table/title.rb +14 -0
  420. data/lib/odf_core/element/table/tracked_changes.rb +19 -0
  421. data/lib/odf_core/element/text/a.rb +47 -0
  422. data/lib/odf_core/element/text/alphabetical_index.rb +21 -0
  423. data/lib/odf_core/element/text/alphabetical_index_auto_mark_file.rb +14 -0
  424. data/lib/odf_core/element/text/alphabetical_index_entry_template.rb +20 -0
  425. data/lib/odf_core/element/text/alphabetical_index_mark.rb +22 -0
  426. data/lib/odf_core/element/text/alphabetical_index_mark_end.rb +14 -0
  427. data/lib/odf_core/element/text/alphabetical_index_mark_start.rb +22 -0
  428. data/lib/odf_core/element/text/alphabetical_index_source.rb +31 -0
  429. data/lib/odf_core/element/text/author_initials.rb +14 -0
  430. data/lib/odf_core/element/text/author_name.rb +14 -0
  431. data/lib/odf_core/element/text/bibliography.rb +21 -0
  432. data/lib/odf_core/element/text/bibliography_configuration.rb +24 -0
  433. data/lib/odf_core/element/text/bibliography_entry_template.rb +14 -0
  434. data/lib/odf_core/element/text/bibliography_mark.rb +47 -0
  435. data/lib/odf_core/element/text/bibliography_source.rb +14 -0
  436. data/lib/odf_core/element/text/bookmark.rb +14 -0
  437. data/lib/odf_core/element/text/bookmark_end.rb +14 -0
  438. data/lib/odf_core/element/text/bookmark_ref.rb +14 -0
  439. data/lib/odf_core/element/text/bookmark_start.rb +21 -0
  440. data/lib/odf_core/element/text/change.rb +14 -0
  441. data/lib/odf_core/element/text/change_end.rb +14 -0
  442. data/lib/odf_core/element/text/change_start.rb +14 -0
  443. data/lib/odf_core/element/text/changed_region.rb +14 -0
  444. data/lib/odf_core/element/text/chapter.rb +14 -0
  445. data/lib/odf_core/element/text/character_count.rb +14 -0
  446. data/lib/odf_core/element/text/conditional_text.rb +19 -0
  447. data/lib/odf_core/element/text/creation_date.rb +14 -0
  448. data/lib/odf_core/element/text/creation_time.rb +14 -0
  449. data/lib/odf_core/element/text/creator.rb +14 -0
  450. data/lib/odf_core/element/text/database_display.rb +20 -0
  451. data/lib/odf_core/element/text/database_name.rb +14 -0
  452. data/lib/odf_core/element/text/database_next.rb +19 -0
  453. data/lib/odf_core/element/text/database_row_number.rb +21 -0
  454. data/lib/odf_core/element/text/database_row_select.rb +20 -0
  455. data/lib/odf_core/element/text/date.rb +19 -0
  456. data/lib/odf_core/element/text/dde_connection.rb +14 -0
  457. data/lib/odf_core/element/text/dde_connection_decl.rb +20 -0
  458. data/lib/odf_core/element/text/dde_connection_decls.rb +14 -0
  459. data/lib/odf_core/element/text/deletion.rb +38 -0
  460. data/lib/odf_core/element/text/description.rb +14 -0
  461. data/lib/odf_core/element/text/editing_cycles.rb +14 -0
  462. data/lib/odf_core/element/text/editing_duration.rb +14 -0
  463. data/lib/odf_core/element/text/execute_macro.rb +14 -0
  464. data/lib/odf_core/element/text/expression.rb +25 -0
  465. data/lib/odf_core/element/text/file_name.rb +14 -0
  466. data/lib/odf_core/element/text/format_change.rb +14 -0
  467. data/lib/odf_core/element/text/h.rb +50 -0
  468. data/lib/odf_core/element/text/hidden_paragraph.rb +14 -0
  469. data/lib/odf_core/element/text/hidden_text.rb +14 -0
  470. data/lib/odf_core/element/text/illustration_index.rb +21 -0
  471. data/lib/odf_core/element/text/illustration_index_entry_template.rb +20 -0
  472. data/lib/odf_core/element/text/illustration_index_source.rb +20 -0
  473. data/lib/odf_core/element/text/image_count.rb +14 -0
  474. data/lib/odf_core/element/text/index_body.rb +37 -0
  475. data/lib/odf_core/element/text/index_entry_bibliography.rb +14 -0
  476. data/lib/odf_core/element/text/index_entry_chapter.rb +14 -0
  477. data/lib/odf_core/element/text/index_entry_link_end.rb +14 -0
  478. data/lib/odf_core/element/text/index_entry_link_start.rb +14 -0
  479. data/lib/odf_core/element/text/index_entry_page_number.rb +14 -0
  480. data/lib/odf_core/element/text/index_entry_span.rb +14 -0
  481. data/lib/odf_core/element/text/index_entry_tab_stop.rb +19 -0
  482. data/lib/odf_core/element/text/index_entry_text.rb +14 -0
  483. data/lib/odf_core/element/text/index_source_style.rb +14 -0
  484. data/lib/odf_core/element/text/index_source_styles.rb +14 -0
  485. data/lib/odf_core/element/text/index_title.rb +44 -0
  486. data/lib/odf_core/element/text/index_title_template.rb +14 -0
  487. data/lib/odf_core/element/text/initial_creator.rb +14 -0
  488. data/lib/odf_core/element/text/insertion.rb +14 -0
  489. data/lib/odf_core/element/text/keywords.rb +14 -0
  490. data/lib/odf_core/element/text/line_break.rb +14 -0
  491. data/lib/odf_core/element/text/linenumbering_configuration.rb +25 -0
  492. data/lib/odf_core/element/text/linenumbering_separator.rb +14 -0
  493. data/lib/odf_core/element/text/list.rb +19 -0
  494. data/lib/odf_core/element/text/list_header.rb +20 -0
  495. data/lib/odf_core/element/text/list_item.rb +20 -0
  496. data/lib/odf_core/element/text/list_level_style_bullet.rb +21 -0
  497. data/lib/odf_core/element/text/list_level_style_image.rb +20 -0
  498. data/lib/odf_core/element/text/list_level_style_number.rb +23 -0
  499. data/lib/odf_core/element/text/list_style.rb +14 -0
  500. data/lib/odf_core/element/text/measure.rb +14 -0
  501. data/lib/odf_core/element/text/meta.rb +42 -0
  502. data/lib/odf_core/element/text/meta_field.rb +36 -0
  503. data/lib/odf_core/element/text/modification_date.rb +14 -0
  504. data/lib/odf_core/element/text/modification_time.rb +14 -0
  505. data/lib/odf_core/element/text/note.rb +14 -0
  506. data/lib/odf_core/element/text/note_body.rb +37 -0
  507. data/lib/odf_core/element/text/note_citation.rb +14 -0
  508. data/lib/odf_core/element/text/note_continuation_notice_backward.rb +14 -0
  509. data/lib/odf_core/element/text/note_continuation_notice_forward.rb +14 -0
  510. data/lib/odf_core/element/text/note_ref.rb +14 -0
  511. data/lib/odf_core/element/text/notes_configuration.rb +27 -0
  512. data/lib/odf_core/element/text/number.rb +14 -0
  513. data/lib/odf_core/element/text/numbered_paragraph.rb +21 -0
  514. data/lib/odf_core/element/text/object_count.rb +14 -0
  515. data/lib/odf_core/element/text/object_index.rb +21 -0
  516. data/lib/odf_core/element/text/object_index_entry_template.rb +20 -0
  517. data/lib/odf_core/element/text/object_index_source.rb +22 -0
  518. data/lib/odf_core/element/text/outline_level_style.rb +23 -0
  519. data/lib/odf_core/element/text/outline_style.rb +14 -0
  520. data/lib/odf_core/element/text/p.rb +46 -0
  521. data/lib/odf_core/element/text/page.rb +14 -0
  522. data/lib/odf_core/element/text/page_continuation.rb +14 -0
  523. data/lib/odf_core/element/text/page_count.rb +14 -0
  524. data/lib/odf_core/element/text/page_number.rb +20 -0
  525. data/lib/odf_core/element/text/page_sequence.rb +14 -0
  526. data/lib/odf_core/element/text/page_variable_get.rb +14 -0
  527. data/lib/odf_core/element/text/page_variable_set.rb +14 -0
  528. data/lib/odf_core/element/text/paragraph_count.rb +14 -0
  529. data/lib/odf_core/element/text/placeholder.rb +14 -0
  530. data/lib/odf_core/element/text/print_date.rb +14 -0
  531. data/lib/odf_core/element/text/print_time.rb +14 -0
  532. data/lib/odf_core/element/text/printed_by.rb +14 -0
  533. data/lib/odf_core/element/text/reference_mark.rb +14 -0
  534. data/lib/odf_core/element/text/reference_mark_end.rb +14 -0
  535. data/lib/odf_core/element/text/reference_mark_start.rb +14 -0
  536. data/lib/odf_core/element/text/reference_ref.rb +14 -0
  537. data/lib/odf_core/element/text/ruby.rb +14 -0
  538. data/lib/odf_core/element/text/ruby_base.rb +36 -0
  539. data/lib/odf_core/element/text/ruby_text.rb +14 -0
  540. data/lib/odf_core/element/text/s.rb +14 -0
  541. data/lib/odf_core/element/text/script.rb +14 -0
  542. data/lib/odf_core/element/text/section.rb +47 -0
  543. data/lib/odf_core/element/text/section_source.rb +20 -0
  544. data/lib/odf_core/element/text/sender_city.rb +14 -0
  545. data/lib/odf_core/element/text/sender_company.rb +14 -0
  546. data/lib/odf_core/element/text/sender_country.rb +14 -0
  547. data/lib/odf_core/element/text/sender_email.rb +14 -0
  548. data/lib/odf_core/element/text/sender_fax.rb +14 -0
  549. data/lib/odf_core/element/text/sender_firstname.rb +14 -0
  550. data/lib/odf_core/element/text/sender_initials.rb +14 -0
  551. data/lib/odf_core/element/text/sender_lastname.rb +14 -0
  552. data/lib/odf_core/element/text/sender_phone_private.rb +14 -0
  553. data/lib/odf_core/element/text/sender_phone_work.rb +14 -0
  554. data/lib/odf_core/element/text/sender_position.rb +14 -0
  555. data/lib/odf_core/element/text/sender_postal_code.rb +14 -0
  556. data/lib/odf_core/element/text/sender_state_or_province.rb +14 -0
  557. data/lib/odf_core/element/text/sender_street.rb +14 -0
  558. data/lib/odf_core/element/text/sender_title.rb +14 -0
  559. data/lib/odf_core/element/text/sequence.rb +20 -0
  560. data/lib/odf_core/element/text/sequence_decl.rb +14 -0
  561. data/lib/odf_core/element/text/sequence_decls.rb +14 -0
  562. data/lib/odf_core/element/text/sequence_ref.rb +14 -0
  563. data/lib/odf_core/element/text/sheet_name.rb +14 -0
  564. data/lib/odf_core/element/text/soft_page_break.rb +14 -0
  565. data/lib/odf_core/element/text/sort_key.rb +14 -0
  566. data/lib/odf_core/element/text/span.rb +36 -0
  567. data/lib/odf_core/element/text/subject.rb +14 -0
  568. data/lib/odf_core/element/text/tab.rb +14 -0
  569. data/lib/odf_core/element/text/table_count.rb +14 -0
  570. data/lib/odf_core/element/text/table_formula.rb +14 -0
  571. data/lib/odf_core/element/text/table_index.rb +21 -0
  572. data/lib/odf_core/element/text/table_index_entry_template.rb +20 -0
  573. data/lib/odf_core/element/text/table_index_source.rb +20 -0
  574. data/lib/odf_core/element/text/table_of_content.rb +21 -0
  575. data/lib/odf_core/element/text/table_of_content_entry_template.rb +22 -0
  576. data/lib/odf_core/element/text/table_of_content_source.rb +21 -0
  577. data/lib/odf_core/element/text/template_name.rb +14 -0
  578. data/lib/odf_core/element/text/text_input.rb +14 -0
  579. data/lib/odf_core/element/text/time.rb +19 -0
  580. data/lib/odf_core/element/text/title.rb +14 -0
  581. data/lib/odf_core/element/text/toc_mark.rb +14 -0
  582. data/lib/odf_core/element/text/toc_mark_end.rb +14 -0
  583. data/lib/odf_core/element/text/toc_mark_start.rb +14 -0
  584. data/lib/odf_core/element/text/tracked_changes.rb +14 -0
  585. data/lib/odf_core/element/text/user_defined.rb +23 -0
  586. data/lib/odf_core/element/text/user_field_decl.rb +24 -0
  587. data/lib/odf_core/element/text/user_field_decls.rb +14 -0
  588. data/lib/odf_core/element/text/user_field_get.rb +14 -0
  589. data/lib/odf_core/element/text/user_field_input.rb +14 -0
  590. data/lib/odf_core/element/text/user_index.rb +21 -0
  591. data/lib/odf_core/element/text/user_index_entry_template.rb +20 -0
  592. data/lib/odf_core/element/text/user_index_mark.rb +14 -0
  593. data/lib/odf_core/element/text/user_index_mark_end.rb +14 -0
  594. data/lib/odf_core/element/text/user_index_mark_start.rb +14 -0
  595. data/lib/odf_core/element/text/user_index_source.rb +25 -0
  596. data/lib/odf_core/element/text/variable_decl.rb +14 -0
  597. data/lib/odf_core/element/text/variable_decls.rb +14 -0
  598. data/lib/odf_core/element/text/variable_get.rb +14 -0
  599. data/lib/odf_core/element/text/variable_input.rb +20 -0
  600. data/lib/odf_core/element/text/variable_set.rb +26 -0
  601. data/lib/odf_core/element/text/word_count.rb +14 -0
  602. data/lib/odf_core/element/xforms/model.rb +14 -0
  603. data/lib/odf_core/error/not_allowed_attribute.rb +11 -0
  604. data/lib/odf_core/error/not_allowed_element.rb +11 -0
  605. data/lib/odf_core/version.rb +1 -1
  606. metadata +603 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 56984a4144095fe244d3b9c7ed29bdb9bf47e955
4
- data.tar.gz: eed16b3cf151f7178514325f3ccf8ca3688dabd3
3
+ metadata.gz: 143b1fffbbb8b0d07d473d1d68acbea7d2469e89
4
+ data.tar.gz: 5ec1cddcb8ed5fca69c2e71a0542c5c4b9cf3a06
5
5
  SHA512:
6
- metadata.gz: 3b36cd8da96970f4ad9697bd71997f5c46f2bb630f6ae8cd4b424997e3af901aab2cdeec3dbd69d2269a4abd7949f239bb6590b91c1309ebedbb5e240c699787
7
- data.tar.gz: 9dad6a551c46dc2c96bc33d5267728719390a0260ed688984bf064cdb1aa51171b2b3eb5e33807c616a30b0058c1355c5412247cc24e7a640f9e569c8ad90685
6
+ metadata.gz: ebd87e17317ae9f82216ebc371a3d4ded317d4466146127436ca1932b22cb29dab61f9f564a085bc14cef6e058b7294f60696a30dba434c2f83f740595a24e70
7
+ data.tar.gz: ae9655e28aa94cb54334967212c96fd165dcbf760da989b42eed14ffc345d5f3c32fa4d99c533d0905e3bed59a726c24e440f6ae4e9a72b692bccdadda922499
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # OdfCore
2
2
 
3
3
  Full set of "Open Document Format" elements translated into Ruby classes.
4
- Ok but what does it mean? It means if you are developing an ODF gem you can take this implementation as core of your gem. If you are looking for an easy to use ODF implementation without knowing all the implementation details of ODF, you are not supposed to be here, instead you can have a look at the [ODF gem](https://github.com/meinac/odf).
4
+ Ok, seems like cool but what does it mean? It means if you are developing an ODF gem you can take this implementation as a foundation of your gem. If you are looking for an easy to use ODF implementation without knowing all the implementation details of ODF, you are not supposed to be here, instead you can have a look at the [ODF gem](https://github.com/meinac/odf).
5
5
 
6
6
  ## Installation
7
7
 
@@ -21,16 +21,25 @@ Or install it yourself as:
21
21
 
22
22
  ## Usage
23
23
 
24
- Example usage of classes;
24
+ This gem provides Ruby classes for all ODF elements. If the element you want to use is `draw::text-box` then the class you are looking for is `OdfCore::Element::Draw::TextBox`. The pattern is applicable for all the elements(`OdfCore::Element::$NAMESPACE::$ELEMENT_NAME_IN_RUBY_CONVENTION`).
25
25
 
26
- text_box = OdfCore::Draw::TextBox.new
27
- headline = OdfCore::Draw::H.new('Text comes here...')
26
+ The element instance has a simple interface with 3 methods;
27
+
28
+ - `<<` method allows you to insert child element
29
+ - `[]=` method allows you to set attribute for element
30
+ - `[]` method allows you to get the value of the attribute for the element
31
+
32
+ Example of adding child into an element;
33
+
34
+ text_box = OdfCore::Element::Draw::TextBox.new
35
+ headline = OdfCore::Element::Draw::H.new
28
36
  text_box << headline
29
37
 
30
- It's also possible to set attributes for elements like so;
38
+ Example of setting and getting the attribute of an element;
31
39
 
32
- text_box = OdfCore::Draw::TextBox.new
33
- text_box.fo_max_height = '10px'
40
+ text_box = OdfCore::Element::Draw::TextBox.new
41
+ text_box['fo:max-height'] = '10px'
42
+ text_box['fo:max-height']
34
43
 
35
44
  ## Development
36
45
 
@@ -1,4 +1,4 @@
1
- require "odf_core/version"
1
+ Dir[File.join(__dir__, "odf_core", "**", "*.rb")].each { |file| require file }
2
2
 
3
3
  module OdfCore
4
4
 
@@ -0,0 +1,57 @@
1
+ module OdfCore
2
+ module Element
3
+ class AbstractElement
4
+
5
+ class << self
6
+ def children
7
+ self::CHILDREN
8
+ end
9
+
10
+ def attributes
11
+ self::ATTRIBUTES
12
+ end
13
+
14
+ def xml_element_name
15
+ self::XML_ELEMENT_NAME
16
+ end
17
+ end
18
+
19
+ attr_reader :children, :attributes
20
+
21
+ def initialize
22
+ @children = []
23
+ @attributes = {}
24
+ end
25
+
26
+ def <<(element)
27
+ check_child_element!(element)
28
+
29
+ @children << element
30
+ end
31
+
32
+ def []=(attribute_name, attribute_value)
33
+ check_attribute!(attribute_name)
34
+
35
+ @attributes[attribute_name] = attribute_value
36
+ end
37
+
38
+ def [](attribute_name)
39
+ @attributes[attribute_name]
40
+ end
41
+
42
+ private
43
+ def check_child_element!(element)
44
+ if !self.class.children.include?(element.class.xml_element_name)
45
+ raise Error::NotAllowedElement.new(self.class.name, element.class)
46
+ end
47
+ end
48
+
49
+ def check_attribute!(attribute_name)
50
+ if !self.class.attributes.include?(attribute_name)
51
+ raise Error::NotAllowedAttribute.new(self.class.name, attribute_name)
52
+ end
53
+ end
54
+
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,40 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class Animate < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:animate'
6
+
7
+ CHILDREN = [].freeze
8
+
9
+ ATTRIBUTES = [
10
+ "anim:formula",
11
+ "anim:sub-item",
12
+ "smil:accelerate",
13
+ "smil:accumulate",
14
+ "smil:additive",
15
+ "smil:attributeName",
16
+ "smil:autoReverse",
17
+ "smil:begin",
18
+ "smil:by",
19
+ "smil:calcMode",
20
+ "smil:decelerate",
21
+ "smil:dur",
22
+ "smil:end",
23
+ "smil:fill",
24
+ "smil:fillDefault",
25
+ "smil:from",
26
+ "smil:keySplines",
27
+ "smil:keyTimes",
28
+ "smil:repeatCount",
29
+ "smil:repeatDur",
30
+ "smil:restart",
31
+ "smil:restartDefault",
32
+ "smil:targetElement",
33
+ "smil:to",
34
+ "smil:values",
35
+ ].freeze
36
+
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,42 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class AnimateColor < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:animateColor'
6
+
7
+ CHILDREN = [].freeze
8
+
9
+ ATTRIBUTES = [
10
+ "anim:color-interpolation",
11
+ "anim:color-interpolation-direction",
12
+ "anim:formula",
13
+ "anim:sub-item",
14
+ "smil:accelerate",
15
+ "smil:accumulate",
16
+ "smil:additive",
17
+ "smil:attributeName",
18
+ "smil:autoReverse",
19
+ "smil:begin",
20
+ "smil:by",
21
+ "smil:calcMode",
22
+ "smil:decelerate",
23
+ "smil:dur",
24
+ "smil:end",
25
+ "smil:fill",
26
+ "smil:fillDefault",
27
+ "smil:from",
28
+ "smil:keySplines",
29
+ "smil:keyTimes",
30
+ "smil:repeatCount",
31
+ "smil:repeatDur",
32
+ "smil:restart",
33
+ "smil:restartDefault",
34
+ "smil:targetElement",
35
+ "smil:to",
36
+ "smil:values",
37
+ ].freeze
38
+
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class AnimateMotion < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:animateMotion'
6
+
7
+ CHILDREN = [].freeze
8
+
9
+ ATTRIBUTES = [
10
+ "anim:formula",
11
+ "anim:sub-item",
12
+ "smil:accelerate",
13
+ "smil:accumulate",
14
+ "smil:additive",
15
+ "smil:attributeName",
16
+ "smil:autoReverse",
17
+ "smil:begin",
18
+ "smil:by",
19
+ "smil:calcMode",
20
+ "smil:decelerate",
21
+ "smil:dur",
22
+ "smil:end",
23
+ "smil:fill",
24
+ "smil:fillDefault",
25
+ "smil:from",
26
+ "smil:keySplines",
27
+ "smil:keyTimes",
28
+ "smil:repeatCount",
29
+ "smil:repeatDur",
30
+ "smil:restart",
31
+ "smil:restartDefault",
32
+ "smil:targetElement",
33
+ "smil:to",
34
+ "smil:values",
35
+ "svg:origin",
36
+ "svg:path",
37
+ ].freeze
38
+
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,38 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class AnimateTransform < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:animateTransform'
6
+
7
+ CHILDREN = [].freeze
8
+
9
+ ATTRIBUTES = [
10
+ "anim:formula",
11
+ "anim:sub-item",
12
+ "smil:accelerate",
13
+ "smil:accumulate",
14
+ "smil:additive",
15
+ "smil:attributeName",
16
+ "smil:autoReverse",
17
+ "smil:begin",
18
+ "smil:by",
19
+ "smil:decelerate",
20
+ "smil:dur",
21
+ "smil:end",
22
+ "smil:fill",
23
+ "smil:fillDefault",
24
+ "smil:from",
25
+ "smil:repeatCount",
26
+ "smil:repeatDur",
27
+ "smil:restart",
28
+ "smil:restartDefault",
29
+ "smil:targetElement",
30
+ "smil:to",
31
+ "smil:values",
32
+ "svg:type",
33
+ ].freeze
34
+
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class Audio < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:audio'
6
+
7
+ CHILDREN = [].freeze
8
+
9
+ ATTRIBUTES = [
10
+ "anim:audio-level",
11
+ "anim:id",
12
+ "presentation:group-id",
13
+ "presentation:master-element",
14
+ "presentation:node-type",
15
+ "presentation:preset-class",
16
+ "presentation:preset-id",
17
+ "presentation:preset-sub-type",
18
+ "smil:begin",
19
+ "smil:dur",
20
+ "smil:end",
21
+ "smil:fill",
22
+ "smil:fillDefault",
23
+ "smil:repeatCount",
24
+ "smil:repeatDur",
25
+ "smil:restart",
26
+ "smil:restartDefault",
27
+ "xlink:href",
28
+ "xml:id",
29
+ ].freeze
30
+
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,28 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class Command < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:command'
6
+
7
+ CHILDREN = ["anim:param"].freeze
8
+
9
+ ATTRIBUTES = [
10
+ "anim:command",
11
+ "anim:id",
12
+ "anim:sub-item",
13
+ "presentation:group-id",
14
+ "presentation:master-element",
15
+ "presentation:node-type",
16
+ "presentation:preset-class",
17
+ "presentation:preset-id",
18
+ "presentation:preset-sub-type",
19
+ "smil:begin",
20
+ "smil:end",
21
+ "smil:targetElement",
22
+ "xml:id",
23
+ ].freeze
24
+
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,52 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class Iterate < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:iterate'
6
+
7
+ CHILDREN = [
8
+ "anim:animate",
9
+ "anim:animateColor",
10
+ "anim:animateMotion",
11
+ "anim:animateTransform",
12
+ "anim:audio",
13
+ "anim:command",
14
+ "anim:iterate",
15
+ "anim:par",
16
+ "anim:seq",
17
+ "anim:set",
18
+ "anim:transitionFilter",
19
+ ].freeze
20
+
21
+ ATTRIBUTES = [
22
+ "anim:id",
23
+ "anim:iterate-interval",
24
+ "anim:iterate-type",
25
+ "anim:sub-item",
26
+ "presentation:group-id",
27
+ "presentation:master-element",
28
+ "presentation:node-type",
29
+ "presentation:preset-class",
30
+ "presentation:preset-id",
31
+ "presentation:preset-sub-type",
32
+ "smil:accelerate",
33
+ "smil:autoReverse",
34
+ "smil:begin",
35
+ "smil:decelerate",
36
+ "smil:dur",
37
+ "smil:end",
38
+ "smil:endsync",
39
+ "smil:fill",
40
+ "smil:fillDefault",
41
+ "smil:repeatCount",
42
+ "smil:repeatDur",
43
+ "smil:restart",
44
+ "smil:restartDefault",
45
+ "smil:targetElement",
46
+ "xml:id",
47
+ ].freeze
48
+
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,48 @@
1
+ module OdfCore
2
+ module Element
3
+ module Anim
4
+ class Par < AbstractElement
5
+ XML_ELEMENT_NAME = 'anim:par'
6
+
7
+ CHILDREN = [
8
+ "anim:animate",
9
+ "anim:animateColor",
10
+ "anim:animateMotion",
11
+ "anim:animateTransform",
12
+ "anim:audio",
13
+ "anim:command",
14
+ "anim:iterate",
15
+ "anim:par",
16
+ "anim:seq",
17
+ "anim:set",
18
+ "anim:transitionFilter",
19
+ ].freeze
20
+
21
+ ATTRIBUTES = [
22
+ "anim:id",
23
+ "presentation:group-id",
24
+ "presentation:master-element",
25
+ "presentation:node-type",
26
+ "presentation:preset-class",
27
+ "presentation:preset-id",
28
+ "presentation:preset-sub-type",
29
+ "smil:accelerate",
30
+ "smil:autoReverse",
31
+ "smil:begin",
32
+ "smil:decelerate",
33
+ "smil:dur",
34
+ "smil:end",
35
+ "smil:endsync",
36
+ "smil:fill",
37
+ "smil:fillDefault",
38
+ "smil:repeatCount",
39
+ "smil:repeatDur",
40
+ "smil:restart",
41
+ "smil:restartDefault",
42
+ "xml:id",
43
+ ].freeze
44
+
45
+ end
46
+ end
47
+ end
48
+ end