ogc-gml 1.0.4 → 1.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 (338) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release.yml +5 -0
  3. data/.rubocop.yml +3 -9
  4. data/.rubocop_todo.yml +79 -8
  5. data/CLAUDE.md +139 -0
  6. data/Gemfile +1 -3
  7. data/README.adoc +5 -4
  8. data/lib/ogc/gml/abstract_continuous_coverage.rb +3 -5
  9. data/lib/ogc/gml/abstract_coordinate_operation.rb +7 -9
  10. data/lib/ogc/gml/abstract_coordinate_system.rb +4 -10
  11. data/lib/ogc/gml/abstract_coverage.rb +3 -8
  12. data/lib/ogc/gml/abstract_crs.rb +3 -9
  13. data/lib/ogc/gml/abstract_curve.rb +3 -4
  14. data/lib/ogc/gml/abstract_curve_segment.rb +2 -2
  15. data/lib/ogc/gml/abstract_datum.rb +3 -9
  16. data/lib/ogc/gml/abstract_feature.rb +3 -11
  17. data/lib/ogc/gml/abstract_feature_collection.rb +3 -8
  18. data/lib/ogc/gml/abstract_general_conversion.rb +7 -12
  19. data/lib/ogc/gml/abstract_general_derived_crs.rb +3 -5
  20. data/lib/ogc/gml/abstract_general_operation_parameter.rb +3 -4
  21. data/lib/ogc/gml/abstract_general_operation_parameter_property.rb +8 -8
  22. data/lib/ogc/gml/abstract_general_parameter_value.rb +2 -2
  23. data/lib/ogc/gml/abstract_general_parameter_value_property.rb +4 -5
  24. data/lib/ogc/gml/abstract_general_transformation.rb +5 -5
  25. data/lib/ogc/gml/abstract_geometric_aggregate.rb +3 -4
  26. data/lib/ogc/gml/abstract_geometric_primitive.rb +4 -9
  27. data/lib/ogc/gml/abstract_geometry.rb +3 -4
  28. data/lib/ogc/gml/abstract_gml.rb +3 -9
  29. data/lib/ogc/gml/abstract_gridded_surface.rb +2 -2
  30. data/lib/ogc/gml/abstract_meta_data.rb +4 -4
  31. data/lib/ogc/gml/abstract_parametric_curve_surface.rb +2 -2
  32. data/lib/ogc/gml/abstract_ring.rb +2 -2
  33. data/lib/ogc/gml/abstract_ring_property.rb +2 -4
  34. data/lib/ogc/gml/abstract_solid.rb +3 -4
  35. data/lib/ogc/gml/abstract_surface.rb +3 -4
  36. data/lib/ogc/gml/abstract_surface_patch.rb +2 -2
  37. data/lib/ogc/gml/abstract_time_complex.rb +3 -9
  38. data/lib/ogc/gml/abstract_time_geometric_primitive.rb +4 -10
  39. data/lib/ogc/gml/abstract_time_object.rb +3 -9
  40. data/lib/ogc/gml/abstract_time_primitive.rb +3 -7
  41. data/lib/ogc/gml/abstract_time_slice.rb +3 -11
  42. data/lib/ogc/gml/abstract_time_topology_primitive.rb +3 -10
  43. data/lib/ogc/gml/abstract_topo_primitive.rb +3 -9
  44. data/lib/ogc/gml/abstract_topology.rb +4 -8
  45. data/lib/ogc/gml/affine_cs.rb +3 -4
  46. data/lib/ogc/gml/affine_cs_property.rb +4 -6
  47. data/lib/ogc/gml/affine_placement.rb +2 -5
  48. data/lib/ogc/gml/angle.rb +2 -5
  49. data/lib/ogc/gml/arc.rb +2 -3
  50. data/lib/ogc/gml/arc_by_bulge.rb +2 -4
  51. data/lib/ogc/gml/arc_by_center_point.rb +2 -7
  52. data/lib/ogc/gml/arc_string.rb +2 -8
  53. data/lib/ogc/gml/arc_string_by_bulge.rb +2 -4
  54. data/lib/ogc/gml/array.rb +3 -10
  55. data/lib/ogc/gml/array_association.rb +2 -2
  56. data/lib/ogc/gml/association_role.rb +4 -4
  57. data/lib/ogc/gml/b_spline.rb +2 -3
  58. data/lib/ogc/gml/bag.rb +3 -11
  59. data/lib/ogc/gml/base_unit.rb +3 -10
  60. data/lib/ogc/gml/bezier.rb +2 -8
  61. data/lib/ogc/gml/boolean.rb +2 -2
  62. data/lib/ogc/gml/bounding_shape.rb +2 -4
  63. data/lib/ogc/gml/cartesian_cs.rb +3 -4
  64. data/lib/ogc/gml/cartesian_cs_property.rb +4 -6
  65. data/lib/ogc/gml/category.rb +2 -4
  66. data/lib/ogc/gml/category_extent.rb +2 -4
  67. data/lib/ogc/gml/circle.rb +2 -3
  68. data/lib/ogc/gml/circle_by_center_point.rb +2 -9
  69. data/lib/ogc/gml/clothoid.rb +2 -5
  70. data/lib/ogc/gml/code.rb +2 -2
  71. data/lib/ogc/gml/code_or_nil_reason_list.rb +2 -2
  72. data/lib/ogc/gml/code_with_authority.rb +2 -4
  73. data/lib/ogc/gml/composite_curve.rb +3 -5
  74. data/lib/ogc/gml/composite_solid.rb +3 -5
  75. data/lib/ogc/gml/composite_surface.rb +3 -5
  76. data/lib/ogc/gml/composite_value.rb +4 -11
  77. data/lib/ogc/gml/compound_crs.rb +3 -5
  78. data/lib/ogc/gml/compound_crs_property.rb +4 -6
  79. data/lib/ogc/gml/concatenated_operation.rb +6 -12
  80. data/lib/ogc/gml/concatenated_operation_property.rb +4 -6
  81. data/lib/ogc/gml/cone.rb +2 -3
  82. data/lib/ogc/gml/control_point.rb +2 -6
  83. data/lib/ogc/gml/conventional_unit.rb +7 -14
  84. data/lib/ogc/gml/conversion.rb +9 -10
  85. data/lib/ogc/gml/conversion_property.rb +4 -6
  86. data/lib/ogc/gml/conversion_to_preferred_unit.rb +2 -4
  87. data/lib/ogc/gml/coordinate_operation_accuracy.rb +4 -6
  88. data/lib/ogc/gml/coordinate_operation_property.rb +6 -7
  89. data/lib/ogc/gml/coordinate_system_axis.rb +4 -9
  90. data/lib/ogc/gml/coordinate_system_axis_property.rb +4 -6
  91. data/lib/ogc/gml/coordinate_system_property.rb +4 -6
  92. data/lib/ogc/gml/coordinates.rb +2 -2
  93. data/lib/ogc/gml/count.rb +2 -2
  94. data/lib/ogc/gml/coverage_function.rb +2 -6
  95. data/lib/ogc/gml/crs_property.rb +4 -6
  96. data/lib/ogc/gml/cubic_spline.rb +2 -9
  97. data/lib/ogc/gml/curve.rb +3 -5
  98. data/lib/ogc/gml/curve_array_property.rb +2 -5
  99. data/lib/ogc/gml/curve_property.rb +7 -12
  100. data/lib/ogc/gml/curve_segment_array_property.rb +3 -8
  101. data/lib/ogc/gml/cylinder.rb +2 -3
  102. data/lib/ogc/gml/cylindrical_cs.rb +3 -4
  103. data/lib/ogc/gml/cylindrical_cs_property.rb +4 -6
  104. data/lib/ogc/gml/data_block.rb +4 -6
  105. data/lib/ogc/gml/datum_property.rb +4 -6
  106. data/lib/ogc/gml/definition.rb +3 -9
  107. data/lib/ogc/gml/definition_proxy.rb +3 -9
  108. data/lib/ogc/gml/degrees.rb +2 -2
  109. data/lib/ogc/gml/derivation_unit_term.rb +2 -2
  110. data/lib/ogc/gml/derived_crs.rb +3 -7
  111. data/lib/ogc/gml/derived_crs_property.rb +4 -6
  112. data/lib/ogc/gml/derived_unit.rb +3 -11
  113. data/lib/ogc/gml/dictionary.rb +19 -19
  114. data/lib/ogc/gml/dictionary_entry.rb +9 -11
  115. data/lib/ogc/gml/direct_position.rb +2 -2
  116. data/lib/ogc/gml/direct_position_list.rb +2 -2
  117. data/lib/ogc/gml/directed_edge_property.rb +4 -6
  118. data/lib/ogc/gml/directed_face_property.rb +4 -6
  119. data/lib/ogc/gml/directed_node_property.rb +4 -6
  120. data/lib/ogc/gml/directed_observation.rb +3 -16
  121. data/lib/ogc/gml/directed_observation_at_distance.rb +3 -17
  122. data/lib/ogc/gml/directed_topo_solid_property.rb +4 -6
  123. data/lib/ogc/gml/direction_description.rb +2 -5
  124. data/lib/ogc/gml/direction_property.rb +4 -9
  125. data/lib/ogc/gml/direction_vector.rb +2 -5
  126. data/lib/ogc/gml/discrete_coverage.rb +3 -4
  127. data/lib/ogc/gml/dms_angle.rb +2 -4
  128. data/lib/ogc/gml/domain_of_validity.rb +4 -6
  129. data/lib/ogc/gml/domain_set.rb +4 -7
  130. data/lib/ogc/gml/dynamic_feature.rb +3 -14
  131. data/lib/ogc/gml/dynamic_feature_collection.rb +3 -15
  132. data/lib/ogc/gml/dynamic_feature_member.rb +4 -6
  133. data/lib/ogc/gml/edge.rb +4 -13
  134. data/lib/ogc/gml/ellipsoid.rb +3 -11
  135. data/lib/ogc/gml/ellipsoid_property.rb +4 -6
  136. data/lib/ogc/gml/ellipsoidal_cs.rb +3 -4
  137. data/lib/ogc/gml/ellipsoidal_cs_property.rb +4 -6
  138. data/lib/ogc/gml/engineering_crs.rb +3 -13
  139. data/lib/ogc/gml/engineering_crs_property.rb +4 -6
  140. data/lib/ogc/gml/engineering_datum.rb +3 -4
  141. data/lib/ogc/gml/engineering_datum_property.rb +4 -6
  142. data/lib/ogc/gml/envelope.rb +2 -5
  143. data/lib/ogc/gml/envelope_with_time_period.rb +2 -6
  144. data/lib/ogc/gml/face.rb +6 -14
  145. data/lib/ogc/gml/face_or_topo_solid_property.rb +4 -10
  146. data/lib/ogc/gml/feature_array_property.rb +2 -4
  147. data/lib/ogc/gml/feature_collection.rb +3 -4
  148. data/lib/ogc/gml/feature_property.rb +4 -6
  149. data/lib/ogc/gml/file.rb +2 -5
  150. data/lib/ogc/gml/formula.rb +2 -2
  151. data/lib/ogc/gml/formula_citation.rb +4 -6
  152. data/lib/ogc/gml/general_conversion_property.rb +6 -7
  153. data/lib/ogc/gml/general_transformation_property.rb +6 -7
  154. data/lib/ogc/gml/generic_meta_data.rb +4 -4
  155. data/lib/ogc/gml/geocentric_crs.rb +3 -7
  156. data/lib/ogc/gml/geocentric_crs_property.rb +4 -6
  157. data/lib/ogc/gml/geodesic.rb +2 -7
  158. data/lib/ogc/gml/geodesic_string.rb +2 -7
  159. data/lib/ogc/gml/geodetic_crs.rb +3 -9
  160. data/lib/ogc/gml/geodetic_crs_property.rb +4 -6
  161. data/lib/ogc/gml/geodetic_datum.rb +3 -6
  162. data/lib/ogc/gml/geodetic_datum_property.rb +4 -6
  163. data/lib/ogc/gml/geographic_crs.rb +3 -6
  164. data/lib/ogc/gml/geographic_crs_property.rb +4 -6
  165. data/lib/ogc/gml/geometric_complex.rb +3 -5
  166. data/lib/ogc/gml/geometric_primitive_property.rb +6 -7
  167. data/lib/ogc/gml/geometry_array_property.rb +2 -4
  168. data/lib/ogc/gml/geometry_property.rb +4 -6
  169. data/lib/ogc/gml/grid.rb +4 -10
  170. data/lib/ogc/gml/grid_envelope.rb +2 -2
  171. data/lib/ogc/gml/grid_function.rb +2 -4
  172. data/lib/ogc/gml/grid_limits.rb +2 -4
  173. data/lib/ogc/gml/history_property.rb +2 -4
  174. data/lib/ogc/gml/identifier.rb +13 -0
  175. data/lib/ogc/gml/image_crs.rb +3 -8
  176. data/lib/ogc/gml/image_crs_property.rb +4 -6
  177. data/lib/ogc/gml/image_datum.rb +3 -4
  178. data/lib/ogc/gml/image_datum_property.rb +4 -6
  179. data/lib/ogc/gml/indirect_entry.rb +2 -4
  180. data/lib/ogc/gml/inline_property.rb +2 -2
  181. data/lib/ogc/gml/knot.rb +2 -2
  182. data/lib/ogc/gml/knot_property.rb +2 -4
  183. data/lib/ogc/gml/length.rb +2 -5
  184. data/lib/ogc/gml/line_string.rb +3 -9
  185. data/lib/ogc/gml/line_string_segment.rb +2 -8
  186. data/lib/ogc/gml/line_string_segment_array_property.rb +2 -4
  187. data/lib/ogc/gml/linear_cs.rb +3 -4
  188. data/lib/ogc/gml/linear_cs_property.rb +4 -6
  189. data/lib/ogc/gml/linear_ring.rb +2 -7
  190. data/lib/ogc/gml/location_property.rb +4 -8
  191. data/lib/ogc/gml/mapping_rule.rb +2 -4
  192. data/lib/ogc/gml/measure.rb +2 -2
  193. data/lib/ogc/gml/measure_list.rb +2 -2
  194. data/lib/ogc/gml/measure_or_nil_reason_list.rb +2 -2
  195. data/lib/ogc/gml/meta_data_property.rb +4 -6
  196. data/lib/ogc/gml/moving_object_status.rb +3 -15
  197. data/lib/ogc/gml/multi_curve.rb +3 -5
  198. data/lib/ogc/gml/multi_curve_property.rb +4 -6
  199. data/lib/ogc/gml/multi_geometry.rb +3 -6
  200. data/lib/ogc/gml/multi_geometry_property.rb +6 -7
  201. data/lib/ogc/gml/multi_point.rb +3 -6
  202. data/lib/ogc/gml/multi_point_property.rb +4 -6
  203. data/lib/ogc/gml/multi_solid.rb +3 -6
  204. data/lib/ogc/gml/multi_solid_property.rb +4 -6
  205. data/lib/ogc/gml/multi_surface.rb +3 -6
  206. data/lib/ogc/gml/multi_surface_property.rb +4 -6
  207. data/lib/ogc/gml/namespace.rb +9 -0
  208. data/lib/ogc/gml/namespaces/gml_31_namespace.rb +14 -0
  209. data/lib/ogc/gml/namespaces/gml_32_namespace.rb +14 -0
  210. data/lib/ogc/gml/node.rb +4 -15
  211. data/lib/ogc/gml/node_or_edge_property.rb +4 -10
  212. data/lib/ogc/gml/node_property.rb +4 -6
  213. data/lib/ogc/gml/oblique_cartesian_cs.rb +3 -4
  214. data/lib/ogc/gml/oblique_cartesian_cs_property.rb +4 -6
  215. data/lib/ogc/gml/observation.rb +3 -15
  216. data/lib/ogc/gml/offset_curve.rb +2 -7
  217. data/lib/ogc/gml/operation_method.rb +5 -12
  218. data/lib/ogc/gml/operation_method_property.rb +4 -6
  219. data/lib/ogc/gml/operation_parameter.rb +3 -4
  220. data/lib/ogc/gml/operation_parameter_group.rb +5 -6
  221. data/lib/ogc/gml/operation_parameter_group_property.rb +4 -6
  222. data/lib/ogc/gml/operation_parameter_property.rb +4 -6
  223. data/lib/ogc/gml/operation_property.rb +4 -6
  224. data/lib/ogc/gml/orientable_curve.rb +4 -13
  225. data/lib/ogc/gml/orientable_surface.rb +4 -10
  226. data/lib/ogc/gml/parameter_value.rb +2 -7
  227. data/lib/ogc/gml/parameter_value_group.rb +4 -6
  228. data/lib/ogc/gml/pass_through_operation.rb +5 -13
  229. data/lib/ogc/gml/pass_through_operation_property.rb +4 -6
  230. data/lib/ogc/gml/point.rb +3 -5
  231. data/lib/ogc/gml/point_array_property.rb +2 -4
  232. data/lib/ogc/gml/point_property.rb +4 -6
  233. data/lib/ogc/gml/polar_cs.rb +3 -4
  234. data/lib/ogc/gml/polar_cs_property.rb +4 -6
  235. data/lib/ogc/gml/polygon.rb +3 -6
  236. data/lib/ogc/gml/polygon_patch.rb +2 -4
  237. data/lib/ogc/gml/prime_meridian.rb +3 -10
  238. data/lib/ogc/gml/prime_meridian_property.rb +4 -6
  239. data/lib/ogc/gml/priority_location_property.rb +4 -8
  240. data/lib/ogc/gml/procedure_property.rb +4 -6
  241. data/lib/ogc/gml/projected_crs.rb +3 -7
  242. data/lib/ogc/gml/projected_crs_property.rb +4 -6
  243. data/lib/ogc/gml/quantity.rb +2 -4
  244. data/lib/ogc/gml/quantity_extent.rb +2 -4
  245. data/lib/ogc/gml/range_set.rb +2 -6
  246. data/lib/ogc/gml/rectangle.rb +2 -4
  247. data/lib/ogc/gml/rectified_grid.rb +4 -12
  248. data/lib/ogc/gml/ref_location.rb +2 -4
  249. data/lib/ogc/gml/reference.rb +10 -4
  250. data/lib/ogc/gml/related_time.rb +4 -6
  251. data/lib/ogc/gml/result.rb +4 -4
  252. data/lib/ogc/gml/ring.rb +2 -3
  253. data/lib/ogc/gml/second_defining_parameter1.rb +2 -4
  254. data/lib/ogc/gml/second_defining_parameter2.rb +2 -5
  255. data/lib/ogc/gml/sequence_rule.rb +2 -2
  256. data/lib/ogc/gml/shell.rb +2 -6
  257. data/lib/ogc/gml/shell_property.rb +2 -6
  258. data/lib/ogc/gml/single_crs_property.rb +4 -6
  259. data/lib/ogc/gml/single_operation_property.rb +4 -6
  260. data/lib/ogc/gml/solid.rb +3 -5
  261. data/lib/ogc/gml/solid_array_property.rb +2 -4
  262. data/lib/ogc/gml/solid_property.rb +4 -6
  263. data/lib/ogc/gml/sphere.rb +2 -3
  264. data/lib/ogc/gml/spherical_cs.rb +3 -4
  265. data/lib/ogc/gml/spherical_cs_property.rb +4 -6
  266. data/lib/ogc/gml/string_or_ref.rb +4 -4
  267. data/lib/ogc/gml/surface.rb +4 -5
  268. data/lib/ogc/gml/surface_array_property.rb +2 -4
  269. data/lib/ogc/gml/surface_patch_array_property.rb +2 -5
  270. data/lib/ogc/gml/surface_property.rb +4 -7
  271. data/lib/ogc/gml/target_property.rb +4 -7
  272. data/lib/ogc/gml/temporal_crs.rb +3 -7
  273. data/lib/ogc/gml/temporal_crs_property.rb +4 -6
  274. data/lib/ogc/gml/temporal_cs.rb +3 -4
  275. data/lib/ogc/gml/temporal_cs_property.rb +4 -6
  276. data/lib/ogc/gml/temporal_datum.rb +3 -10
  277. data/lib/ogc/gml/temporal_datum_property.rb +4 -6
  278. data/lib/ogc/gml/time_calendar.rb +3 -10
  279. data/lib/ogc/gml/time_calendar_era.rb +3 -11
  280. data/lib/ogc/gml/time_calendar_era_property.rb +4 -6
  281. data/lib/ogc/gml/time_calendar_property.rb +4 -6
  282. data/lib/ogc/gml/time_clock.rb +3 -11
  283. data/lib/ogc/gml/time_coordinate_system.rb +3 -12
  284. data/lib/ogc/gml/time_cs.rb +3 -4
  285. data/lib/ogc/gml/time_cs_property.rb +4 -6
  286. data/lib/ogc/gml/time_edge.rb +3 -12
  287. data/lib/ogc/gml/time_edge_property.rb +4 -6
  288. data/lib/ogc/gml/time_instant.rb +3 -5
  289. data/lib/ogc/gml/time_instant_property.rb +4 -6
  290. data/lib/ogc/gml/time_interval_length.rb +2 -2
  291. data/lib/ogc/gml/time_node.rb +3 -9
  292. data/lib/ogc/gml/time_node_property.rb +4 -6
  293. data/lib/ogc/gml/time_ordinal_era.rb +3 -12
  294. data/lib/ogc/gml/time_ordinal_era_property.rb +4 -6
  295. data/lib/ogc/gml/time_ordinal_reference_system.rb +3 -10
  296. data/lib/ogc/gml/time_period.rb +3 -7
  297. data/lib/ogc/gml/time_period_property.rb +4 -6
  298. data/lib/ogc/gml/time_position.rb +2 -2
  299. data/lib/ogc/gml/time_primitive_property.rb +4 -6
  300. data/lib/ogc/gml/time_reference_system.rb +3 -9
  301. data/lib/ogc/gml/time_topology_complex.rb +3 -10
  302. data/lib/ogc/gml/time_topology_primitive_property.rb +6 -7
  303. data/lib/ogc/gml/tin.rb +3 -9
  304. data/lib/ogc/gml/topo_complex.rb +4 -15
  305. data/lib/ogc/gml/topo_complex_property.rb +4 -6
  306. data/lib/ogc/gml/topo_curve.rb +4 -10
  307. data/lib/ogc/gml/topo_curve_property.rb +2 -4
  308. data/lib/ogc/gml/topo_point.rb +3 -10
  309. data/lib/ogc/gml/topo_point_property.rb +2 -4
  310. data/lib/ogc/gml/topo_primitive_array_association.rb +4 -5
  311. data/lib/ogc/gml/topo_primitive_member.rb +4 -6
  312. data/lib/ogc/gml/topo_solid.rb +4 -15
  313. data/lib/ogc/gml/topo_solid_property.rb +4 -6
  314. data/lib/ogc/gml/topo_surface.rb +4 -10
  315. data/lib/ogc/gml/topo_surface_property.rb +2 -4
  316. data/lib/ogc/gml/topo_volume.rb +6 -11
  317. data/lib/ogc/gml/topo_volume_property.rb +2 -4
  318. data/lib/ogc/gml/transformation.rb +9 -17
  319. data/lib/ogc/gml/transformation_property.rb +4 -6
  320. data/lib/ogc/gml/triangle.rb +2 -4
  321. data/lib/ogc/gml/unit_definition.rb +3 -10
  322. data/lib/ogc/gml/unit_of_measure.rb +2 -2
  323. data/lib/ogc/gml/user_defined_cs.rb +3 -4
  324. data/lib/ogc/gml/user_defined_cs_property.rb +4 -6
  325. data/lib/ogc/gml/value_array.rb +4 -11
  326. data/lib/ogc/gml/value_array_property.rb +2 -5
  327. data/lib/ogc/gml/value_property.rb +4 -7
  328. data/lib/ogc/gml/vector.rb +2 -4
  329. data/lib/ogc/gml/version.rb +1 -1
  330. data/lib/ogc/gml/vertical_crs.rb +3 -6
  331. data/lib/ogc/gml/vertical_crs_property.rb +4 -6
  332. data/lib/ogc/gml/vertical_cs.rb +3 -4
  333. data/lib/ogc/gml/vertical_cs_property.rb +4 -6
  334. data/lib/ogc/gml/vertical_datum.rb +3 -4
  335. data/lib/ogc/gml/vertical_datum_property.rb +4 -6
  336. data/lib/ogc/gml.rb +661 -327
  337. data/ogc-gml.gemspec +3 -1
  338. metadata +9 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2ae1a7a4159d716b936fc4480ea4b4c6a9f9c80a20e824209715d694007a55c4
