adiwg-mdtranslator 1.4.0 → 2.0.0rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (525) hide show
  1. checksums.yaml +4 -4
  2. data/.gitmodules +1 -3
  3. data/.travis.yml +4 -3
  4. data/README.md +1 -3
  5. data/Rakefile +5 -1
  6. data/adiwg-mdtranslator.gemspec +5 -5
  7. data/bin/mdtranslator +3 -205
  8. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +600 -316
  9. data/lib/adiwg/mdtranslator/internal/module_coordinates.rb +123 -7
  10. data/lib/adiwg/mdtranslator/internal/module_dateTimeFun.rb +45 -0
  11. data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_reader.rb +83 -178
  12. data/lib/adiwg/mdtranslator/readers/mdJson/mdJson_validator.rb +21 -22
  13. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_additionalDocumentation.rb +77 -0
  14. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_address.rb +101 -0
  15. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_allocation.rb +84 -0
  16. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_associatedResource.rb +111 -0
  17. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attribute.rb +224 -0
  18. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_attributeGroup.rb +63 -0
  19. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_boundingBox.rb +95 -0
  20. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_citation.rb +164 -0
  21. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_constraint.rb +163 -0
  22. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_contact.rb +172 -0
  23. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageDescription.rb +96 -0
  24. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +151 -0
  25. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_date.rb +74 -0
  26. data/lib/adiwg/mdtranslator/readers/mdJson/{modules_v1 → modules}/module_dateTime.rb +19 -5
  27. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dimension.rb +87 -0
  28. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distribution.rb +56 -0
  29. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_distributor.rb +78 -0
  30. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domain.rb +95 -0
  31. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_domainItem.rb +70 -0
  32. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_duration.rb +112 -0
  33. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entity.rb +135 -0
  34. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityAttribute.rb +130 -0
  35. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityForeignKey.rb +78 -0
  36. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_entityIndex.rb +72 -0
  37. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_extent.rb +83 -0
  38. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_featureCollection.rb +87 -0
  39. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_format.rb +68 -0
  40. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_funding.rb +67 -0
  41. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geoJson.rb +70 -0
  42. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geographicExtent.rb +98 -0
  43. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryCollection.rb +87 -0
  44. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryFeature.rb +112 -0
  45. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryObject.rb +70 -0
  46. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_geometryProperties.rb +79 -0
  47. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georectifiedRepresentation.rb +113 -0
  48. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_georeferenceableRepresentation.rb +99 -0
  49. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gmlIdentifier.rb +55 -0
  50. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_graphic.rb +96 -0
  51. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_gridRepresentation.rb +79 -0
  52. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_identifier.rb +87 -0
  53. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_imageDescription.rb +120 -0
  54. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keyword.rb +83 -0
  55. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_keywordObject.rb +55 -0
  56. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +77 -0
  57. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_lineage.rb +104 -0
  58. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_locale.rb +66 -0
  59. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_maintenance.rb +93 -0
  60. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_mdJson.rb +136 -0
  61. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_measure.rb +75 -0
  62. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_medium.rb +105 -0
  63. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadata.rb +131 -0
  64. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataInfo.rb +157 -0
  65. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_metadataRepository.rb +53 -0
  66. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_onlineResource.rb +82 -0
  67. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_orderProcess.rb +68 -0
  68. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_party.rb +79 -0
  69. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_phone.rb +68 -0
  70. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_processStep.rb +113 -0
  71. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_releasability.rb +71 -0
  72. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceInfo.rb +364 -0
  73. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceType.rb +55 -0
  74. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_resourceUsage.rb +117 -0
  75. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +91 -0
  76. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_schema.rb +56 -0
  77. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scope.rb +72 -0
  78. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_scopeDescription.rb +73 -0
  79. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_securityConstraint.rb +72 -0
  80. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_series.rb +57 -0
  81. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_source.rb +123 -0
  82. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialReference.rb +65 -0
  83. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialRepresentation.rb +96 -0
  84. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_spatialResolution.rb +77 -0
  85. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicClassification.rb +87 -0
  86. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomicSystem.rb +60 -0
  87. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_taxonomy.rb +138 -0
  88. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_temporalExtent.rb +70 -0
  89. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInstant.rb +87 -0
  90. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timeInterval.rb +69 -0
  91. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_timePeriod.rb +120 -0
  92. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_transferOption.rb +95 -0
  93. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorObject.rb +55 -0
  94. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_vectorRepresentation.rb +55 -0
  95. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_verticalExtent.rb +81 -0
  96. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_voucher.rb +64 -0
  97. data/lib/adiwg/mdtranslator/readers/mdJson/readme.md +3 -9
  98. data/lib/adiwg/mdtranslator/readers/mdJson/version.rb +14 -0
  99. data/lib/adiwg/mdtranslator/readers/mdReaders.rb +36 -30
  100. data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_reader.rb +39 -40
  101. data/lib/adiwg/mdtranslator/version.rb +38 -29
  102. data/lib/adiwg/mdtranslator/writers/html/html_writer.rb +28 -25
  103. data/lib/adiwg/mdtranslator/writers/html/readme.md +3 -9
  104. data/lib/adiwg/mdtranslator/writers/html/sections/html_additionalDocumentation.rb +35 -34
  105. data/lib/adiwg/mdtranslator/writers/html/sections/html_allocation.rb +71 -0
  106. data/lib/adiwg/mdtranslator/writers/html/sections/html_associatedResource.rb +51 -51
  107. data/lib/adiwg/mdtranslator/writers/html/sections/html_attribute.rb +189 -0
  108. data/lib/adiwg/mdtranslator/writers/html/sections/html_attributeGroup.rb +51 -0
  109. data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +275 -259
  110. data/lib/adiwg/mdtranslator/writers/html/sections/html_bodyScript.js +275 -150
  111. data/lib/adiwg/mdtranslator/writers/html/sections/html_boundingBox.rb +51 -0
  112. data/lib/adiwg/mdtranslator/writers/html/sections/html_citation.rb +142 -82
  113. data/lib/adiwg/mdtranslator/writers/html/sections/html_constraint.rb +118 -0
  114. data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +166 -94
  115. data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageInfo.rb +57 -64
  116. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataDictionary.rb +102 -96
  117. data/lib/adiwg/mdtranslator/writers/html/sections/html_date.rb +42 -0
  118. data/lib/adiwg/mdtranslator/writers/html/sections/html_datetime.rb +42 -0
  119. data/lib/adiwg/mdtranslator/writers/html/sections/html_dimension.rb +50 -52
  120. data/lib/adiwg/mdtranslator/writers/html/sections/html_distribution.rb +49 -0
  121. data/lib/adiwg/mdtranslator/writers/html/sections/html_distributor.rb +48 -44
  122. data/lib/adiwg/mdtranslator/writers/html/sections/html_document.rb +63 -0
  123. data/lib/adiwg/mdtranslator/writers/html/sections/html_domain.rb +53 -62
  124. data/lib/adiwg/mdtranslator/writers/html/sections/html_domainItem.rb +49 -0
  125. data/lib/adiwg/mdtranslator/writers/html/sections/html_duration.rb +68 -0
  126. data/lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb +99 -122
  127. data/lib/adiwg/mdtranslator/writers/html/sections/html_entityAttribute.rb +94 -100
  128. data/lib/adiwg/mdtranslator/writers/html/sections/html_entityForeignKey.rb +55 -0
  129. data/lib/adiwg/mdtranslator/writers/html/sections/html_entityIndex.rb +39 -39
  130. data/lib/adiwg/mdtranslator/writers/html/sections/html_extent.rb +53 -86
  131. data/lib/adiwg/mdtranslator/writers/html/sections/html_feature.rb +97 -0
  132. data/lib/adiwg/mdtranslator/writers/html/sections/html_featureCollection.rb +82 -0
  133. data/lib/adiwg/mdtranslator/writers/html/sections/html_featureProperties.rb +71 -0
  134. data/lib/adiwg/mdtranslator/writers/html/sections/html_format.rb +46 -34
  135. data/lib/adiwg/mdtranslator/writers/html/sections/html_funding.rb +51 -0
  136. data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicElement.rb +61 -194
  137. data/lib/adiwg/mdtranslator/writers/html/sections/html_geographicExtent.rb +112 -0
  138. data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryCollection.rb +78 -0
  139. data/lib/adiwg/mdtranslator/writers/html/sections/html_geometryObject.rb +46 -0
  140. data/lib/adiwg/mdtranslator/writers/html/sections/html_georectifiedRepresentation.rb +93 -0
  141. data/lib/adiwg/mdtranslator/writers/html/sections/html_georeferenceableRepresentation.rb +78 -0
  142. data/lib/adiwg/mdtranslator/writers/html/sections/html_graphic.rb +75 -0
  143. data/lib/adiwg/mdtranslator/writers/html/sections/html_gridRepresentation.rb +61 -0
  144. data/lib/adiwg/mdtranslator/writers/html/sections/html_head.rb +47 -60
  145. data/lib/adiwg/mdtranslator/writers/html/sections/html_identifier.rb +73 -0
  146. data/lib/adiwg/mdtranslator/writers/html/sections/html_imageInfo.rb +92 -110
  147. data/lib/adiwg/mdtranslator/writers/html/sections/html_inlineCss.css +16 -8
  148. data/lib/adiwg/mdtranslator/writers/html/sections/html_keyword.rb +47 -45
  149. data/lib/adiwg/mdtranslator/writers/html/sections/html_legalConstraint.rb +41 -48
  150. data/lib/adiwg/mdtranslator/writers/html/sections/html_lineage.rb +87 -0
  151. data/lib/adiwg/mdtranslator/writers/html/sections/html_locale.rb +47 -0
  152. data/lib/adiwg/mdtranslator/writers/html/sections/html_maintenance.rb +96 -0
  153. data/lib/adiwg/mdtranslator/writers/html/sections/html_measure.rb +47 -0
  154. data/lib/adiwg/mdtranslator/writers/html/sections/html_medium.rb +74 -52
  155. data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataInfo.rb +162 -131
  156. data/lib/adiwg/mdtranslator/writers/html/sections/html_metadataRepository.rb +40 -0
  157. data/lib/adiwg/mdtranslator/writers/html/sections/html_onlineResource.rb +52 -55
  158. data/lib/adiwg/mdtranslator/writers/html/sections/html_orderProcess.rb +53 -55
  159. data/lib/adiwg/mdtranslator/writers/html/sections/html_processStep.rb +89 -57
  160. data/lib/adiwg/mdtranslator/writers/html/sections/html_releasability.rb +63 -0
  161. data/lib/adiwg/mdtranslator/writers/html/sections/html_resolution.rb +46 -38
  162. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceInfo.rb +402 -291
  163. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceType.rb +31 -0
  164. data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibility.rb +81 -0
  165. data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +60 -0
  166. data/lib/adiwg/mdtranslator/writers/html/sections/html_scopeDescription.rb +54 -0
  167. data/lib/adiwg/mdtranslator/writers/html/sections/html_securityConstraint.rb +46 -47
  168. data/lib/adiwg/mdtranslator/writers/html/sections/html_source.rb +123 -0
  169. data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReference.rb +43 -0
  170. data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialRepresentation.rb +77 -0
  171. data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomy.rb +138 -90
  172. data/lib/adiwg/mdtranslator/writers/html/sections/html_taxonomyClass.rb +63 -50
  173. data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalExtent.rb +66 -0
  174. data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInstant.rb +60 -42
  175. data/lib/adiwg/mdtranslator/writers/html/sections/html_timeInterval.rb +40 -0
  176. data/lib/adiwg/mdtranslator/writers/html/sections/html_timePeriod.rb +88 -43
  177. data/lib/adiwg/mdtranslator/writers/html/sections/html_transferOption.rb +68 -50
  178. data/lib/adiwg/mdtranslator/writers/html/sections/html_usage.rb +118 -0
  179. data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorObject.rb +40 -0
  180. data/lib/adiwg/mdtranslator/writers/html/sections/html_vectorRepresentation.rb +46 -0
  181. data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalExtent.rb +62 -0
  182. data/lib/adiwg/mdtranslator/writers/html/version.rb +12 -11
  183. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_address.rb +70 -75
  184. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_baseUnit.rb +3 -3
  185. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_codelist.rb +14 -13
  186. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_contact.rb +50 -34
  187. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_conventionalUnit.rb +3 -3
  188. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_definitionUnit.rb +3 -3
  189. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_derivedUnit.rb +3 -3
  190. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_fcFeatureCatalogue.rb +205 -0
  191. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureAttribute.rb +39 -38
  192. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureConstraint.rb +9 -10
  193. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_featureType.rb +48 -40
  194. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_listedValue.rb +22 -20
  195. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_locale.rb +69 -0
  196. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_multiplicity.rb +24 -17
  197. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_onlineResource.rb +33 -29
  198. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_phone.rb +83 -0
  199. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_responsibleParty.rb +77 -64
  200. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_unitsOfMeasure.rb +20 -20
  201. data/lib/adiwg/mdtranslator/writers/iso19110/iso19110_writer.rb +21 -32
  202. data/lib/adiwg/mdtranslator/writers/iso19110/readme.md +3 -8
  203. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_address.rb +70 -74
  204. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_aggregateInformation.rb +30 -32
  205. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_attributeGroup.rb +70 -0
  206. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_baseUnit.rb +5 -5
  207. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingBox.rb +77 -0
  208. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_browseGraphic.rb +26 -24
  209. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_citation.rb +111 -100
  210. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_codelist.rb +14 -13
  211. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contact.rb +50 -34
  212. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_conventionalUnit.rb +5 -5
  213. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_coverageDescription.rb +99 -0
  214. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataIdentification.rb +195 -270
  215. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dataQuality.rb +26 -35
  216. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_date.rb +31 -38
  217. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_definitionUnit.rb +5 -5
  218. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_derivedUnit.rb +5 -5
  219. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_dimension.rb +26 -23
  220. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distribution.rb +19 -16
  221. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_distributor.rb +51 -66
  222. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_enumerationList.rb +12 -12
  223. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_metadataExtension.rb → class_extension.rb} +94 -67
  224. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_extent.rb +43 -59
  225. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_feature.rb +67 -0
  226. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureCollection.rb +56 -0
  227. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_featureProperties.rb +65 -0
  228. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_format.rb +48 -27
  229. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_fraction.rb +40 -0
  230. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gcoDateTime.rb +48 -0
  231. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicElement.rb +55 -26
  232. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicExtent.rb +82 -0
  233. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometricObjects.rb +56 -0
  234. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geometryCollection.rb +88 -0
  235. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georectified.rb +121 -0
  236. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_georeferenceable.rb +86 -0
  237. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gmlIdentifier.rb +32 -0
  238. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_grid.rb +73 -0
  239. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridRepresentation.rb +36 -0
  240. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_hierarchy.rb +58 -0
  241. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_image.rb +144 -0
  242. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_keyword.rb +41 -35
  243. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_legalConstraints.rb +46 -37
  244. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineString.rb +45 -51
  245. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_lineage.rb +29 -31
  246. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_locale.rb +21 -17
  247. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenance.rb +119 -0
  248. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_mdBand.rb +121 -0
  249. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_identifier.rb → class_mdIdentifier.rb} +25 -27
  250. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_measure.rb +48 -0
  251. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_medium.rb +66 -42
  252. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miBand.rb +91 -0
  253. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_miMetadata.rb +352 -0
  254. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiLine.rb +82 -0
  255. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPoint.rb +82 -0
  256. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiPolygon.rb +82 -0
  257. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_onlineResource.rb +33 -29
  258. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_standardOrderProcess.rb → class_orderProcess.rb} +33 -35
  259. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_phone.rb +83 -0
  260. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_point.rb +46 -51
  261. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_polygon.rb +54 -61
  262. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_processStep.rb +46 -34
  263. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeDimension.rb +73 -0
  264. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_referenceSystem.rb +24 -25
  265. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resolution.rb +32 -31
  266. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_responsibleParty.rb +75 -65
  267. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rsIdentifier.rb +86 -0
  268. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scope.rb +71 -0
  269. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_scopeDescription.rb +54 -0
  270. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_securityConstraints.rb +47 -32
  271. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_series.rb +63 -0
  272. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_source.rb +58 -28
  273. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_spatialRepresentation.rb +64 -0
  274. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/{class_taxonClassification.rb → class_taxonomicClassification.rb} +35 -38
  275. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomicSystem.rb +49 -0
  276. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonomy.rb +144 -0
  277. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_temporalExtent.rb +15 -28
  278. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timeInstant.rb +42 -19
  279. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_timePeriod.rb +79 -28
  280. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_transferOptions.rb +91 -0
  281. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_unitsOfMeasure.rb +22 -22
  282. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_usage.rb +70 -28
  283. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_useConstraints.rb +18 -17
  284. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vectorRepresentation.rb +59 -0
  285. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_verticalExtent.rb +39 -26
  286. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_vouchers.rb +20 -20
  287. data/lib/adiwg/mdtranslator/writers/iso19115_2/iso19115_2_writer.rb +22 -133
  288. data/lib/adiwg/mdtranslator/writers/iso19115_2/readme.md +1 -7
  289. data/lib/adiwg/mdtranslator/writers/mdJson/mdJson_writer.rb +44 -41
  290. data/lib/adiwg/mdtranslator/writers/mdJson/readme.md +3 -9
  291. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDocumentation.rb +33 -0
  292. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_address.rb +29 -17
  293. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +32 -0
  294. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_associatedResource.rb +30 -16
  295. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attribute.rb +48 -22
  296. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_attributeGroup.rb +32 -0
  297. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_boundingBox.rb +30 -0
  298. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_citation.rb +41 -26
  299. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_constraint.rb +40 -23
  300. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_contact.rb +39 -24
  301. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageDescription.rb +37 -0
  302. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_date.rb +42 -0
  303. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dateTime.rb +33 -13
  304. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +35 -25
  305. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dimension.rb +32 -0
  306. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distribution.rb +32 -0
  307. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributor.rb +34 -0
  308. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domain.rb +30 -20
  309. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_domainItem.rb +29 -0
  310. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_duration.rb +33 -0
  311. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entity.rb +35 -32
  312. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityAttribute.rb +37 -0
  313. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityForeignKey.rb +29 -0
  314. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_entityIndex.rb +29 -0
  315. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_extent.rb +31 -21
  316. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_format.rb +26 -14
  317. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +32 -0
  318. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicExtent.rb +33 -0
  319. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georectifiedRepresentation.rb +35 -0
  320. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_georeferenceableRepresentation.rb +36 -0
  321. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_graphicOverview.rb +31 -15
  322. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridRepresentation.rb +34 -0
  323. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_identifier.rb +33 -0
  324. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_imageDescription.rb +41 -0
  325. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keyword.rb +28 -14
  326. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_keywordObject.rb +29 -0
  327. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +29 -0
  328. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_lineageInfo.rb +38 -0
  329. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_locale.rb +25 -14
  330. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_maintenance.rb +37 -0
  331. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_mdJson.rb +54 -0
  332. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_measure.rb +29 -0
  333. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_medium.rb +37 -0
  334. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +35 -22
  335. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadataInfo.rb +39 -29
  336. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_onlineResource.rb +27 -16
  337. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_orderProcess.rb +31 -0
  338. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_party.rb +32 -0
  339. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_phone.rb +25 -14
  340. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_processStep.rb +34 -19
  341. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_releasability.rb +32 -0
  342. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_repository.rb +29 -0
  343. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceInfo.rb +61 -56
  344. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceType.rb +29 -0
  345. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_responsibleParty.rb +29 -13
  346. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scope.rb +34 -0
  347. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_scopeDescription.rb +31 -0
  348. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_securityConstraint.rb +30 -0
  349. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_series.rb +30 -0
  350. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_source.rb +40 -0
  351. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialReference.rb +30 -0
  352. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialRepresentation.rb +34 -0
  353. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialResolution.rb +30 -0
  354. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicClassification.rb +35 -0
  355. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomicSystem.rb +29 -0
  356. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxonomy.rb +36 -26
  357. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalExtent.rb +31 -0
  358. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInstant.rb +33 -0
  359. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timeInterval.rb +29 -0
  360. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_timePeriod.rb +34 -15
  361. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_transferOption.rb +32 -26
  362. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_usage.rb +33 -17
  363. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorObject.rb +28 -0
  364. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_vectorRepresentation.rb +31 -0
  365. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalExtent.rb +32 -0
  366. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_voucher.rb +29 -0
  367. data/lib/adiwg/mdtranslator/writers/mdJson/version.rb +13 -9
  368. data/lib/adiwg/mdtranslator/writers/mdWriters.rb +36 -28
  369. data/lib/adiwg/mdtranslator.rb +135 -113
  370. data/lib/adiwg/mdtranslator_cli.rb +191 -0
  371. metadata +238 -215
  372. data/lib/adiwg/mdtranslator/internal/module_geoFormat.rb +0 -219
  373. data/lib/adiwg/mdtranslator/internal/module_lineString.rb +0 -18
  374. data/lib/adiwg/mdtranslator/internal/module_point.rb +0 -18
  375. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_additionalDocumentation.rb +0 -64
  376. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_address.rb +0 -91
  377. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_associatedResource.rb +0 -100
  378. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_boundingBox.rb +0 -64
  379. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_browseGraphic.rb +0 -79
  380. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_citation.rb +0 -141
  381. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedData.rb +0 -49
  382. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_classedDataItem.rb +0 -53
  383. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_contacts.rb +0 -164
  384. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageInfo.rb +0 -83
  385. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_coverageItem.rb +0 -136
  386. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataDictionary.rb +0 -65
  387. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dataQuality.rb +0 -65
  388. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_descriptiveKeyword.rb +0 -77
  389. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dictionaryInfo.rb +0 -82
  390. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_digitalTransferOption.rb +0 -80
  391. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_dimension.rb +0 -81
  392. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionInfo.rb +0 -89
  393. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_distributionOrder.rb +0 -62
  394. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domain.rb +0 -96
  395. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_domainItem.rb +0 -72
  396. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entity.rb +0 -131
  397. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityAttribute.rb +0 -134
  398. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityForeignKey.rb +0 -73
  399. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_entityIndex.rb +0 -72
  400. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_extent.rb +0 -75
  401. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoCoordSystem.rb +0 -59
  402. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geoProperties.rb +0 -102
  403. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_geographicElement.rb +0 -189
  404. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_gridInfo.rb +0 -67
  405. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_imageInfo.rb +0 -119
  406. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_legalConstraint.rb +0 -62
  407. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineString.rb +0 -37
  408. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_lineage.rb +0 -67
  409. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_locale.rb +0 -57
  410. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_mdJson.rb +0 -68
  411. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_medium.rb +0 -73
  412. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadata.rb +0 -90
  413. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataExtension.rb +0 -53
  414. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_metadataInfo.rb +0 -152
  415. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_onlineResource.rb +0 -84
  416. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_phone.rb +0 -81
  417. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_point.rb +0 -37
  418. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_polygon.rb +0 -67
  419. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_processStep.rb +0 -88
  420. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resolution.rb +0 -59
  421. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceFormat.rb +0 -57
  422. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceIdentifier.rb +0 -85
  423. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceInfo.rb +0 -374
  424. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceMaintenance.rb +0 -63
  425. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_resourceSpecificUsage.rb +0 -63
  426. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_responsibleParty.rb +0 -68
  427. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_securityConstraint.rb +0 -65
  428. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_sensorInfo.rb +0 -69
  429. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_source.rb +0 -65
  430. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_spatialReference.rb +0 -61
  431. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonClass.rb +0 -56
  432. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_taxonomy.rb +0 -96
  433. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_temporalElement.rb +0 -84
  434. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timeInstant.rb +0 -58
  435. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_timePeriod.rb +0 -66
  436. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_verticalElement.rb +0 -66
  437. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/module_voucher.rb +0 -51
  438. data/lib/adiwg/mdtranslator/readers/mdJson/modules_v1/version.rb +0 -19
  439. data/lib/adiwg/mdtranslator/readers/mdJson/validator.rb +0 -43
  440. data/lib/adiwg/mdtranslator/readers/sbJson/sbJson_validator.rb +0 -44
  441. data/lib/adiwg/mdtranslator/writers/html/md_html_writer.rb +0 -59
  442. data/lib/adiwg/mdtranslator/writers/html/sections/html_browseGraphic.rb +0 -59
  443. data/lib/adiwg/mdtranslator/writers/html/sections/html_coverageItem.rb +0 -139
  444. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataLineage.rb +0 -68
  445. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataSource.rb +0 -67
  446. data/lib/adiwg/mdtranslator/writers/html/sections/html_dateTime.rb +0 -41
  447. data/lib/adiwg/mdtranslator/writers/html/sections/html_domainMember.rb +0 -52
  448. data/lib/adiwg/mdtranslator/writers/html/sections/html_gridInfo.rb +0 -65
  449. data/lib/adiwg/mdtranslator/writers/html/sections/html_headScript.js +0 -18
  450. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceContact.rb +0 -37
  451. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceGeneral.rb +0 -133
  452. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceId.rb +0 -77
  453. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceMaint.rb +0 -56
  454. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceOther.rb +0 -88
  455. data/lib/adiwg/mdtranslator/writers/html/sections/html_resourceUsage.rb +0 -56
  456. data/lib/adiwg/mdtranslator/writers/html/sections/html_responsibleParty.rb +0 -39
  457. data/lib/adiwg/mdtranslator/writers/html/sections/html_spatialReferenceSystem.rb +0 -58
  458. data/lib/adiwg/mdtranslator/writers/html/sections/html_temporalElement.rb +0 -61
  459. data/lib/adiwg/mdtranslator/writers/html/sections/html_verticalElement.rb +0 -59
  460. data/lib/adiwg/mdtranslator/writers/iso19110/class_FCfeatureCatalogue.rb +0 -191
  461. data/lib/adiwg/mdtranslator/writers/iso19110/classes/class_telephone.rb +0 -92
  462. data/lib/adiwg/mdtranslator/writers/iso19110/version.rb +0 -14
  463. data/lib/adiwg/mdtranslator/writers/iso19115_2/class_MImetadata.rb +0 -391
  464. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_band.rb +0 -165
  465. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_boundingPolygon.rb +0 -90
  466. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_contentInfo.rb +0 -111
  467. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_digitalTransferOptions.rb +0 -92
  468. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicBoundingBox.rb +0 -89
  469. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_geographicDescription.rb +0 -44
  470. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_gridInfo.rb +0 -80
  471. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_imageDescription.rb +0 -157
  472. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_maintenanceInformation.rb +0 -80
  473. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_multiGeometry.rb +0 -156
  474. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_rangeElementDescription.rb +0 -88
  475. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_resourceIdentifier.rb +0 -94
  476. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_taxonSystem.rb +0 -115
  477. data/lib/adiwg/mdtranslator/writers/iso19115_2/classes/class_telephone.rb +0 -92
  478. data/lib/adiwg/mdtranslator/writers/iso19115_2/version.rb +0 -17
  479. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_additionalDoc.rb +0 -19
  480. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_base.rb +0 -19
  481. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +0 -32
  482. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_distributionInfo.rb +0 -31
  483. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_geographicElement.rb +0 -81
  484. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_gridInfo.rb +0 -27
  485. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceIdentifier.rb +0 -23
  486. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_resourceMaintenance.rb +0 -23
  487. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_spatialreference.rb +0 -19
  488. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_taxon.rb +0 -19
  489. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_temporalElement.rb +0 -38
  490. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_verticalElement.rb +0 -20
  491. data/test/readers/mdJson/v1/tc_reader_mdjson_additionalDocumentation.rb +0 -116
  492. data/test/readers/mdJson/v1/tc_reader_mdjson_address.rb +0 -111
  493. data/test/readers/mdJson/v1/tc_reader_mdjson_associatedResource.rb +0 -157
  494. data/test/readers/mdJson/v1/tc_reader_mdjson_browseGraphic.rb +0 -119
  495. data/test/readers/mdJson/v1/tc_reader_mdjson_citation.rb +0 -143
  496. data/test/readers/mdJson/v1/tc_reader_mdjson_contact.rb +0 -138
  497. data/test/readers/mdJson/v1/tc_reader_mdjson_dataQuality.rb +0 -111
  498. data/test/readers/mdJson/v1/tc_reader_mdjson_dateTime.rb +0 -159
  499. data/test/readers/mdJson/v1/tc_reader_mdjson_descriptiveKeyword.rb +0 -115
  500. data/test/readers/mdJson/v1/tc_reader_mdjson_dictionaryInfo.rb +0 -121
  501. data/test/readers/mdJson/v1/tc_reader_mdjson_digitalTransferOption.rb +0 -94
  502. data/test/readers/mdJson/v1/tc_reader_mdjson_distributionOrder.rb +0 -103
  503. data/test/readers/mdJson/v1/tc_reader_mdjson_domain.rb +0 -130
  504. data/test/readers/mdJson/v1/tc_reader_mdjson_domainItem.rb +0 -98
  505. data/test/readers/mdJson/v1/tc_reader_mdjson_entity.rb +0 -134
  506. data/test/readers/mdJson/v1/tc_reader_mdjson_entityAttribute.rb +0 -154
  507. data/test/readers/mdJson/v1/tc_reader_mdjson_entityForeignKey.rb +0 -100
  508. data/test/readers/mdJson/v1/tc_reader_mdjson_entityIndex.rb +0 -99
  509. data/test/readers/mdJson/v1/tc_reader_mdjson_legalConstraint.rb +0 -104
  510. data/test/readers/mdJson/v1/tc_reader_mdjson_lineage.rb +0 -117
  511. data/test/readers/mdJson/v1/tc_reader_mdjson_medium.rb +0 -98
  512. data/test/readers/mdJson/v1/tc_reader_mdjson_metadataInfo.rb +0 -141
  513. data/test/readers/mdJson/v1/tc_reader_mdjson_onlineResource.rb +0 -110
  514. data/test/readers/mdJson/v1/tc_reader_mdjson_phone.rb +0 -112
  515. data/test/readers/mdJson/v1/tc_reader_mdjson_processStep.rb +0 -118
  516. data/test/readers/mdJson/v1/tc_reader_mdjson_resolution.rb +0 -77
  517. data/test/readers/mdJson/v1/tc_reader_mdjson_source.rb +0 -117
  518. data/test/readers/mdJson/v1/tc_reader_mdjson_translation.rb +0 -85
  519. data/test/readers/mdJson/v1/tc_translation_19110.rb +0 -58
  520. data/test/readers/sbJson/v0/tc_reader_sbjson_translation.rb +0 -81
  521. data/test/readers/sbJson/v0/test.json +0 -431
  522. data/test/readers/sbJson/v0/test1.json +0 -383
  523. data/test/writers/iso19115_2/tc_writer_iso19115_2_address.rb +0 -229
  524. data/test/writers/mdJson/v1/tc_writer_mdJson.rb +0 -62
  525. data/test/writers/sbJson/v0/tc_writer_sbJson.rb +0 -62
