chemicalml 0.1.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 (248) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rubocop.yml +20 -0
  4. data/CHANGELOG.md +21 -0
  5. data/CLAUDE.md +198 -0
  6. data/Gemfile +14 -0
  7. data/LICENSE +24 -0
  8. data/NOTICES.adoc +115 -0
  9. data/README.adoc +87 -0
  10. data/Rakefile +8 -0
  11. data/TODO.align/01-cml-base-mixins.md +122 -0
  12. data/TODO.align/02-real-schema-hierarchies.md +88 -0
  13. data/TODO.align/03-configuration.md +50 -0
  14. data/TODO.align/04-parse-entry-points.md +59 -0
  15. data/TODO.align/05-schema-aware-translator.md +33 -0
  16. data/TODO.align/06-no-respond-to.md +44 -0
  17. data/TODO.align/07-canon-xml-comparison.md +43 -0
  18. data/TODO.align/08-expand-fixtures.md +37 -0
  19. data/TODO.align/09-final-spec-lint.md +29 -0
  20. data/TODO.align/10-role-marker-modules.md +54 -0
  21. data/TODO.align/11-dry-configuration.md +63 -0
  22. data/TODO.align/12-wire-class-macro.md +51 -0
  23. data/TODO.align/13-wire-namespace.md +44 -0
  24. data/TODO.align/14-schema24-correctness.md +37 -0
  25. data/TODO.align/15-canon-fixture-roundtrip.md +38 -0
  26. data/TODO.align/16-schema24-convention-coverage.md +33 -0
  27. data/TODO.align/17-final-spec-lint.md +28 -0
  28. data/TODO.align/README.md +27 -0
  29. data/TODO.align/README.round2.md +24 -0
  30. data/TODO.cml-full/01-reference-docs.md +43 -0
  31. data/TODO.cml-full/02-schema-versioned-model.md +70 -0
  32. data/TODO.cml-full/03-fixtures-scrape.md +52 -0
  33. data/TODO.cml-full/04-convention-framework.md +69 -0
  34. data/TODO.cml-full/05-dictionary-layer.md +77 -0
  35. data/TODO.cml-full/06-extend-canonical-translator.md +60 -0
  36. data/TODO.cml-full/07-attribution-notices.md +42 -0
  37. data/TODO.cml-full/08-autoload-only.md +48 -0
  38. data/TODO.cml-full/09-spec-coverage.md +38 -0
  39. data/TODO.cml-full/README.md +23 -0
  40. data/chemicalml.gemspec +35 -0
  41. data/data/dictionaries/_index.yaml +14 -0
  42. data/data/dictionaries/compchem.yaml +481 -0
  43. data/data/dictionaries/unit_non_si.yaml +53 -0
  44. data/data/dictionaries/unit_si.yaml +87 -0
  45. data/data/dictionaries/unit_type.yaml +113 -0
  46. data/lib/chemicalml/cml/array.rb +10 -0
  47. data/lib/chemicalml/cml/atom.rb +10 -0
  48. data/lib/chemicalml/cml/atom_array.rb +10 -0
  49. data/lib/chemicalml/cml/atom_parity.rb +10 -0
  50. data/lib/chemicalml/cml/base/array.rb +36 -0
  51. data/lib/chemicalml/cml/base/atom.rb +38 -0
  52. data/lib/chemicalml/cml/base/atom_array.rb +22 -0
  53. data/lib/chemicalml/cml/base/atom_parity.rb +24 -0
  54. data/lib/chemicalml/cml/base/bond.rb +28 -0
  55. data/lib/chemicalml/cml/base/bond_array.rb +22 -0
  56. data/lib/chemicalml/cml/base/bond_stereo.rb +28 -0
  57. data/lib/chemicalml/cml/base/cml_module.rb +40 -0
  58. data/lib/chemicalml/cml/base/dictionary.rb +32 -0
  59. data/lib/chemicalml/cml/base/dictionary_entry.rb +34 -0
  60. data/lib/chemicalml/cml/base/document.rb +26 -0
  61. data/lib/chemicalml/cml/base/formula.rb +38 -0
  62. data/lib/chemicalml/cml/base/identifier.rb +26 -0
  63. data/lib/chemicalml/cml/base/label.rb +28 -0
  64. data/lib/chemicalml/cml/base/list.rb +36 -0
  65. data/lib/chemicalml/cml/base/matrix.rb +38 -0
  66. data/lib/chemicalml/cml/base/metadata.rb +30 -0
  67. data/lib/chemicalml/cml/base/metadata_list.rb +28 -0
  68. data/lib/chemicalml/cml/base/molecule.rb +40 -0
  69. data/lib/chemicalml/cml/base/name.rb +26 -0
  70. data/lib/chemicalml/cml/base/parameter.rb +34 -0
  71. data/lib/chemicalml/cml/base/parameter_list.rb +28 -0
  72. data/lib/chemicalml/cml/base/product.rb +22 -0
  73. data/lib/chemicalml/cml/base/product_list.rb +22 -0
  74. data/lib/chemicalml/cml/base/property.rb +34 -0
  75. data/lib/chemicalml/cml/base/property_list.rb +28 -0
  76. data/lib/chemicalml/cml/base/reactant.rb +22 -0
  77. data/lib/chemicalml/cml/base/reactant_list.rb +22 -0
  78. data/lib/chemicalml/cml/base/reaction.rb +32 -0
  79. data/lib/chemicalml/cml/base/reaction_list.rb +22 -0
  80. data/lib/chemicalml/cml/base/scalar.rb +32 -0
  81. data/lib/chemicalml/cml/base/substance.rb +30 -0
  82. data/lib/chemicalml/cml/base/unit.rb +38 -0
  83. data/lib/chemicalml/cml/base/unit_list.rb +30 -0
  84. data/lib/chemicalml/cml/base/unit_type.rb +28 -0
  85. data/lib/chemicalml/cml/base/unit_type_list.rb +30 -0
  86. data/lib/chemicalml/cml/base.rb +51 -0
  87. data/lib/chemicalml/cml/bond.rb +10 -0
  88. data/lib/chemicalml/cml/bond_array.rb +10 -0
  89. data/lib/chemicalml/cml/bond_stereo.rb +10 -0
  90. data/lib/chemicalml/cml/cml_module.rb +10 -0
  91. data/lib/chemicalml/cml/dictionary.rb +10 -0
  92. data/lib/chemicalml/cml/dictionary_entry.rb +10 -0
  93. data/lib/chemicalml/cml/document.rb +10 -0
  94. data/lib/chemicalml/cml/elements.rb +58 -0
  95. data/lib/chemicalml/cml/formula.rb +10 -0
  96. data/lib/chemicalml/cml/identifier.rb +10 -0
  97. data/lib/chemicalml/cml/label.rb +10 -0
  98. data/lib/chemicalml/cml/list.rb +10 -0
  99. data/lib/chemicalml/cml/matrix.rb +10 -0
  100. data/lib/chemicalml/cml/metadata.rb +10 -0
  101. data/lib/chemicalml/cml/metadata_list.rb +10 -0
  102. data/lib/chemicalml/cml/molecule.rb +10 -0
  103. data/lib/chemicalml/cml/name.rb +10 -0
  104. data/lib/chemicalml/cml/namespace.rb +17 -0
  105. data/lib/chemicalml/cml/parameter.rb +10 -0
  106. data/lib/chemicalml/cml/parameter_list.rb +10 -0
  107. data/lib/chemicalml/cml/product.rb +10 -0
  108. data/lib/chemicalml/cml/product_list.rb +10 -0
  109. data/lib/chemicalml/cml/property.rb +10 -0
  110. data/lib/chemicalml/cml/property_list.rb +10 -0
  111. data/lib/chemicalml/cml/reactant.rb +10 -0
  112. data/lib/chemicalml/cml/reactant_list.rb +10 -0
  113. data/lib/chemicalml/cml/reaction.rb +10 -0
  114. data/lib/chemicalml/cml/reaction_list.rb +10 -0
  115. data/lib/chemicalml/cml/role/array.rb +13 -0
  116. data/lib/chemicalml/cml/role/atom.rb +13 -0
  117. data/lib/chemicalml/cml/role/atom_array.rb +13 -0
  118. data/lib/chemicalml/cml/role/atom_parity.rb +13 -0
  119. data/lib/chemicalml/cml/role/bond.rb +13 -0
  120. data/lib/chemicalml/cml/role/bond_array.rb +13 -0
  121. data/lib/chemicalml/cml/role/bond_stereo.rb +13 -0
  122. data/lib/chemicalml/cml/role/cml_module.rb +14 -0
  123. data/lib/chemicalml/cml/role/dictionary.rb +13 -0
  124. data/lib/chemicalml/cml/role/dictionary_entry.rb +13 -0
  125. data/lib/chemicalml/cml/role/document.rb +13 -0
  126. data/lib/chemicalml/cml/role/formula.rb +13 -0
  127. data/lib/chemicalml/cml/role/identifier.rb +13 -0
  128. data/lib/chemicalml/cml/role/label.rb +13 -0
  129. data/lib/chemicalml/cml/role/list.rb +13 -0
  130. data/lib/chemicalml/cml/role/matrix.rb +13 -0
  131. data/lib/chemicalml/cml/role/metadata.rb +13 -0
  132. data/lib/chemicalml/cml/role/metadata_list.rb +13 -0
  133. data/lib/chemicalml/cml/role/molecule.rb +13 -0
  134. data/lib/chemicalml/cml/role/name.rb +13 -0
  135. data/lib/chemicalml/cml/role/parameter.rb +13 -0
  136. data/lib/chemicalml/cml/role/parameter_list.rb +13 -0
  137. data/lib/chemicalml/cml/role/product.rb +13 -0
  138. data/lib/chemicalml/cml/role/product_list.rb +13 -0
  139. data/lib/chemicalml/cml/role/property.rb +13 -0
  140. data/lib/chemicalml/cml/role/property_list.rb +13 -0
  141. data/lib/chemicalml/cml/role/reactant.rb +13 -0
  142. data/lib/chemicalml/cml/role/reactant_list.rb +13 -0
  143. data/lib/chemicalml/cml/role/reaction.rb +13 -0
  144. data/lib/chemicalml/cml/role/reaction_list.rb +13 -0
  145. data/lib/chemicalml/cml/role/scalar.rb +13 -0
  146. data/lib/chemicalml/cml/role/substance.rb +13 -0
  147. data/lib/chemicalml/cml/role/unit.rb +13 -0
  148. data/lib/chemicalml/cml/role/unit_list.rb +13 -0
  149. data/lib/chemicalml/cml/role/unit_type.rb +13 -0
  150. data/lib/chemicalml/cml/role/unit_type_list.rb +13 -0
  151. data/lib/chemicalml/cml/role.rb +54 -0
  152. data/lib/chemicalml/cml/scalar.rb +10 -0
  153. data/lib/chemicalml/cml/schema24/configuration.rb +19 -0
  154. data/lib/chemicalml/cml/schema24.rb +40 -0
  155. data/lib/chemicalml/cml/schema3/configuration.rb +17 -0
  156. data/lib/chemicalml/cml/schema3.rb +40 -0
  157. data/lib/chemicalml/cml/substance.rb +10 -0
  158. data/lib/chemicalml/cml/translator/value_translations.rb +265 -0
  159. data/lib/chemicalml/cml/translator.rb +233 -0
  160. data/lib/chemicalml/cml/unit.rb +10 -0
  161. data/lib/chemicalml/cml/unit_list.rb +10 -0
  162. data/lib/chemicalml/cml/unit_type.rb +10 -0
  163. data/lib/chemicalml/cml/unit_type_list.rb +10 -0
  164. data/lib/chemicalml/cml/visitable.rb +65 -0
  165. data/lib/chemicalml/cml/wire_class_macro.rb +45 -0
  166. data/lib/chemicalml/cml.rb +55 -0
  167. data/lib/chemicalml/context_configuration.rb +127 -0
  168. data/lib/chemicalml/convention/base.rb +48 -0
  169. data/lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb +33 -0
  170. data/lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb +38 -0
  171. data/lib/chemicalml/convention/compchem/constraints.rb +14 -0
  172. data/lib/chemicalml/convention/compchem.rb +28 -0
  173. data/lib/chemicalml/convention/constraint.rb +79 -0
  174. data/lib/chemicalml/convention/dictionary/constraints/entry_ids_unique_within_dictionary.rb +33 -0
  175. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_id_and_term.rb +34 -0
  176. data/lib/chemicalml/convention/dictionary/constraints.rb +14 -0
  177. data/lib/chemicalml/convention/dictionary.rb +28 -0
  178. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_contain_atoms.rb +30 -0
  179. data/lib/chemicalml/convention/molecular/constraints/atom_ids_unique_within_molecule.rb +42 -0
  180. data/lib/chemicalml/convention/molecular/constraints/bond_must_reference_atoms_in_same_molecule.rb +54 -0
  181. data/lib/chemicalml/convention/molecular/constraints.rb +19 -0
  182. data/lib/chemicalml/convention/molecular.rb +29 -0
  183. data/lib/chemicalml/convention/registry.rb +50 -0
  184. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_symbol_and_unit_type.rb +46 -0
  185. data/lib/chemicalml/convention/unit_dictionary/constraints.rb +12 -0
  186. data/lib/chemicalml/convention/unit_dictionary.rb +27 -0
  187. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_have_id_and_name.rb +34 -0
  188. data/lib/chemicalml/convention/unit_type_dictionary/constraints.rb +12 -0
  189. data/lib/chemicalml/convention/unit_type_dictionary.rb +27 -0
  190. data/lib/chemicalml/convention/violation.rb +36 -0
  191. data/lib/chemicalml/convention.rb +39 -0
  192. data/lib/chemicalml/dictionary/entry.rb +59 -0
  193. data/lib/chemicalml/dictionary/enum.rb +51 -0
  194. data/lib/chemicalml/dictionary/link.rb +32 -0
  195. data/lib/chemicalml/dictionary/loader.rb +60 -0
  196. data/lib/chemicalml/dictionary/model.rb +64 -0
  197. data/lib/chemicalml/dictionary/registry.rb +75 -0
  198. data/lib/chemicalml/dictionary.rb +26 -0
  199. data/lib/chemicalml/errors.rb +7 -0
  200. data/lib/chemicalml/model/atom.rb +40 -0
  201. data/lib/chemicalml/model/bond.rb +33 -0
  202. data/lib/chemicalml/model/cml_array.rb +27 -0
  203. data/lib/chemicalml/model/cml_module.rb +45 -0
  204. data/lib/chemicalml/model/document.rb +29 -0
  205. data/lib/chemicalml/model/formula.rb +34 -0
  206. data/lib/chemicalml/model/identifier.rb +21 -0
  207. data/lib/chemicalml/model/label.rb +21 -0
  208. data/lib/chemicalml/model/matrix.rb +29 -0
  209. data/lib/chemicalml/model/metadata.rb +23 -0
  210. data/lib/chemicalml/model/metadata_list.rb +25 -0
  211. data/lib/chemicalml/model/molecule.rb +38 -0
  212. data/lib/chemicalml/model/name.rb +21 -0
  213. data/lib/chemicalml/model/node.rb +45 -0
  214. data/lib/chemicalml/model/parameter.rb +27 -0
  215. data/lib/chemicalml/model/parameter_list.rb +25 -0
  216. data/lib/chemicalml/model/product.rb +21 -0
  217. data/lib/chemicalml/model/product_list.rb +21 -0
  218. data/lib/chemicalml/model/property.rb +28 -0
  219. data/lib/chemicalml/model/property_list.rb +25 -0
  220. data/lib/chemicalml/model/reactant.rb +21 -0
  221. data/lib/chemicalml/model/reactant_list.rb +21 -0
  222. data/lib/chemicalml/model/reaction.rb +41 -0
  223. data/lib/chemicalml/model/reaction_list.rb +23 -0
  224. data/lib/chemicalml/model/scalar.rb +25 -0
  225. data/lib/chemicalml/model/substance.rb +25 -0
  226. data/lib/chemicalml/model.rb +38 -0
  227. data/lib/chemicalml/schema/definition.rb +41 -0
  228. data/lib/chemicalml/schema/registry.rb +30 -0
  229. data/lib/chemicalml/schema.rb +35 -0
  230. data/lib/chemicalml/version.rb +5 -0
  231. data/lib/chemicalml/versioned_parser.rb +43 -0
  232. data/lib/chemicalml.rb +47 -0
  233. data/lib/tasks/reference_fetch.rake +105 -0
  234. data/lib/tasks/scrape_fixtures.rake +133 -0
  235. data/reference-docs/conventions/compchem.md +141 -0
  236. data/reference-docs/conventions/dictionary.md +119 -0
  237. data/reference-docs/conventions/index.md +56 -0
  238. data/reference-docs/conventions/molecular.md +115 -0
  239. data/reference-docs/conventions/unit-dictionary.md +92 -0
  240. data/reference-docs/conventions/unitType-dictionary.md +51 -0
  241. data/reference-docs/dictionaries/compchem.md +335 -0
  242. data/reference-docs/dictionaries/index.md +52 -0
  243. data/reference-docs/examples/schema24-index.md +50 -0
  244. data/reference-docs/examples/schema3-compchem-index.md +14 -0
  245. data/reference-docs/examples/schema3-molecular-index.md +28 -0
  246. data/reference-docs/schemas/schema24/schema.xsd +10624 -0
  247. data/reference-docs/schemas/schema3/schema.xsd +11459 -0
  248. metadata +306 -0
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::BondStereo.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:BondStereo) if const_defined?(:BondStereo, false)
8
+ const_set(:BondStereo, Chemicalml::Cml::Schema3::BondStereo)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Module.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Module) if const_defined?(:Module, false)
8
+ const_set(:Module, Chemicalml::Cml::Schema3::Module)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Dictionary.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Dictionary) if const_defined?(:Dictionary, false)
8
+ const_set(:Dictionary, Chemicalml::Cml::Schema3::Dictionary)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::DictionaryEntry.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:DictionaryEntry) if const_defined?(:DictionaryEntry, false)
8
+ const_set(:DictionaryEntry, Chemicalml::Cml::Schema3::DictionaryEntry)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Document.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Document) if const_defined?(:Document, false)
8
+ const_set(:Document, Chemicalml::Cml::Schema3::Document)
9
+ end
10
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ # Single source of truth for the set of CML element wire classes
6
+ # each schema version must register. Adding a new CML element =
7
+ # adding one entry to `ALL`. Both `Schema3::Configuration` and
8
+ # `Schema24::Configuration` walk this list.
9
+ module Elements
10
+ # Maps the Ruby class name (Symbol, e.g. `:Atom`) to the XML
11
+ # element id used in the lutaml-model type registry
12
+ # (e.g. `:atom`, `:atomArray`).
13
+ ALL = {
14
+ Array: :array,
15
+ Atom: :atom,
16
+ AtomArray: :atomArray,
17
+ AtomParity: :atomParity,
18
+ Bond: :bond,
19
+ BondArray: :bondArray,
20
+ BondStereo: :bondStereo,
21
+ Dictionary: :dictionary,
22
+ DictionaryEntry: :entry,
23
+ Document: :document,
24
+ Formula: :formula,
25
+ Identifier: :identifier,
26
+ Label: :label,
27
+ List: :list,
28
+ Matrix: :matrix,
29
+ Metadata: :metadata,
30
+ MetadataList: :metadataList,
31
+ Module: :module,
32
+ Molecule: :molecule,
33
+ Name: :name,
34
+ Parameter: :parameter,
35
+ ParameterList: :parameterList,
36
+ Product: :product,
37
+ ProductList: :productList,
38
+ Property: :property,
39
+ PropertyList: :propertyList,
40
+ Reaction: :reaction,
41
+ ReactionList: :reactionList,
42
+ Reactant: :reactant,
43
+ ReactantList: :reactantList,
44
+ Scalar: :scalar,
45
+ Substance: :substance,
46
+ Unit: :unit,
47
+ UnitList: :unitList,
48
+ UnitType: :unitType,
49
+ UnitTypeList: :unitTypeList,
50
+ }.freeze
51
+
52
+ # Elements that exist in Schema 3 but NOT in Schema 2.4. Used by
53
+ # `Schema24::Configuration` to skip registration of classes that
54
+ # don't exist for that version.
55
+ SCHEMA3_ONLY = %i[Module].freeze
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Formula.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Formula) if const_defined?(:Formula, false)
8
+ const_set(:Formula, Chemicalml::Cml::Schema3::Formula)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Identifier.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Identifier) if const_defined?(:Identifier, false)
8
+ const_set(:Identifier, Chemicalml::Cml::Schema3::Identifier)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Label.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Label) if const_defined?(:Label, false)
8
+ const_set(:Label, Chemicalml::Cml::Schema3::Label)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::List.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:List) if const_defined?(:List, false)
8
+ const_set(:List, Chemicalml::Cml::Schema3::List)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Matrix.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Matrix) if const_defined?(:Matrix, false)
8
+ const_set(:Matrix, Chemicalml::Cml::Schema3::Matrix)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Metadata.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Metadata) if const_defined?(:Metadata, false)
8
+ const_set(:Metadata, Chemicalml::Cml::Schema3::Metadata)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::MetadataList.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:MetadataList) if const_defined?(:MetadataList, false)
8
+ const_set(:MetadataList, Chemicalml::Cml::Schema3::MetadataList)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Molecule.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Molecule) if const_defined?(:Molecule, false)
8
+ const_set(:Molecule, Chemicalml::Cml::Schema3::Molecule)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Name.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Name) if const_defined?(:Name, false)
8
+ const_set(:Name, Chemicalml::Cml::Schema3::Name)
9
+ end
10
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+
4
+ module Chemicalml
5
+ module Cml
6
+ # The default CML XML namespace. CML itself doesn't actually
7
+ # declare a mandatory namespace URI on its root — most published
8
+ # CML files use the bare element names. We declare this for
9
+ # future schema-validation work and so consumers can request
10
+ # namespaced output via the `namespace:` serialisation option.
11
+ class Namespace < Lutaml::Xml::W3c::XmlNamespace
12
+ uri "http://www.xml-cml.org/schema"
13
+ prefix_default "cml"
14
+ element_form_default :unqualified
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Parameter.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Parameter) if const_defined?(:Parameter, false)
8
+ const_set(:Parameter, Chemicalml::Cml::Schema3::Parameter)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::ParameterList.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:ParameterList) if const_defined?(:ParameterList, false)
8
+ const_set(:ParameterList, Chemicalml::Cml::Schema3::ParameterList)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Product.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Product) if const_defined?(:Product, false)
8
+ const_set(:Product, Chemicalml::Cml::Schema3::Product)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::ProductList.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:ProductList) if const_defined?(:ProductList, false)
8
+ const_set(:ProductList, Chemicalml::Cml::Schema3::ProductList)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Property.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Property) if const_defined?(:Property, false)
8
+ const_set(:Property, Chemicalml::Cml::Schema3::Property)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::PropertyList.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:PropertyList) if const_defined?(:PropertyList, false)
8
+ const_set(:PropertyList, Chemicalml::Cml::Schema3::PropertyList)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Reactant.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Reactant) if const_defined?(:Reactant, false)
8
+ const_set(:Reactant, Chemicalml::Cml::Schema3::Reactant)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::ReactantList.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:ReactantList) if const_defined?(:ReactantList, false)
8
+ const_set(:ReactantList, Chemicalml::Cml::Schema3::ReactantList)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::Reaction.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:Reaction) if const_defined?(:Reaction, false)
8
+ const_set(:Reaction, Chemicalml::Cml::Schema3::Reaction)
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Backward-compatible alias. New code should reference the versioned
4
+ # class directly: Chemicalml::Cml::Schema3::ReactionList.
5
+ module Chemicalml
6
+ module Cml
7
+ remove_const(:ReactionList) if const_defined?(:ReactionList, false)
8
+ const_set(:ReactionList, Chemicalml::Cml::Schema3::ReactionList)
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <array> element, regardless of schema version.
8
+ # Included by Schema3::Array and Schema24::Array.
9
+ module Array
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <atom> element, regardless of schema version.
8
+ # Included by Schema3::Atom and Schema24::Atom.
9
+ module Atom
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <atomarray> element, regardless of schema version.
8
+ # Included by Schema3::AtomArray and Schema24::AtomArray.
9
+ module AtomArray
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <atomparity> element, regardless of schema version.
8
+ # Included by Schema3::AtomParity and Schema24::AtomParity.
9
+ module AtomParity
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <bond> element, regardless of schema version.
8
+ # Included by Schema3::Bond and Schema24::Bond.
9
+ module Bond
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <bondarray> element, regardless of schema version.
8
+ # Included by Schema3::BondArray and Schema24::BondArray.
9
+ module BondArray
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <bondstereo> element, regardless of schema version.
8
+ # Included by Schema3::BondStereo and Schema24::BondStereo.
9
+ module BondStereo
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <module> element. Included by Schema3::Module.
8
+ # (Schema24::Module does not exist - schema 2.4 lacks the
9
+ # generic <module> element.)
10
+ module Module
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <dictionary> element, regardless of schema version.
8
+ # Included by Schema3::Dictionary and Schema24::Dictionary.
9
+ module Dictionary
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <dictionaryentry> element, regardless of schema version.
8
+ # Included by Schema3::DictionaryEntry and Schema24::DictionaryEntry.
9
+ module DictionaryEntry
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <document> element, regardless of schema version.
8
+ # Included by Schema3::Document and Schema24::Document.
9
+ module Document
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <formula> element, regardless of schema version.
8
+ # Included by Schema3::Formula and Schema24::Formula.
9
+ module Formula
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <identifier> element, regardless of schema version.
8
+ # Included by Schema3::Identifier and Schema24::Identifier.
9
+ module Identifier
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <label> element, regardless of schema version.
8
+ # Included by Schema3::Label and Schema24::Label.
9
+ module Label
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <list> element, regardless of schema version.
8
+ # Included by Schema3::List and Schema24::List.
9
+ module List
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <matrix> element, regardless of schema version.
8
+ # Included by Schema3::Matrix and Schema24::Matrix.
9
+ module Matrix
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <metadata> element, regardless of schema version.
8
+ # Included by Schema3::Metadata and Schema24::Metadata.
9
+ module Metadata
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <metadatalist> element, regardless of schema version.
8
+ # Included by Schema3::MetadataList and Schema24::MetadataList.
9
+ module MetadataList
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <molecule> element, regardless of schema version.
8
+ # Included by Schema3::Molecule and Schema24::Molecule.
9
+ module Molecule
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Chemicalml
4
+ module Cml
5
+ module Role
6
+ # Type marker for any wire class implementing the CML
7
+ # <name> element, regardless of schema version.
8
+ # Included by Schema3::Name and Schema24::Name.
9
+ module Name
10
+ end
11
+ end
12
+ end
13
+ end