4
- data.tar.gz: 57e48dad5ff718ef31a5b9aeaf37702945488644b5ca368bab4d1cb70bed1011
3
+ metadata.gz: b8f0d439b67f0cc07b0974172fcb075c253f1e245947dd524a2cb53920529aef
4
+ data.tar.gz: d2413f431befdf21e5e7aad79fdaceb68be0636b49034d36dff6adf3777aeb9c
5
5
  SHA512:
6
- metadata.gz: 3b4f3c386f2183e9ca1961a2fc6c4df5edec14603287ec899e68986448ff21841f5841f7f3bf6e6a0db6c301ba2147787599d3a63b9333e1506bbe572137e7dc
7
- data.tar.gz: 85754d659e5924121b3e0966f40970915266c39e2beb9125494eba9616fb0ea18f080ad46bbd9fb098c6c1e9e2ed2d672dbc2dc5767dca334651379b8c5d758f
6
+ metadata.gz: c0f302d4a94cbce0011ac7bf7991879d24e8e37fe04c08002078de0e55f9ea19c1795f2edc02217bcff16fd287662c2e80c423f7753aeee2b7f72838f43c5cbd
7
+ data.tar.gz: 76fa53ef24147b5b69d68e27c336f577c19201b940a0cdbe187e3bddf170c9c5d2544c8dc4512018e6e82c2621d76eea0913d3468f360d000e5f6a00b3e0a491
@@ -2,6 +2,11 @@
2
2
  # See https://github.com/metanorma/cimas