@@ -1,6 +1,65 @@
1
1
  # ADIwg ISO Translator internal data structure
2
2
 
3
3
  # History:
4
+ # version 2
5
+ # Stan Smith 2017-04-22 removed 'intObj = ' from new object definitions
6
+ # Stan Smith 2017-02-15 added newResourceType
7
+ # Stan Smith 2017-02-09 added newMetadataRepository
8
+ # Stan Smith 2017-01-20 refactored newDataDictionary
9
+ # Stan Smith 2016-11-10 added computedBbox to newGeographicExtent, newGeometryCollection
10
+ # Stan Smith 2016-11-10 added computedBbox to newGeometryFeature, newFeatureCollection
11
+ # Stan Smith 2016-11-02 added newSchema
12
+ # Stan Smith 2016-10-30 added newAllocation, newFunding
13
+ # Stan Smith 2016-10-25 added newFeatureCollection
14
+ # Stan Smith 2016-10-25 added newGeoJson
15
+ # Stan Smith 2016-10-25 added newGeometryCollection
16
+ # Stan Smith 2016-10-25 added newGeometryFeature
17
+ # Stan Smith 2016-10-25 added newGeometryObject
18
+ # Stan Smith 2016-10-25 added newGeometryProperties
19
+ # Stan Smith 2016-10-23 renamed newResourceMaint to newMaintenance
20
+ # Stan Smith 2016-10-21 added newDistribution
21
+ # Stan Smith 2016-10-21 renamed newDistOrder to newOrderProcess
22
+ # Stan Smith 2016-10-21 renamed newDigitalTransOption to newTransferOption
23
+ # Stan Smith 2016-10-20 deleted newDictionaryInfo, move element to newDataDictionary
24
+ # Stan Smith 2016-10-19 added newSpatialRepresentation
25
+ # Stan Smith 2016-10-19 added newGeorectifiedInfo
26
+ # Stan Smith 2016-10-19 added newVectorInfo, newVectorObject
27
+ # Stan Smith 2016-10-18 deleted newCoverageInfo, newCoverageItem
28
+ # Stan Smith 2016-10-18 added newAttributeGroup
29
+ # Stan Smith 2016-10-18 deleted newClassedData, newClassedDataItem
30
+ # Stan Smith 2016-10-17 added elements to newLineage
31
+ # Stan Smith 2016-10-17 added elements to newDataSource
32
+ # Stan Smith 2016-10-16 removed newResolution
33
+ # Stan Smith 2016-10-16 added newMeasure
34
+ # Stan Smith 2016-10-16 added newSpatialResolution
35
+ # Stan Smith 2016-10-15 renamed newDataProcess Step to newProcessStep
36
+ # Stan Smith 2016-10-15 added newConstraints object
37
+ # Stan Smith 2016-10-15 added constraint object to newSecurityConstraint
38
+ # Stan Smith 2016-10-15 added constraint object to newLegalConstraint
39
+ # Stan Smith 2016-10-15 added newConstraint object
40
+ # Stan Smith 2016-10-15 added newRelease object
41
+ # Stan Smith 2016-10-14 added newScope object
42
+ # Stan Smith 2016-10-14 added newTimeInterval object
43
+ # Stan Smith 2016-10-13 added newScopeDescription object
44
+ # Stan Smith 2016-10-13 added attributes to newCitation for mdJson 2.0
45
+ # Stan Smith 2016-10-13 renamed newResourceId to newIdentifier, dropped identifierType
46
+ # Stan Smith 2016-10-12 renamed newBrowseGraphic to newGraphic, added graphicConstraint []
47
+ # Stan Smith 2016-10-12 added newSeries object
48
+ # Stan Smith 2016-10-12 added newDate object
49
+ # Stan Smith 2016-10-11 renamed newDataUsage to newResourceUsage
50
+ # Stan Smith 2016-10-09 add newParty
51
+ # Stan Smith 2016-10-08 removed dateType from dateTime object
52
+ # Stan Smith 2016-10-01 made phone service types an array
53
+ # Stan Smith 2016-10-03 added duration object
54
+
55
+ # version 1
56
+ # Stan Smith 2015-07-23 added gridInfo, gridDimension for 1.3.0
57
+ # Stan Smith 2015-07-28 added locale for 1.3.0
58
+ # Stan Smith 2015-08-19 added coverageInfo, imageInfo, sensorInfo, coverageItem,
59
+ # ... classifiedData, and classedDataItem for 1.3.0
60
+ # Stan Smith 2015-09-18 extended distributionInfo sections for 1.3.0
61
+
62
+ # version 0
4
63
  # Stan Smith 2013-08-09 original script