3
3
  name: release
4
4
 
5
+ permissions:
6
+ contents: write
7
+ packages: write
8
+ id-token: write
9
+
5
10
  on:
6
11
  workflow_dispatch:
7
12
  inputs:
data/.rubocop.yml CHANGED
@@ -1,4 +1,6 @@
1
- inherit_from: .rubocop_todo.yml
1
+ inherit_from:
2
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/main/ci/rubocop.yml
3
+ - .rubocop_todo.yml
2
4
 
3
5
  plugins:
4
6
  - rubocop-performance
@@ -10,11 +12,3 @@ AllCops:
10
12
  NewCops: enable
11
13
  Exclude:
12
14
  - 'vendor/**/*'
13
- - 'Gemfile'
14
-
15
- Style/StringLiterals:
16
- EnforcedStyle: double_quotes
17
-
18
- Style/StringLiteralsInInterpolation:
19
- EnforcedStyle: double_quotes
20
-
data/.rubocop_todo.yml CHANGED
@@ -1,29 +1,100 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2025-03-19 18:08:26 UTC using RuboCop version 1.74.0.
3
+ # on 2026-03-21 03:02:47 UTC using RuboCop version 1.85.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
9
  # Offense count: 1
10
- # Configuration parameters: Severity, Include.
11
- # Include: **/*.gemspec
12
10
  Gemspec/RequiredRubyVersion:
13
11
  Exclude:
14
12
  - 'ogc-gml.gemspec'
15
13
 
14
+ # Offense count: 1
15
+ # This cop supports safe autocorrection (--autocorrect).
16
+ Layout/EmptyLineAfterGuardClause:
17
+ Exclude:
18
+ - 'profile_canon_detailed.rb'
19
+
20
+ # Offense count: 33
21
+ # This cop supports safe autocorrection (--autocorrect).
22
+ # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
23
+ # URISchemes: http, https
24
+ Layout/LineLength:
25
+ Exclude:
26
+ - 'profile_canon.rb'
27
+ - 'profile_canon_detailed.rb'
28
+ - 'spec/ogc/gml/composite_curve_spec.rb'
29
+ - 'spec/ogc/gml/curve_spec.rb'
30
+ - 'spec/ogc/gml/dictionary_spec.rb'
31
+ - 'spec/ogc/gml/envelope_spec.rb'
32
+ - 'spec/ogc/gml/line_string_spec.rb'
33
+ - 'spec/ogc/gml/multi_curve_spec.rb'
34
+ - 'spec/ogc/gml/multi_point_spec.rb'
35
+ - 'spec/ogc/gml/multi_surface_spec.rb'
36
+ - 'spec/ogc/gml/point_spec.rb'
37
+ - 'spec/ogc/gml/polygon_spec.rb'
38
+ - 'spec/ogc/gml/surface_spec.rb'
39
+
40
+ # Offense count: 20
41
+ # This cop supports safe autocorrection (--autocorrect).
42
+ # Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals.
43
+ # SupportedStylesForExponentOperator: space, no_space
44
+ # SupportedStylesForRationalLiterals: space, no_space
45
+ Layout/SpaceAroundOperators:
46
+ Exclude:
47
+ - 'profile_canon.rb'
48
+ - 'profile_canon_detailed.rb'
49
+
16
50
  # Offense count: 12