5
64
  # Stan Smith 2013-08-10 adding methods as needed
6
65
  # Stan Smith 2013-09-19 added keywords
@@ -48,110 +107,135 @@
48
107
  # Stan Smith 2014-12-01 added data dictionary
49
108
  # Stan Smith 2015-02-17 add entity and attribute alias
50
109
  # Stan Smith 2015-02-17 added support for multiple data dictionaries
51
- # Stan Smith 2015-07-23 added gridInfo, gridDimension for 1.3.0
52
- # Stan Smith 2015-07-28 added locale for 1.3.0
53
- # Stan Smith 2015-08-19 added coverageInfo, imageInfo, sensorInfo, coverageItem,
54
- # ... classifiedData, and classedDataItem for 1.3.0
55
- # Stan Smith 2015-09-18 extended distributionInfo sections for 1.3.0
56
110
 
57
111
  class InternalMetadata
58
112
 
59
- # initialize attribute values - nil
60
- # initialize arrays - []
61
- # initialize hashes - {}
113
+ # initialize Boolean - false
114
+ # initialize scalar - nil
115
+ # initialize hash - {}
116
+ # initialize array - []
62
117
 
63
118
  def initialize
64
119
  end
65
120
 
66
121
  def newBase
67
- intObj = {
68
- schema: {
69
- name: nil,
70
- version: nil
71
- },
122
+ {
123
+ schema: {},
72
124
  contacts: [],
73
125
  metadata: {},
74
- dataDictionary: []
126
+ dataDictionaries: [],
127
+ metadataRepositories: []
128
+ }
129
+ end
130
+
131
+ def newSchema
132
+ {
133
+ name: nil,
134
+ version: nil
135
+ }
136
+ end
137
+
138
+ def newDate
139
+ {
140
+ date: nil,
141
+ dateResolution: nil,
142
+ dateType: nil,
143
+ description: nil
75
144
  }
76
145
  end
77
146
 
78
147
  def newDateTime
79
- intObj = {
148
+ {
80
149
  dateTime: nil,
81
- dateType: nil,
82
150
  dateResolution: nil
83
151
  }
84
152
  end
85
153
 
86
154
  def newContact
87
- intObj = {
155
+ {
88
156
  contactId: nil,
89
- indName: nil,
90
- orgName: nil,
91
- position: nil,
157
+ isOrganization: false,
158
+ name: nil,
159
+ positionName: nil,
160
+ memberOfOrgs: [],
161
+ logos: [],
92
162
  phones: [],
93
- address: {},
94
- onlineRes: [],
163
+ addresses: [],
164
+ eMailList: [],
165
+ onlineResources: [],
166
+ hoursOfService: [],
95
167
  contactInstructions: nil,
96
- internal: false,
97
- primaryRole: nil
168
+ contactType: nil
98
169
  }
99
170
  end
100
171
 
101
172
  def newPhone
102
- intObj = {
103
- phoneServiceType: nil,
173
+ {
104
174
  phoneName: nil,
105
- phoneNumber: nil
175
+ phoneNumber: nil,
176
+ phoneServiceTypes: []
106
177
  }
107
178
  end
108
179
 
109
180
  def newAddress
110
- intObj = {
181
+ {
182
+ addressTypes: [],
183
+ description: nil,
111
184
  deliveryPoints: [],
112
185
  city: nil,
113
186
  adminArea: nil,
114
187
  postalCode: nil,
115
- country: nil,
116
- eMailList: []
188
+ country: nil
117
189
  }
118
190
  end
119
191
 
120
192
  def newMetadata
121
- intObj = {
193
+ {
122
194
  metadataInfo: {},
123
195
  resourceInfo: {},
196
+ lineageInfo: [],
124
197
  distributorInfo: [],
125
198
  associatedResources: [],
126
- additionalDocuments: []
199
+ additionalDocuments: [],
200
+ funding: []
127
201
  }
128
202
  end
129
203
 
130
204
  def newMetadataInfo
131
- intObj = {
132
- metadataId: {},
205
+ {
206
+ metadataIdentifier: {},
133
207
  parentMetadata: {},
134
- metadataCustodians: [],
135
- metadataCreateDate: {},
136
- metadataUpdateDate: {},
137
- metadataCharacterSet: nil,
138
- metadataLocales: [],
139
- metadataURI: nil,
208
+ defaultMetadataLocale: {},
209
+ otherMetadataLocales: [],
210
+ metadataContacts: [],
211
+ metadataDates: [],
212
+ metadataLinkages: [],
213
+ metadataMaintenance: {},
214
+ alternateMetadataReferences: [],
140
215
  metadataStatus: nil,
141
- maintInfo: {},
142
216
  extensions: []
143
217
  }
144
218
  end
145
219
 
146
- def newRespParty
147
- intObj = {
220
+ def newResponsibility
221
+ {
222
+ roleName: nil,
223
+ roleExtents: [],
224
+ parties: []
225
+ }
226
+ end
227
+
228
+ def newParty
229
+ {
148
230
  contactId: nil,
149
- roleName: nil
231
+ contactIndex: nil,
232
+ contactType: nil,
233
+ organizationMembers: []
150
234
  }
151
235
  end
152
236
 
153
237
  def newOnlineResource
154
- intObj = {
238
+ {
155
239
  olResURI: nil,
156
240
  olResProtocol: nil,
157
241
  olResName: nil,
@@ -161,94 +245,109 @@ class InternalMetadata
161
245
  end
162
246
 
163
247
  def newResourceInfo
164
- intObj = {
165
- resourceType: nil,
248
+ {
249
+ resourceTypes: [],
166
250
  citation: {},
167
- timePeriod: {},
168
251
  abstract: nil,
169
252
  shortAbstract: nil,
170
- hasMapLocation?: nil,
171
- hasDataAvailable?: nil,
172
253
  purpose: nil,
173
254
  credits: [],
174
- status: nil,
175
- pointsOfContact: [],
176
- resourceMaint: [],
177
- graphicOverview: [],
178
- resourceFormats: [],
179
- resourceLanguages: [],
180
- resourceCharacterSets: [],
181
- resourceLocales: [],
182
- descriptiveKeywords: [],
183
- resourceUses: [],
184
- useConstraints: [],
185
- legalConstraints: [],
186
- securityConstraints: [],
187
- taxonomy: {},
188
- spatialReferenceSystem: {},
255
+ timePeriod: {},
256
+ status: [],
257
+ topicCategories: [],
258
+ pointOfContacts: [],
259
+ spatialReferenceSystems: [],
189
260
  spatialRepresentationTypes: [],
261
+ spatialRepresentations: [],
190
262
  spatialResolutions: [],
191
- topicCategories: [],
192
- environmentDescription: nil,
263
+ temporalResolutions: [],
193
264
  extents: [],
194
- gridInfo: [],
195
- coverageInfo: [],
196
- dataQualityInfo: [],
265
+ coverageDescriptions: [],
266
+ taxonomy: {},
267
+ graphicOverviews: [],
268
+ resourceFormats: [],
269
+ keywords: [],
270
+ resourceUsages: [],
271
+ constraints: [],
272
+ defaultResourceLocale: {},
273
+ otherResourceLocales: [],
274
+ resourceMaintenance: [],
275
+ environmentDescription: nil,
197
276
  supplementalInfo: nil
198
277
  }
199
278
  end
200
279
 
201
280
  def newCitation
202
- intObj = {
203
- citTitle: nil,
204
- citAltTitle: nil,
205
- citDate: [],
206
- citEdition: nil,
207
- citResourceIds: [],
208
- citResponsibleParty: [],
209
- citResourceForms: [],
210
- citOlResources: []
281
+ {
282
+ title: nil,
283
+ alternateTitles: [],
284
+ dates: [],
285
+ edition: nil,
286
+ responsibleParties: [],
287
+ presentationForms: [],
288
+ identifiers: [],
289
+ series: {},
290
+ otherDetails: [],
291
+ onlineResources: [],
292
+ browseGraphics: []
293
+ }
294
+ end
295
+
296
+
297
+ def newIdentifier
298
+ # handles MD_Identifier (ISO 19115-2 & -1)
299
+ # handles RS_ Identifier (ISO 19115-2)
300
+ # handles gmlIdentifier
301
+ {
302
+ identifier: nil,
303
+ namespace: nil,
304
+ version: nil,
305
+ description: nil,
306
+ citation: {}
211
307
  }
212
308
  end
213
309
 
214
- def newResourceId
215
- # handles both MD_Identifier and RS_Identifier
216
- intObj = {
217
- identifier: nil,
218
- identifierType: nil,
219
- identifierNamespace: nil,
220
- identifierVersion: nil,
221
- identifierDescription: nil,
222
- identifierCitation: {}
310
+ def newMaintenance
311
+ {
312
+ frequency: nil,
313
+ dates: [],
314
+ scopes: [],
315
+ notes: [],
316
+ contacts: []
223
317
  }
224
318
  end
225
319
 
226
- def newResourceFormat
227
- intObj = {
228
- formatName: nil,
229
- formatVersion: nil,
230
- compressionMethod: nil
320
+ def newKeyword
321
+ {
322
+ keywords: [],
323
+ keywordType: nil,
324
+ thesaurus: {}
231
325
  }
232
326
  end
233
327
 
234
- def newResourceMaint
235
- intObj = {
236
- maintFreq: nil,
237
- maintNotes: [],
238
- maintContacts: []
328
+ def newKeywordObject
329
+ {
330
+ keyword: nil,
331
+ keywordId: nil
239
332
  }
240
333
  end
241
334
 
242
- def newKeyword
243
- intObj = {
244
- keyword: [],
245
- keywordType: nil,
246
- keyTheCitation: {}
335
+ def newConstraint
336
+ {
337
+ type: nil,
338
+ useLimitation: [],
339
+ scope: {},
340
+ graphic: [],
341
+ reference: [],
342
+ releasability: {},
343
+ responsibleParty: [],
344
+ legalConstraint: {},
345
+ securityConstraint: {}
247
346
  }
248
347
  end
249
348
 
250
349
  def newLegalConstraint
251
- intObj = {
350
+ {
252
351
  accessCodes: [],
253
352
  useCodes: [],
254
353
  otherCons: []
@@ -256,290 +355,380 @@ class InternalMetadata
256
355
  end
257
356
 
258
357
  def newSecurityConstraint
259
- intObj = {
358
+ {
260
359
  classCode: nil,
261
360
  userNote: nil,
262
361
  classSystem: nil,
263
- handlingDesc: nil
362
+ handling: nil
363
+ }
364
+ end
365
+
366
+ def newRelease
367
+ {
368
+ addressee: [],
369
+ statement: nil,
370
+ disseminationConstraint: []
371
+ }
372
+ end
373
+
374
+ def newDistribution
375
+ {
376
+ description: nil,
377
+ distributor: []
264
378
  }
265
379
  end
266
380
 
267
381
  def newDistributor
268
- intObj = {
269
- distContact: {},
270
- distOrderProcs: [],
271
- distFormats: [],
272
- distTransOptions: []
382
+ {
383
+ contact: {},
384
+ orderProcess: [],
385
+ transferOptions: []
273
386
  }
274
387
  end
275
388
 
276
- def newDistOrder
277
- intObj = {
389
+ def newOrderProcess
390
+ {
278
391
  fees: nil,
279
- plannedDateTime: {},
280
- orderInstructions: nil,
392
+ plannedAvailability: {},
393
+ orderingInstructions: nil,
281
394
  turnaround: nil
282
395
  }
283
396
  end
284
397
 
285
- def newDigitalTransOption
286
- intObj = {
287
- distFormats: [],
398
+ def newTransferOption
399
+ {
400
+ unitsOfDistribution: nil,
288
401
  transferSize: nil,
289
- transferSizeUnits: nil,
290
- online: [],
291
- offline: {}
402
+ onlineOptions: [],
403
+ offlineOptions: [],
404
+ transferFrequency: {},
405
+ distributionFormats: []
292
406
  }
293
407
  end
294
408
 
295
409
  def newMedium
296
- intObj = {
297
- mediumType: nil,
298
- mediumCapacity: nil,
299
- mediumCapacityUnits: nil,
300
- mediumFormat: nil,
301
- mediumNote: nil
410
+ {
411
+ mediumSpecification: {},
412
+ density: nil,
413
+ units: nil,
414
+ numberOfVolumes: nil,
415
+ mediumFormat: [],
416
+ note: nil,
417
+ identifier: {}
418
+ }
419
+ end
420
+
421
+ def newResourceFormat
422
+ {
423
+ formatSpecification: {},
424
+ amendmentNumber: nil,
425
+ compressionMethod: nil
302
426
  }
303
427
  end
304
428
 
305
- def newBrowseGraphic
306
- intObj = {
307
- bGName: nil,
308
- bGDescription: nil,
309
- bGType: nil,
310
- bGURI: nil
429
+ def newGraphic
430
+ {
431
+ graphicName: nil,
432
+ graphicDescription: nil,
433
+ graphicType: nil,
434
+ graphicConstraints: [],
435
+ graphicURI: []
311
436
  }
312
437
  end
313
438
 
314
439
  def newSpatialReferenceSystem
315
- intObj = {
316
- sRNames: [],
317
- sREPSGs: [],
318
- sRWKTs: []
440
+ {
441
+ systemType: nil,
442
+ systemIdentifier: {}
319
443
  }
320
444
  end
321
445
 
322
- def newExtent
323
- intObj = {
324
- extDesc: nil,
325
- extGeoElements: [],
326
- extIdElements: [],
327
- extTempElements: [],
328
- extVertElements: []
446
+ def newSpatialResolution
447
+ {
448
+ scaleFactor: nil,
449
+ measure: {},
450
+ levelOfDetail: nil
329
451
  }
330
452
  end
331
453
 
332
- def newGeoElement
333
- intObj = {
334
- elementId: nil,
335
- elementType: nil,
336
- elementIncludeData: nil,
337
- elementName: nil,
338
- elementDescription: nil,
339
- temporalElements: [],
340
- verticalElements: [],
341
- elementIdentifiers: [],
342
- elementScope: nil,
343
- elementAcquisition: nil,
344
- elementSrs: {},
345
- elementGeometry: {}
454
+ def newMeasure
455
+ {
456
+ type: nil,
457
+ value: nil,
458
+ unitOfMeasure: nil
346
459
  }
347
460
  end
348
461
 
349
- def newSRS
350
- intObj = {
351
- srsName: nil,
352
- srsHref: nil,
353
- srsType: nil
462
+ def newExtent
463
+ {
464
+ description: nil,
465
+ geographicExtents: [],
466
+ temporalExtents: [],
467
+ verticalExtents: []
354
468
  }
355
469
  end
356
470
 
357
- def newGeometry
358
- intObj = {
359
- geoType: nil,
360
- geometry: {},
361
- dimension: nil
471
+ def newGeographicExtent
472
+ {
473
+ containsData: true,
474
+ identifier: {},
475
+ boundingBox: {},
476
+ geographicElements: [],
477
+ nativeGeoJson: [],
478
+ computedBbox: {}
362
479
  }
363
480
  end
364
481
 
365
482
  def newBoundingBox
366
- intObj = {
367
- westLong: nil,
368
- eastLong: nil,
369
- southLat: nil,
370
- northLat: nil
483
+ {
484
+ westLongitude: nil,
485
+ eastLongitude: nil,
486
+ southLatitude: nil,
487
+ northLatitude: nil
488
+ }
489
+ end
490
+
491
+ def newGeometryObject
492
+ {
493
+ type: nil,
494
+ coordinates: [],
495
+ nativeGeoJson: {}
496
+ }
497
+ end
498
+
499
+ def newGeometryCollection
500
+ {
501
+ type: nil,
502
+ bbox: [],
503
+ geometryObjects: [],
504
+ computedBbox: [],
505
+ nativeGeoJson: {}
506
+ }
507
+ end
508
+
509
+ def newGeometryProperties
510
+ {
511
+ featureNames: [],
512
+ description: nil,
513
+ identifiers: [],
514
+ featureScope: nil,
515
+ acquisitionMethod: nil
371
516
  }
372
517
  end
373
518
 
374
- def newPolygonSet
375
- intObj = {
376
- exteriorRing: {},
377
- exclusionRings: []
519
+ def newGeometryFeature
520
+ {
521
+ type: nil,
522
+ id: nil,
523
+ bbox: [],
524
+ geometryObject: {},
525
+ properties: {},
526
+ computedBbox: [],
527
+ nativeGeoJson: {}
378
528
  }
379
529
  end
380
530
 
381
- def newTemporalElement
382
- intObj = {
383
- date: {},
531
+ def newFeatureCollection
532
+ {
533
+ type: nil,
534
+ bbox: [],
535
+ features: [],
536
+ computedBbox: [],
537
+ nativeGeoJson: {}
538
+ }
539
+ end
540
+
541
+ def newTemporalExtent
542
+ {
384
543
  timeInstant: {},
385
544
  timePeriod: {}
386
545
  }
387
546
  end
388
547
 
389
548
  def newTimeInstant
390
- intObj = {
549
+ {
391
550
  timeId: nil,
392
551
  description: nil,
393
- timePosition: {}
552
+ identifier: {},
553
+ instantNames: [],
554
+ timeInstant: {}
394
555
  }
395
556
  end
396
557
 
397
558
  def newTimePeriod
398
- intObj = {
559
+ {
399
560
  timeId: nil,
400
561
  description: nil,
401
- beginTime: {},
402
- endTime: {}
562
+ identifier: {},
563
+ periodNames: [],
564
+ startDateTime: {},
565
+ endDateTime: {},
566
+ timeInterval: {},
567
+ duration: {}
403
568
  }
404
569
  end
405
570
 
406
- def newVerticalElement
407
- intObj = {
571
+ def newDuration
572
+ {
573
+ years: nil,
574
+ months: nil,
575
+ days: nil,
576
+ hours: nil,
577
+ minutes: nil,
578
+ seconds: nil
579
+ }
580
+ end
581
+
582
+ def newTimeInterval
583
+ {
584
+ interval: nil,
585
+ units: nil
586
+ }
587
+ end
588
+
589
+ def newVerticalExtent
590
+ {
591
+ description: nil,
408
592
  minValue: nil,
409
593
  maxValue: nil,
410
- crsURI: nil,
411
- crsTitle: nil
594
+ crsId: {}
412
595
  }
413
596
  end
414
597
 
415
- def newDataUsage
416
- intObj = {
598
+ def newResourceUsage
599
+ {
417
600
  specificUsage: nil,
418
- userLimits: nil,
601
+ temporalExtents: [],
602
+ userLimitation: nil,
603
+ limitationResponses: [],
604
+ identifiedIssue: {},
605
+ additionalDocumentation: [],
419
606
  userContacts: []
420
607
  }
421
608
  end
422
609
 
610
+ def newTaxonomy
611
+ {
612
+ taxonSystem: [],
613
+ generalScope: nil,
614
+ idReferences: [],
615
+ observers: [],
616
+ idProcedure: nil,
617
+ idCompleteness: nil,
618
+ vouchers: [],
619
+ taxonClass: {}
620
+ }
621
+ end
622
+
423
623
  def newTaxonSystem
424
- intObj = {
425
- taxClassSys: [],
426
- taxGeneralScope: nil,
427
- taxObservers: [],
428
- taxIdProcedures: nil,
429
- taxVoucher: {},
430
- taxClasses: []
624
+ {
625
+ citation: {},
626
+ modifications: nil
431
627
  }
432
628
  end
433
629
 
434
630
  def newTaxonVoucher
435
- intObj = {
631
+ {
436
632
  specimen: nil,
437
633
  repository: {}
438
634
  }
439
635
  end
440
636
 
441
637
  def newTaxonClass
442
- intObj = {
443
- commonName: nil,
444
- taxRankName: nil,
445
- taxRankValue: nil
446
- }
447
- end
448
-
449
- def newResolution
450
- intObj = {
451
- equivalentScale: nil,
452
- distance: nil,
453
- distanceUOM: nil
454
- }
455
- end
456
-
457
- def newDataQuality
458
- intObj = {
459
- dataScope: nil,
460
- dataLineage: {}
638
+ {
639
+ taxonId: nil,
640
+ taxonRank: nil,
641
+ taxonValue: nil,
642
+ commonNames: [],
643
+ subClasses: []
461
644
  }
462
645
  end
463
646
 
464
647
  def newLineage
465
- intObj = {
648
+ {
466
649
  statement: nil,
467
- processSteps: [],
468
- dataSources: []
650
+ resourceScope: {},
651
+ lineageCitation: [],
652
+ dataSources: [],
653
+ processSteps: []
469
654
  }
470
655
  end
471
656
 
472
- def newDataProcessStep
473
- intObj = {
657
+ def newProcessStep
658
+ {
474
659
  stepId: nil,
475
- stepDescription: nil,
476
- stepRationale: nil,
477
- stepDateTime: {},
478
- stepProcessors: []
660
+ description: nil,
661
+ rationale: nil,
662
+ timePeriod: {},
663
+ processors: [],
664
+ references: [],
665
+ scope: {}
479
666
  }
480
667
  end
481
668
 
482
669
  def newDataSource
483
- intObj = {
484
- sourceDescription: nil,
670
+ {
671
+ description: nil,
485
672
  sourceCitation: {},
486
- sourceSteps: []
673
+ metadataCitation: [],
674
+ spatialResolution: {},
675
+ referenceSystem: {},
676
+ sourceSteps: [],
677
+ scope: {}
487
678
  }
488
679
  end
489
680
 
490
681
  def newMetadataExtension
491
- intObj = {
682
+ {
492
683
  onLineResource: {},
493
- extName: nil,
494
- extShortName: nil,
495
- extDefinition: nil,
684
+ name: nil,
685
+ shortName: nil,
686
+ definition: nil,
496
687
  obligation: nil,
497
688
  dataType: nil,
498
689
  maxOccurrence: nil,
499
690
  parentEntities: [],
500
691
  rule: nil,
501
692
  rationales: [],
502
- extSources: []
693
+ sourceOrganization: nil,
694
+ sourceURI: nil,
695
+ sourceRole: nil
503
696
  }
504
697
  end
505
698
 
506
699
  def newAssociatedResource
507
- intObj = {
700
+ {
701
+ resourceTypes: [],
508
702
  associationType: nil,
509
703
  initiativeType: nil,
510
- resourceType: nil,
511
704
  resourceCitation: {},
512
705
  metadataCitation: {}
513
706
  }
514
707
  end
515
708
 
516
709
  def newAdditionalDocumentation
517
- intObj = {
518
- resourceType: nil,
519
- citation: {}
710
+ {
711
+ resourceTypes: [],
712
+ citation: []
520
713
  }
521
714
  end
522
715
 
523
716
  def newDataDictionary
524
- intObj = {
525
- dictionaryInfo: {},
717
+ {
718
+ citation: {},
719
+ subjects: [],
720
+ recommendedUses: [],
721
+ locales: [],
722
+ responsibleParty: {},
723
+ dictionaryFormat: nil,
724
+ includedWithDataset: false,
526
725
  domains: [],
527
726
  entities: []
528
727
  }
529
728
  end
530
729
 
531
- def newDictionaryInfo
532
- intObj = {
533
- dictCitation: {},
534
- dictDescription: nil,
535
- dictResourceType: nil,
536
- dictLanguage: nil,
537
- includedWithDataset: nil
538
- }
539
- end
540
-
541
730
  def newDictionaryDomain
542
- intObj = {
731
+ {
543
732
  domainId: nil,
544
733
  domainName: nil,
545
734
  domainCode: nil,
@@ -549,7 +738,7 @@ class InternalMetadata
549
738
  end
550
739
 
551
740
  def newDomainItem
552
- intObj = {
741
+ {
553
742
  itemName: nil,
554
743
  itemValue: nil,
555
744
  itemDefinition: nil
@@ -557,7 +746,7 @@ class InternalMetadata
557
746
  end
558
747
 
559
748
  def newEntity
560
- intObj = {
749
+ {
561
750
  entityId: nil,
562
751
  entityName: nil,
563
752
  entityCode: nil,
@@ -571,7 +760,7 @@ class InternalMetadata
571
760
  end
572
761
 
573
762
  def newEntityIndex
574
- intObj = {
763
+ {
575
764
  indexCode: nil,
576
765
  duplicate: false,
577
766
  attributeNames: []
@@ -579,13 +768,14 @@ class InternalMetadata
579
768
  end
580
769
 
581
770
  def newEntityAttribute
582
- intObj = {
771
+ {
583
772
  attributeName: nil,
584
773
  attributeCode: nil,
585
774
  attributeAlias: [],
586
775
  attributeDefinition: nil,
587
776
  dataType: nil,
588
- allowNull: true,
777
+ allowNull: false,
778
+ allowMany: false,
589
779
  unitOfMeasure: nil,
590
780
  domainId: nil,
591
781
  minValue: nil,
@@ -594,108 +784,202 @@ class InternalMetadata
594
784
  end
595
785
 
596
786
  def newEntityForeignKey
597
- intObj = {
787
+ {
598
788
  fkLocalAttributes: [],
599
789
  fkReferencedEntity: nil,
600
790
  fkReferencedAttributes: []
601
791
  }
602
792
  end
603
793
 
794
+ def newSpatialRepresentation
795
+ {
796
+ gridRepresentation: {},
797
+ vectorRepresentation: {},
798
+ georectifiedRepresentation: {},
799
+ georeferenceableRepresentation: {}
800
+ }
801
+ end
802
+
604
803
  def newGridInfo
605
- intObj = {
606
- dimensions: nil,
607
- dimensionInfo: [],
608
- dimensionGeometry: nil,
609
- dimensionTransformParams: false
804
+ {
805
+ numberOfDimensions: nil,
806
+ dimension: [],
807
+ cellGeometry: nil,
808
+ transformationParameterAvailable: false
610
809
  }
611
810
  end
612
811
 
613
- def newDimensionInfo
614
- intObj = {
812
+ def newDimension
813
+ {
615
814
  dimensionType: nil,
616
815
  dimensionTitle: nil,
617
816
  dimensionDescription: nil,
618
817
  dimensionSize: nil,
619
- resolution: nil,
620
- resolutionUnits: nil
818
+ resolution: {}
819
+ }
820
+ end
821
+
822
+ def newVectorInfo
823
+ {
824
+ topologyLevel: nil,
825
+ vectorObject: []
826
+ }
827
+ end
828
+
829
+ def newVectorObject
830
+ {
831
+ objectType: nil,
832
+ objectCount: nil
833
+ }
834
+ end
835
+
836
+ def newGeorectifiedInfo
837
+ {
838
+ gridRepresentation: {},
839
+ checkPointAvailable: false,
840
+ checkPointDescription: nil,
841
+ cornerPoints: [],
842
+ centerPoint: [],
843
+ pointInPixel: nil,
844
+ transformationDimensionDescription: nil,
845
+ transformationDimensionMapping: nil
846
+ }
847
+ end
848
+
849
+ def newGeoreferenceableInfo
850
+ {
851
+ gridRepresentation: {},
852
+ controlPointAvailable: false,
853
+ orientationParameterAvailable: false,
854
+ orientationParameterDescription: nil,
855
+ georeferencedParameter: nil,
856
+ parameterCitation: []
621
857
  }
622
858
  end
623
859
 
624
- def newCoverageInfo
625
- intObj = {
626
- coverageType: nil,
860
+ def newCoverageDescription
861
+ {
627
862
  coverageName: nil,
628
863
  coverageDescription: nil,
629
- processingLevel: {},
630
- coverageItems: [],
631
- imageInfo: {}
864
+ processingLevelCode: {},
865
+ attributeGroups: [],
866
+ imageDescription: {}
632
867
  }
633
868
  end
634
869
 
635
- def newCoverageItem
636
- intObj = {
637
- itemName: nil,
638
- itemType: nil,
639
- itemDescription: nil,
870
+ def newAttributeGroup
871
+ {
872
+ attributeContentTypes: [],
873
+ attributes: []
874
+ }
875
+ end
876
+
877
+ def newAttribute
878
+ {
879
+ sequenceIdentifier: nil,
880
+ sequenceIdentifierType: nil,
881
+ attributeDescription: nil,
882
+ attributeIdentifiers: [],
640
883
  minValue: nil,
641
884
  maxValue: nil,
642
885
  units: nil,
643
886
  scaleFactor: nil,
644
887
  offset: nil,
645
888
  meanValue: nil,
889
+ numberOfValues: nil,
646
890
  standardDeviation: nil,
647
891
  bitsPerValue: nil,
648
- classedData: {},
649
- sensorInfo: {}
892
+ boundMin: nil,
893
+ boundMax: nil,
894
+ boundUnits: nil,
895
+ peakResponse: nil,
896
+ toneGradations: nil,
897
+ bandBoundaryDefinition: nil,
898
+ nominalSpatialResolution: nil,
899
+ transferFunctionType: nil,
900
+ transmittedPolarization: nil,
901
+ detectedPolarization: nil
650
902
  }
651
903
  end
652
904
 
653
- def newClassedData
654
- intObj = {
655
- numberOfClasses: nil,
656
- classedDataItems: []
905
+ def newImageDescription
906
+ {
907
+ illuminationElevationAngle: nil,
908
+ illuminationAzimuthAngle: nil,
909
+ imagingCondition: nil,
910
+ imageQualityCode: {},
911
+ cloudCoverPercent: nil,
912
+ compressionQuantity: nil,
913
+ triangulationIndicator: false,
914
+ radiometricCalibrationAvailable: false,
915
+ cameraCalibrationAvailable: false,
916
+ filmDistortionAvailable: false,
917
+ lensDistortionAvailable: false
657
918
  }
658
919
  end
659
920
 
660
- def newClassedDataItem
661
- intObj = {
662
- className: nil,
663
- classDescription: nil,
664
- classValue: nil
921
+ def newLocale
922
+ {
923
+ languageCode: nil,
924
+ countryCode: nil,
925
+ characterEncoding: nil
665
926
  }
666
927
  end
667
928
 
668
- def newImageInfo
669
- intObj = {
670
- illuminationElevationAngle: nil,
671
- illuminationAzimuthAngle: nil,
672
- imageCondition: nil,
673
- imageQuality: {},
674
- cloudCoverPercent: nil,
675
- compressionQuantity: nil,
676
- triangulationInfo: false,
677
- radiometricCalibrationInfo: false,
678
- cameraCalibrationInfo: false,
679
- filmDistortionInfo: false,
680
- lensDistortionInfo: false
929
+ def newSeries
930
+ {
931
+ seriesName: nil,
932
+ seriesIssue: nil,
933
+ issuePage: nil
681
934
  }
682
935
  end
683
936
 
684
- def newSensorInfo
685
- intObj = {
686
- toneGradations: nil,
687
- sensorMin: nil,
688
- sensorMax: nil,
689
- sensorUnits: nil,
690
- sensorPeakResponse: nil
937
+ def newScope
938
+ {
939
+ scopeCode: nil,
940
+ scopeDescriptions: [],
941
+ extents: []
691
942
  }
692
943
  end
693
944
 
694
- def newLocale
695
- intObj = {
696
- languageCode: nil,
697
- countryCode: nil,
698
- characterEncoding: nil
945
+ def newScopeDescription
946
+ {
947
+ dataset: nil,
948
+ attributes: nil,
949
+ features: nil,
950
+ other: nil
951
+ }
952
+ end
953
+
954
+ def newAllocation
955
+ {
956
+ amount: nil,
957
+ currency: nil,
958
+ sourceId: nil,
959
+ recipientId: nil,
960
+ matching: false,
961
+ comment: nil
962
+ }
963
+ end
964
+
965
+ def newFunding
966
+ {
967
+ allocations: [],
968
+ timePeriod: {}
969
+ }
970
+ end
971
+
972
+ def newMetadataRepository
973
+ {
974
+ repository: nil,
975
+ metadataStandard: nil
976
+ }
977
+ end
978
+
979
+ def newResourceType
980
+ {
981
+ type: nil,
982
+ name: nil
699
983
  }
700
984
  end
701
985