17
51
  # Configuration parameters: CountAsOne.
18
52
  RSpec/ExampleLength:
19
- Max: 10
53
+ Max: 11
20
54
 
21
55
  # Offense count: 2
22
56
  RSpec/RepeatedDescription:
23
57
  Exclude:
24
58
  - 'spec/ogc/gml/polygon_spec.rb'
25
59
 
26
- # Offense count: 323
27
- # Configuration parameters: AllowedConstants.
28
- Style/Documentation:
29
- Enabled: false
60
+ # Offense count: 2
61
+ # This cop supports safe autocorrection (--autocorrect).
62
+ # Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames.
63
+ # RedundantRestArgumentNames: args, arguments
64
+ # RedundantKeywordRestArgumentNames: kwargs, options, opts
65
+ # RedundantBlockArgumentNames: blk, block, proc
66
+ Style/ArgumentsForwarding:
67
+ Exclude:
68
+ - 'lib/ogc/gml/versioned_model.rb'
69
+
70
+ # Offense count: 2
71
+ # This cop supports safe autocorrection (--autocorrect).
72
+ Style/RedundantParentheses:
73
+ Exclude:
74
+ - 'profile_canon.rb'
75
+
76
+ # Offense count: 17
77
+ # This cop supports safe autocorrection (--autocorrect).
78
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
79
+ # SupportedStyles: single_quotes, double_quotes
80
+ Style/StringLiterals:
81
+ Exclude:
82
+ - 'profile_canon.rb'
83
+ - 'profile_canon_detailed.rb'
84
+
85
+ # Offense count: 5
86
+ # This cop supports unsafe autocorrection (--autocorrect-all).
87
+ # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments.
88
+ # AllowedMethods: define_method
89
+ Style/SymbolProc:
90
+ Exclude:
91
+ - 'profile_canon.rb'
92
+ - 'profile_canon_detailed.rb'
93
+
94
+ # Offense count: 1
95
+ # This cop supports safe autocorrection (--autocorrect).
96
+ # Configuration parameters: EnforcedStyleForMultiline.
97
+ # SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma
98
+ Style/TrailingCommaInHashLiteral:
99
+ Exclude:
100
+ - 'spec/spec_helper.rb'
data/CLAUDE.md ADDED
@@ -0,0 +1,139 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ This is a Ruby gem for parsing and generating OGC GML 3.2 (Geography Markup Language) data. It provides Ruby objects that map to GML schema elements, using the `lutaml-model` library for XML serialization/deserialization.
8
+
9
+ GML 3.1.1 documents are NOT parsed by these models (different namespace and schema). Multi-version support is planned on lutaml-model's register system (namespace-bound contexts per version, the plurimath/mml pattern); the i-UR 3.1.1 fixtures are skipped in specs until the gml_31 register mappings are generated.
10
+
11
+ ## Commands
12
+
13
+ ```bash
14
+ # Install dependencies (includes git submodule initialization)
15
+ git submodule update --init --recursive
16
+ bundle install
17
+
18
+ # Run all tests
19
+ bundle exec rake spec
20
+ # or
21
+ bundle exec rspec
22
+
23
+ # Run a single test file
24
+ bundle exec rspec spec/ogc/gml/point_spec.rb
25
+
26
+ # Run a specific test
27
+ bundle exec rspec spec/ogc/gml/point_spec.rb:18
28
+
29
+ # Run linter
30
+ bundle exec rubocop
31
+
32
+ # Run linter with auto-fix
33
+ bundle exec rubocop -A
34
+
35
+ # Run default task (tests + linting)
36
+ bundle exec rake
37
+
38
+ # Start interactive console
39
+ bin/console
40
+ ```
41
+
42
+ ## Architecture
43
+
44
+ The codebase follows a consistent pattern where each GML element is represented by a Ruby class:
45
+
46
+ - **Location**: All model classes are in `lib/ogc/gml/` with one class per file
47
+ - **Entry point**: `lib/ogc/gml.rb` registers `autoload` entries for every class; there is no `require_relative` graph (removing it fixed the circular-require warnings of issue #21). Never add `require_relative` for internal library code — add an autoload entry in `lib/ogc/gml.rb`.
48
+ - **One class per file, opened first**: mutually recursive schema types rely on the class keyword executing before any cyclic constant reference. Do not embed duplicate or stub class definitions in other files (the old cycle-dodge shells broke autoload resolution).
49
+ - **Namespace**: `lib/ogc/gml/namespace.rb` aliases `Namespace = Gml32Namespace`; the version namespace classes live in `lib/ogc/gml/namespaces/`
50
+
51
+ ### Class Hierarchy
52
+
53
+ Classes inherit from abstract base classes that mirror the GML schema:
54
+
55
+ ```
56
+ Lutaml::Model::Serializable
57
+ └── AbstractGml
58
+ ├── AbstractFeature (features, collections)
59
+ ├── AbstractGeometry ← AbstractGeometricPrimitive
60
+ │ ├── Point, LineString, Curve, Surface, Solid, etc.
61
+ │ └── Multi* aggregate types
62
+ ├── AbstractCRS (coordinate reference systems)
63
+ ├── AbstractDatum, AbstractCoordinateSystem
64
+ └── AbstractTime* (temporal types)
65
+ ```
66
+
67
+ ### XML Mapping Pattern
68
+
69
+ Each class defines its XML structure using the `xml` block:
70
+
71
+ ```ruby
72
+ class Point < AbstractGeometry
73
+ attribute :pos, DirectPosition
74
+ attribute :coordinates, Coordinates
75
+
76
+ xml do
77
+ element "Point"
78
+ namespace Namespace # References the Gml::Namespace constant
79
+
80
+ # gml:id is a namespace-qualified global attribute
81
+ map_attribute "id", to: :id, form: :qualified
82
+ # Local attributes are unqualified in the GML schema
83
+ map_attribute "srsName", to: :srs_name
84
+
85
+ map_element "pos", to: :pos
86
+ map_element "coordinates", to: :coordinates
87
+ end
88
+ end
89
+ ```
90
+
91
+ ### Namespace Configuration
92
+
93
+ The namespace classes (`lib/ogc/gml/namespaces/gml_32_namespace.rb`) configure the GML namespace:
94
+
95
+ ```ruby
96
+ class Gml32Namespace < Lutaml::Xml::Namespace
97
+ uri "http://www.opengis.net/gml/3.2"
98
+ prefix_default "gml"
99
+ element_form_default :qualified
100
+ # NO attribute_form_default here: GML declares attributeFormDefault="unqualified".
101
+ # Qualifying the schema-wide default serialized invalid gml:srsName (issue #22).
102
+ # Only per-rule form: :qualified on gml:id attributes.
103
+ end
104
+ ```
105
+
106
+ ## Testing
107
+
108
+ Tests use RSpec with the `canon` gem for XML comparison. The main pattern is round-trip testing:
109
+
110
+ ```ruby
111
+ it "round-trips Point-epsg3045.xml" do
112
+ input = file_contents("Point-epsg3045.xml")
113
+ output = described_class.from_xml(input).to_xml(
114
+ prefix: true, # Include namespace prefixes
115
+ pretty: true, # Format with indentation
116
+ declaration: true # Include XML declaration
117
+ )
118
+ expect(SpecHelpers.remove_xml_comments(output))
119
+ .to be_xml_equivalent_to(SpecHelpers.remove_xml_comments(input))
120
+ end
121
+ ```
122
+
123
+ - `SpecHelpers.remove_xml_comments` (in `spec/spec_helper.rb`) is the shared comment-stripper.
124
+ - Strict attribute-form assertions live in `spec/ogc/gml/point_spec.rb` (gml:id prefixed; srsName/srsDimension never prefixed) and `spec/ogc/gml/gml3*_namespace_spec.rb`. Canon compares attributes loosely (lutaml/canon#155), so prefix regressions are only caught by these strict specs.
125
+ - RSpec semantics: `pending "reason"` inside an example body STILL EXECUTES the body; use `skip "reason"` when the body must not run (this once turned "pending" 3.1.1 round-trips into a multi-minute suite freeze).
126
+
127
+ Test fixtures are located in:
128
+ - `spec/fixtures/ets-gml32/` - GML test suite from OGC ETS for GML 3.2 (git submodule)
129
+ - `spec/fixtures/geospatial_jp_iur_3.1/` - Japanese i-UR codelist data (GML 3.1.1; round-trips skipped pending gml_31 register support)
130
+
131
+ ## Dependencies
132
+
133
+ - **lutaml-model**: XML serialization framework (`~> 0.8.20` — first release with source-namespace-preserving serialization, which round-trip fidelity relies on)
134
+ - **nokogiri**: XML parsing
135
+ - **canon**: XML comparison for tests (dev dependency in Gemfile, not gemspec)
136
+
137
+ ## Known upstream issues
138
+
139
+ - lutaml-model#754: lenient parsing of out-of-namespace documents silently drops `gml:description` content; resolution is strict expanded-name parsing with register-based multi-version support, never local-name fallbacks.
data/Gemfile CHANGED
@@ -5,12 +5,10 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in ogc-gml.gemspec
6
6
  gemspec
7
7
 
8
- gem "equivalent-xml"
9
- gem "pry"
8
+ gem "canon"
10
9
  gem "rake"
11
10
  gem "rspec"
12
11
  gem "rubocop"
13
12
  gem "rubocop-performance"
14
13
  gem "rubocop-rake"
15
14
  gem "rubocop-rspec"
16
- gem "xml-c14n"
data/README.adoc CHANGED
@@ -23,6 +23,7 @@ And then execute:
23
23
  [source,bash]
24
24
  ----
25
25
  $ bundle install
26
+ $ git submodule update --init --recursive
26
27
  ----
27
28
 
28
29
  == Usage
@@ -45,10 +46,10 @@ For example:
45
46
  gml_data = File.read('spec/fixtures/geospatial_jp_iur_3.1/Bridge_class.xml')
46
47
  gml = Ogc::Gml::Dictionary.from_xml(gml_data)
47
48
 
48
- # Access the loaded GML Dictionary
49
- gml_dictionary = gml.dictionary
50
- gml_dictionary.features.each do |feature|
51
- puts feature.name
49
+ # Access the loaded GML Dictionary entries
50
+ gml.dictionary_entry.each do |entry|
51
+ definition = entry.definition
52
+ puts "#{definition.name.first&.content}: #{definition.description}"
52
53
  end
53
54
  ----
54
55
 
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "lutaml/model"
4
- require_relative "coverage_function"
5
- require_relative "abstract_coverage"
6
4
 
7
5
  module Ogc
8
6
  module Gml
@@ -14,10 +12,10 @@ module Ogc
14
12
  attribute :coverage_function, CoverageFunction
15
13
 
16
14
  xml do
17
- root "AbstractContinuousCoverage"
18
- namespace "http://www.opengis.net/gml/3.2", "gml"
15
+ element "AbstractContinuousCoverage"
16
+ namespace Namespace
19
17
 
20
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
18
+ map_attribute "id", to: :id, form: :qualified
21
19
  map_element "metaDataProperty", to: :meta_data_property
22
20
  map_element "description", to: :description
23
21
  map_element "descriptionReference", to: :description_reference
@@ -2,10 +2,6 @@
2
2
 
3
3
  require "lutaml/model"
4
4
 
5
- require_relative "coordinate_operation_accuracy"
6
- require_relative "crs_property"
7
- require_relative "abstract_topology"
8
-
9
5
  module Ogc
10
6
  module Gml
11
7
  class AbstractCoordinateOperation < AbstractTopology
@@ -13,15 +9,16 @@ module Ogc
13
9
  attribute :domain_of_validity, :string
14
10
  attribute :scope, :string, collection: true
15
11
  attribute :operation_version, :string
16
- attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy, collection: true
12
+ attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy,
13
+ collection: true
17
14
  attribute :source_crs, CRSProperty
18
15
  attribute :target_crs, CRSProperty
19
16
 
20
17
  xml do
21
- root "AbstractOperation"
22
- namespace "http://www.opengis.net/gml/3.2", "gml"
18
+ element "AbstractOperation"
19
+ namespace Namespace
23
20
 
24
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
21
+ map_attribute "id", to: :id, form: :qualified
25
22
  map_element "metaDataProperty", to: :meta_data_property
26
23
  map_element "description", to: :description
27
24
  map_element "descriptionReference", to: :description_reference
@@ -31,7 +28,8 @@ module Ogc
31
28
  map_element "domainOfValidity", to: :domain_of_validity
32
29
  map_element "scope", to: :scope
33
30
  map_element "operationVersion", to: :operation_version
34
- map_element "coordinateOperationAccuracy", to: :coordinate_operation_accuracy
31
+ map_element "coordinateOperationAccuracy",
32
+ to: :coordinate_operation_accuracy
35
33
  map_element "sourceCRS", to: :source_crs
36
34
  map_element "targetCRS", to: :target_crs
37
35
  end
@@ -2,16 +2,10 @@
2
2
 
3
3
  require "lutaml/model"
4
4
 
5
- require_relative "code"
6
- require_relative "code_with_authority"
7
- require_relative "coordinate_system_axis_property"
8
- require_relative "meta_data_property"
9
- require_relative "reference"
10
-
11
5
  module Ogc
12
6
  module Gml
13
7
  class AbstractCoordinateSystem < Lutaml::Model::Serializable
14
- attribute :id, :string
8
+ attribute :id, Identifier
15
9
  attribute :aggregation_type, :string
16
10
  attribute :meta_data_property, MetaDataProperty, collection: true
17
11
  attribute :description, :string
@@ -22,10 +16,10 @@ module Ogc
22
16
  attribute :axis, CoordinateSystemAxisProperty, collection: true
23
17
 
24
18
  xml do
25
- root "AbstractCoordinateSystem"
26
- namespace "http://www.opengis.net/gml/3.2", "gml"
19
+ element "AbstractCoordinateSystem"
20
+ namespace Namespace
27
21
 
28
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
22
+ map_attribute "id", to: :id, form: :qualified
29
23
  map_attribute "aggregationType", to: :aggregation_type
30
24
  map_element "metaDataProperty", to: :meta_data_property
31
25
  map_element "description", to: :description
@@ -1,11 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "lutaml/model"
4
- require_relative "bounding_shape"
5
- require_relative "domain_set"
6
- require_relative "location_property"
7
- require_relative "range_set"
8
- require_relative "abstract_topology"
9
4
 
10
5
  module Ogc
11
6
  module Gml
@@ -16,10 +11,10 @@ module Ogc
16
11
  attribute :range_set, RangeSet
17
12
 
18
13
  xml do
19
- root "AbstractCoverage"
20
- namespace "http://www.opengis.net/gml/3.2", "gml"
14
+ element "AbstractCoverage"
15
+ namespace Namespace
21
16
 
22
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
17
+ map_attribute "id", to: :id, form: :qualified
23
18
  map_element "metaDataProperty", to: :meta_data_property
24
19
  map_element "description", to: :description
25
20
  map_element "descriptionReference", to: :description_reference
@@ -2,12 +2,6 @@
2
2
 
3
3
  require "lutaml/model"
4
4
 
5
- require_relative "code"
6
- require_relative "code_with_authority"
7
- require_relative "meta_data_property"
8
- require_relative "reference"
9
- require_relative "abstract_topology"
10
-
11
5
  module Ogc
12
6
  module Gml
13
7
  class AbstractCRS < AbstractTopology
@@ -16,10 +10,10 @@ module Ogc
16
10
  attribute :scope, :string, collection: true
17
11
 
18
12
  xml do
19
- root "AbstractSingleCRS"
20
- namespace "http://www.opengis.net/gml/3.2", "gml"
13
+ element "AbstractSingleCRS"
14
+ namespace Namespace
21
15
 
22
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
16
+ map_attribute "id", to: :id, form: :qualified
23
17
  map_element "metaDataProperty", to: :meta_data_property
24
18
  map_element "description", to: :description
25
19
  map_element "descriptionReference", to: :description_reference
@@ -1,16 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "lutaml/model"
4
- require_relative "abstract_geometric_primitive"
5
4
 
6
5
  module Ogc
7
6
  module Gml
8
7
  class AbstractCurve < AbstractGeometricPrimitive
9
8
  xml do
10
- root "AbstractCurve"
11
- namespace "http://www.opengis.net/gml/3.2", "gml"
9
+ element "AbstractCurve"
10
+ namespace Namespace
12
11
 
13
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
12
+ map_attribute "id", to: :id, form: :qualified
14
13
  map_attribute "srsName", to: :srs_name
15
14
  map_attribute "srsDimension", to: :srs_dimension
16
15
  map_attribute "axisLabels", to: :axis_labels
@@ -10,8 +10,8 @@ module Ogc
10
10
  attribute :num_derivative_interior, :integer # , default: -> { "0" }
11
11
 
12
12
  xml do
13
- root "AbstractCurveSegment"
14
- namespace "http://www.opengis.net/gml/3.2", "gml"
13
+ element "AbstractCurveSegment"
14
+ namespace Namespace
15
15
 
16
16
  map_attribute "numDerivativesAtStart", to: :num_derivatives_at_start
17
17
  map_attribute "numDerivativesAtEnd", to: :num_derivatives_at_end
@@ -2,12 +2,6 @@
2
2
 
3
3
  require "lutaml/model"
4
4
 
5
- require_relative "code"
6
- require_relative "code_with_authority"
7
- require_relative "meta_data_property"
8
- require_relative "reference"
9
- require_relative "abstract_topology"
10
-
11
5
  module Ogc
12
6
  module Gml
13
7
  class AbstractDatum < AbstractTopology
@@ -18,10 +12,10 @@ module Ogc
18
12
  attribute :realization_epoch, :date
19
13
 
20
14
  xml do
21
- root "AbstractDatum"
22
- namespace "http://www.opengis.net/gml/3.2", "gml"
15
+ element "AbstractDatum"
16
+ namespace Namespace
23
17
 
24
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
18
+ map_attribute "id", to: :id, form: :qualified
25
19
  map_element "metaDataProperty", to: :meta_data_property
26
20
  map_element "description", to: :description
27
21
  map_element "descriptionReference", to: :description_reference
@@ -2,14 +2,6 @@
2
2
 
3
3
  require "lutaml/model"
4
4
 
5
- require_relative "bounding_shape"
6
- require_relative "code"
7
- require_relative "code_with_authority"
8
- require_relative "location_property"
9
- require_relative "meta_data_property"
10
- require_relative "reference"
11
- require_relative "abstract_topology"
12
-
13
5
  module Ogc
14
6
  module Gml
15
7
  class AbstractFeature < AbstractTopology
@@ -17,10 +9,10 @@ module Ogc
17
9
  attribute :location, LocationProperty
18
10
 
19
11
  xml do
20
- root "AbstractFeature"
21
- namespace "http://www.opengis.net/gml/3.2", "gml"
12
+ element "AbstractFeature"
13
+ namespace Namespace
22
14
 
23
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
15
+ map_attribute "id", to: :id, form: :qualified
24
16
  map_element "metaDataProperty", to: :meta_data_property
25
17
  map_element "description", to: :description
26
18
  map_element "descriptionReference", to: :description_reference
@@ -1,11 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "lutaml/model"
4
- require_relative "bounding_shape"
5
- require_relative "feature_array_property"
6
- require_relative "feature_property"
7
- require_relative "location_property"
8
- require_relative "abstract_topology"
9
4
 
10
5
  module Ogc
11
6
  module Gml
@@ -16,10 +11,10 @@ module Ogc
16
11
  attribute :feature_members, FeatureArrayProperty
17
12
 
18
13
  xml do
19
- root "AbstractFeatureCollection"
20
- namespace "http://www.opengis.net/gml/3.2", "gml"
14
+ element "AbstractFeatureCollection"
15
+ namespace Namespace
21
16
 
22
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
17
+ map_attribute "id", to: :id, form: :qualified
23
18
  map_element "metaDataProperty", to: :meta_data_property
24
19
  map_element "description", to: :description
25
20
  map_element "descriptionReference", to: :description_reference
@@ -2,26 +2,20 @@
2
2
 
3
3
  require "lutaml/model"
4
4
 
5
- require_relative "code"
6
- require_relative "code_with_authority"
7
- require_relative "coordinate_operation_accuracy"
8
- require_relative "meta_data_property"
9
- require_relative "reference"
10
- require_relative "abstract_topology"
11
-
12
5
  module Ogc
13
6
  module Gml
14
7
  class AbstractGeneralConversion < AbstractTopology
15
8
  attribute :remarks, :string
16
9
  attribute :domain_of_validity, :string
17
10
  attribute :scope, :string, collection: true
18
- attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy, collection: true
11
+ attribute :coordinate_operation_accuracy, CoordinateOperationAccuracy,
12
+ collection: true
19
13
 
20
14
  xml do
21
- root "AbstractGeneralConversion"
22
- namespace "http://www.opengis.net/gml/3.2", "gml"
15
+ element "AbstractGeneralConversion"
16
+ namespace Namespace
23
17
 
24
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
18
+ map_attribute "id", to: :id, form: :qualified
25
19
  map_element "metaDataProperty", to: :meta_data_property
26
20
  map_element "description", to: :description
27
21
  map_element "descriptionReference", to: :description_reference
@@ -30,7 +24,8 @@ module Ogc
30
24
  map_element "remarks", to: :remarks
31
25
  map_element "domainOfValidity", to: :domain_of_validity
32
26
  map_element "scope", to: :scope
33
- map_element "coordinateOperationAccuracy", to: :coordinate_operation_accuracy
27
+ map_element "coordinateOperationAccuracy",
28
+ to: :coordinate_operation_accuracy
34
29
  end
35
30
  end
36
31
  end
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "lutaml/model"
4
- require_relative "general_conversion_property"
5
- require_relative "abstract_crs"
6
4
 
7
5
  module Ogc
8
6
  module Gml
@@ -10,10 +8,10 @@ module Ogc
10
8
  attribute :conversion, GeneralConversionProperty
11
9
 
12
10
  xml do
13
- root "AbstractGeneralDerivedCRS"
14
- namespace "http://www.opengis.net/gml/3.2", "gml"
11
+ element "AbstractGeneralDerivedCRS"
12
+ namespace Namespace
15
13
 
16
- map_attribute "id", to: :id, prefix: "gml", namespace: "http://www.opengis.net/gml/3.2"
14
+ map_attribute "id", to: :id, form: :qualified
17
15
  map_element "metaDataProperty", to: :meta_data_property
18
16
  map_element "description", to: :description
19
17
  map_element "descriptionReference", to: :description_reference