adiwg-mdtranslator 2.18.2 → 2.19.0.pre.beta.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test.yml +14 -0
  3. data/.gitignore +2 -1
  4. data/Gemfile.lock +86 -0
  5. data/Rakefile +1 -1
  6. data/adiwg-mdtranslator.gemspec +6 -6
  7. data/lib/adiwg/mdtranslator/internal/internal_metadata_obj.rb +27 -11
  8. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +149 -0
  9. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_fgdc.rb +2 -2
  10. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_conformanceResult.rb +1 -1
  11. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_coverageResult.rb +8 -7
  12. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQuality.rb +4 -4
  13. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataQualityReport.rb +8 -16
  14. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_evaluationMethod.rb +1 -1
  15. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_legalConstraint.rb +8 -8
  16. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityMeasure.rb +34 -0
  17. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_qualityResultFile.rb +72 -0
  18. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_rangeElementDescription.rb +2 -2
  19. data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_responsibleParty.rb +1 -1
  20. data/lib/adiwg/mdtranslator/readers/sbJson/modules/module_contact.rb +13 -0
  21. data/lib/adiwg/mdtranslator/version.rb +1 -1
  22. data/lib/adiwg/mdtranslator/writers/fgdc/classes/{class_quality.rb → class_dataQuality.rb} +14 -10
  23. data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_fgdc.rb +3 -3
  24. data/lib/adiwg/mdtranslator/writers/html/sections/html_body.rb +5 -1
  25. data/lib/adiwg/mdtranslator/writers/html/sections/html_contact.rb +32 -0
  26. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataQuality.rb +39 -18
  27. data/lib/adiwg/mdtranslator/writers/html/sections/html_dataQualityReport.rb +385 -0
  28. data/lib/adiwg/mdtranslator/writers/html/sections/html_rangeElementDescription.rb +2 -2
  29. data/lib/adiwg/mdtranslator/writers/html/sections/html_resultFile.rb +60 -0
  30. data/lib/adiwg/mdtranslator/writers/html/sections/html_scope.rb +18 -10
  31. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_additionalDocument.rb +3 -3
  32. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_address.rb +4 -4
  33. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_algorithm.rb +4 -4
  34. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_associatedResource.rb +4 -4
  35. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attribute.rb +4 -4
  36. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_attributeGroup.rb +4 -4
  37. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_baseUnit.rb +2 -2
  38. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_boundingBox.rb +4 -4
  39. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_browseGraphic.rb +4 -4
  40. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_citation.rb +4 -4
  41. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_codelist.rb +2 -2
  42. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraint.rb +4 -4
  43. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_constraintCommon.rb +2 -2
  44. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_contact.rb +3 -3
  45. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_conventionalUnit.rb +2 -2
  46. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_coverageDescription.rb +3 -3
  47. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataIdentification.rb +5 -5
  48. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dataQuality.rb +9 -2
  49. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_dataQualityReport.rb +269 -0
  50. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_date.rb +4 -4
  51. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_definitionUnit.rb +2 -2
  52. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_derivedUnit.rb +2 -2
  53. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_dimension.rb +4 -4
  54. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distribution.rb +2 -2
  55. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_distributor.rb +4 -4
  56. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_email.rb +2 -2
  57. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_extent.rb +2 -2
  58. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_feature.rb +4 -4
  59. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCatalog.rb +3 -3
  60. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureCollection.rb +2 -2
  61. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_featureProperties.rb +2 -2
  62. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_format.rb +4 -4
  63. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_fraction.rb +4 -4
  64. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gcoDateTime.rb +2 -2
  65. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicElement.rb +4 -4
  66. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geographicExtent.rb +2 -2
  67. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometricObjects.rb +3 -3
  68. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_geometryCollection.rb +4 -4
  69. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georectified.rb +4 -4
  70. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_georeferenceable.rb +4 -4
  71. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gmlIdentifier.rb +2 -2
  72. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_grid.rb +4 -4
  73. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_gridRepresentation.rb +1 -1
  74. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_identifier.rb +4 -4
  75. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_imageDescription.rb +2 -2
  76. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_individual.rb +4 -4
  77. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_keyword.rb +4 -4
  78. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leProcessStep.rb +4 -4
  79. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_leSource.rb +2 -2
  80. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_legalConstraints.rb +3 -3
  81. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liProcessStep.rb +4 -4
  82. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_liSource.rb +2 -2
  83. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineString.rb +2 -2
  84. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_lineage.rb +2 -2
  85. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_locale.rb +4 -4
  86. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_maintenance.rb +4 -4
  87. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdBand.rb +2 -2
  88. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_mdMetadata.rb +7 -7
  89. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_measure.rb +4 -4
  90. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_medium.rb +2 -2
  91. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_miBand.rb +2 -2
  92. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiLine.rb +2 -2
  93. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPoint.rb +2 -2
  94. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_multiPolygon.rb +2 -2
  95. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_nominalResolution.rb +4 -4
  96. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_onlineResource.rb +4 -4
  97. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_orderProcess.rb +2 -2
  98. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_organization.rb +4 -4
  99. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_partyIdentifier.rb +4 -4
  100. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_phone.rb +3 -3
  101. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_point.rb +2 -2
  102. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_polygon.rb +2 -2
  103. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processReport.rb +4 -4
  104. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processStep.rb +2 -2
  105. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_processing.rb +4 -4
  106. data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_qualityResultFile.rb +55 -0
  107. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeDimension.rb +4 -4
  108. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_rangeElementDescription.rb +5 -5
  109. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_referenceSystem.rb +3 -3
  110. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_releasability.rb +2 -2
  111. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_resolution.rb +2 -2
  112. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_responsibility.rb +4 -4
  113. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_sampleDimension.rb +4 -4
  114. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scope.rb +4 -4
  115. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_scopeDescription.rb +2 -2
  116. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_securityConstraints.rb +4 -4
  117. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_series.rb +2 -2
  118. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_source.rb +2 -2
  119. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_spatialRepresentation.rb +2 -2
  120. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_temporalExtent.rb +2 -2
  121. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timeInstant.rb +2 -2
  122. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_timePeriod.rb +2 -2
  123. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_transferOptions.rb +2 -2
  124. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_unitsOfMeasure.rb +2 -2
  125. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_usage.rb +4 -4
  126. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_useConstraints.rb +2 -2
  127. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_vectorRepresentation.rb +2 -2
  128. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/classes/class_verticalExtent.rb +4 -4
  129. data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer.rb → iso19115_3/iso19115_3_writer.rb} +10 -10
  130. data/lib/adiwg/mdtranslator/writers/{iso19115_1/iso19115_1_writer_messages_eng.yml → iso19115_3/iso19115_3_writer_messages_eng.yml} +1 -1
  131. data/lib/adiwg/mdtranslator/writers/{iso19115_1 → iso19115_3}/readme.md +3 -3
  132. data/lib/adiwg/mdtranslator/writers/iso19115_3/version.rb +12 -0
  133. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_allocation.rb +1 -1
  134. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_coverageResult.rb +30 -0
  135. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQuality.rb +3 -1
  136. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dataQualityReport.rb +12 -10
  137. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_descriptiveResult.rb +3 -3
  138. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_funding.rb +2 -2
  139. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_legalConstraint.rb +1 -1
  140. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_metadata.rb +1 -1
  141. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityMeasure.rb +4 -3
  142. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_qualityResultFile.rb +23 -0
  143. data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_standaloneQualityReport.rb +31 -0
  144. data/lib/adiwg/mdtranslator/writers/sbJson/sections/sbJson_contact.rb +10 -0
  145. data/lib/adiwg/mdtranslator/writers/simple_html/readme.md +19 -0
  146. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_additionalDocumentation.rb +49 -0
  147. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_algorithm.rb +48 -0
  148. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +114 -0
  149. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_associatedResource.rb +73 -0
  150. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attribute.rb +201 -0
  151. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_attributeGroup.rb +51 -0
  152. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_bearingDistanceResolution.rb +68 -0
  153. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_body.rb +319 -0
  154. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_boundingBox.rb +69 -0
  155. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +165 -0
  156. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedData.rb +50 -0
  157. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_classedDataItem.rb +50 -0
  158. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_constraint.rb +118 -0
  159. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_contact.rb +234 -0
  160. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coordinateResolution.rb +47 -0
  161. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_coverageInfo.rb +81 -0
  162. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataDictionary.rb +126 -0
  163. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQuality.rb +79 -0
  164. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +385 -0
  165. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_date.rb +42 -0
  166. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_datetime.rb +42 -0
  167. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dimension.rb +69 -0
  168. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distribution.rb +58 -0
  169. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_distributor.rb +66 -0
  170. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_document.rb +63 -0
  171. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domain.rb +108 -0
  172. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_domainItem.rb +64 -0
  173. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_duration.rb +68 -0
  174. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entity.rb +169 -0
  175. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityAttribute.rb +179 -0
  176. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityForeignKey.rb +55 -0
  177. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_entityIndex.rb +50 -0
  178. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_extent.rb +75 -0
  179. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_feature.rb +97 -0
  180. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureCollection.rb +82 -0
  181. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_featureProperties.rb +71 -0
  182. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_format.rb +66 -0
  183. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_funding.rb +60 -0
  184. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geodeticParameters.rb +71 -0
  185. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicElement.rb +79 -0
  186. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +110 -0
  187. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicResolution.rb +47 -0
  188. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geologicAge.rb +71 -0
  189. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryCollection.rb +78 -0
  190. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geometryObject.rb +46 -0
  191. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georectifiedRepresentation.rb +105 -0
  192. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_georeferenceableRepresentation.rb +91 -0
  193. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_graphic.rb +75 -0
  194. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_gridRepresentation.rb +76 -0
  195. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_head.rb +55 -0
  196. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_identifier.rb +81 -0
  197. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_imageInfo.rb +102 -0
  198. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_inlineCss.css +237 -0
  199. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_keyword.rb +68 -0
  200. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_legalConstraint.rb +49 -0
  201. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +87 -0
  202. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_locale.rb +47 -0
  203. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +96 -0
  204. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_measure.rb +47 -0
  205. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +90 -0
  206. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +198 -0
  207. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataRepository.rb +56 -0
  208. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_nominalResolution.rb +51 -0
  209. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_obliqueLinePoint.rb +37 -0
  210. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_onlineResource.rb +74 -0
  211. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_orderProcess.rb +62 -0
  212. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processReport.rb +47 -0
  213. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processStep.rb +171 -0
  214. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_processing.rb +89 -0
  215. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_projectionParameters.rb +261 -0
  216. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_rangeElementDescription.rb +40 -0
  217. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_referenceSystemParameters.rb +65 -0
  218. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +63 -0
  219. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceFormat.rb +40 -0
  220. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +485 -0
  221. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceType.rb +38 -0
  222. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +81 -0
  223. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resultFile.rb +60 -0
  224. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scope.rb +60 -0
  225. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_scopeDescription.rb +54 -0
  226. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_securityConstraint.rb +57 -0
  227. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_source.rb +155 -0
  228. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialReference.rb +70 -0
  229. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +77 -0
  230. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialResolution.rb +95 -0
  231. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +156 -0
  232. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomyClass.rb +75 -0
  233. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_temporalExtent.rb +65 -0
  234. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +82 -0
  235. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInterval.rb +40 -0
  236. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +128 -0
  237. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +94 -0
  238. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +118 -0
  239. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorObject.rb +40 -0
  240. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +62 -0
  241. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalDatumParameters.rb +70 -0
  242. data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_verticalExtent.rb +62 -0
  243. data/lib/adiwg/mdtranslator/writers/simple_html/simple_html_writer.rb +44 -0
  244. data/lib/adiwg/mdtranslator/writers/simple_html/version.rb +19 -0
  245. data/lib/adiwg/mdtranslator_cli.rb +2 -2
  246. metadata +241 -125
  247. data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_quality.rb +0 -181
  248. data/lib/adiwg/mdtranslator/writers/iso19115_1/classes/class_dataQualityReport.rb +0 -95
  249. data/lib/adiwg/mdtranslator/writers/iso19115_1/version.rb +0 -15
@@ -15,8 +15,8 @@ module ADIWG
15
15
  def self.build(hLegal)
16
16
 
17
17
  Jbuilder.new do |json|
18
- json.useConstraint hLegal[:useCodes] unless hLegal[:useCodes].empty?
19
18
  json.accessConstraint hLegal[:accessCodes] unless hLegal[:accessCodes].empty?
19
+ json.useConstraint hLegal[:useCodes] unless hLegal[:useCodes].empty?
20
20
  json.otherConstraint hLegal[:otherCons] unless hLegal[:otherCons].empty?
21
21
  end
22
22
 
@@ -28,12 +28,12 @@ module ADIWG
28
28
  Jbuilder.new do |json|
29
29
  json.metadataInfo MetadataInfo.build(hMetadata[:metadataInfo])
30
30
  json.resourceInfo ResourceInfo.build(hMetadata[:resourceInfo])
31
+ json.dataQuality @Namespace.json_map(hMetadata[:dataQuality], DataQuality)
31
32
  json.resourceLineage @Namespace.json_map(hMetadata[:lineageInfo], LineageInfo)
32
33
  json.resourceDistribution @Namespace.json_map(hMetadata[:distributorInfo], Distribution)
33
34
  json.associatedResource @Namespace.json_map(hMetadata[:associatedResources], AssociatedResource)
34
35
  json.additionalDocumentation @Namespace.json_map(hMetadata[:additionalDocuments], AdditionalDocument)
35
36
  json.funding @Namespace.json_map(hMetadata[:funding], Funding)
36
- json.dataQuality @Namespace.json_map(hMetadata[:dataQuality], DataQuality)
37
37
  end
38
38
 
39
39
  end # build
@@ -1,4 +1,5 @@
1
1
  require 'jbuilder'
2
+ require_relative 'mdJson_identifier'
2
3
 
3
4
  module ADIWG
4
5
  module Mdtranslator
@@ -8,9 +9,9 @@ module ADIWG
8
9
  module QualityMeasure
9
10
  def self.build(hQualityMeasure)
10
11
  Jbuilder.new do |json|
11
- json.identifier hQualityMeasure[:identifier]
12
- json.name hQualityMeasure[:name]
13
- json.description hQualityMeasure[:description]
12
+ json.identifier Identifier.build(hQualityMeasure[:identifier]) unless hQualityMeasure[:identifier].empty?
13
+ json.name hQualityMeasure[:nameOfMeasure] unless hQualityMeasure[:nameOfMeasure].empty?
14
+ json.description hQualityMeasure[:description] unless hQualityMeasure[:description].nil?
14
15
  end
15
16
  end
16
17
  end
@@ -0,0 +1,23 @@
1
+ require 'jbuilder'
2
+ require_relative 'mdJson_format'
3
+
4
+ module ADIWG
5
+ module Mdtranslator
6
+ module Writers
7
+ module MdJson
8
+
9
+ module QualityResultFile
10
+ def self.build(hQualityResultFile)
11
+ Jbuilder.new do |json|
12
+ json.fileName hQualityResultFile[:fileName]
13
+ json.fileDescription hQualityResultFile[:fileDescription]
14
+ json.fileType hQualityResultFile[:fileType]
15
+ json.fileFormat Format.build(hQualityResultFile[:fileFormat]) unless hQualityResultFile[:fileFormat].nil?
16
+ end
17
+ end
18
+ end
19
+
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,31 @@
1
+ # mdJson 2.0 writer - dataQuality
2
+
3
+ require 'jbuilder'
4
+ require_relative 'mdJson_citation'
5
+
6
+ module ADIWG
7
+ module Mdtranslator
8
+ module Writers
9
+ module MdJson
10
+
11
+ module StandaloneQualityReport
12
+
13
+ @Namespace = ADIWG::Mdtranslator::Writers::MdJson
14
+
15
+ def self.build(hStandaloneReport)
16
+ reportReference = hStandaloneReport[:reportReference]
17
+ Jbuilder.new do |json|
18
+ json.reportReference Citation.build(reportReference)
19
+ json.abstract hStandaloneReport[:abstract]
20
+ end
21
+
22
+ end
23
+
24
+ end
25
+
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+
@@ -149,6 +149,16 @@ module ADIWG
149
149
  end
150
150
  end
151
151
  end
152
+
153
+ if hContact[:externalIdentifier] && type == 'person'
154
+ hContact[:externalIdentifier].each do |hExternalIdentifier|
155
+ if hExternalIdentifier[:namespace] == 'ORCID'
156
+ json.orcId hExternalIdentifier[:identifier]
157
+ break
158
+ end
159
+ end
160
+ end
161
+
152
162
  end
153
163
  end
154
164
 
@@ -0,0 +1,19 @@
1
+
2
+ ## html
3
+
4
+ ### Supported versions
5
+
6
+ > Supports mdTranslator version 2.x
7
+
8
+ ### Writer for HTML 'human-readable' output of metadata
9
+
10
+ The HTML Metadata Record output from the mdTranslator is intended to
11
+ be a human readable version of the metadata content read in by the
12
+ translator. The HTML output does not attempt mimic any established
13
+ metadata standard but remains agnostic in its presentation.
14
+ The HTML metadata output will display the full content of the
15
+ metadata record ingested by the mdTranslator while translation to
16
+ established standards may not support all fields.
17
+
18
+ The HTML output can be conveniently embedded in a users web page to
19
+ present metadata content to visitors.
@@ -0,0 +1,49 @@
1
+ # HTML writer
2
+ # additional documentation
3
+
4
+ # History:
5
+ # Stan Smith 2017-04-04 refactored for mdTranslator 2.0
6
+ # Stan Smith 2015-08-21 original script
7
+
8
+ require_relative 'html_resourceType'
9
+ require_relative 'html_citation'
10
+
11
+ module ADIWG
12
+ module Mdtranslator
13
+ module Writers
14
+ module Simple_html
15
+
16
+ class Html_AdditionalDocumentation
17
+
18
+ def initialize(html)
19
+ @html = html
20
+ end
21
+
22
+ def writeHtml(hAddDoc)
23
+
24
+ # classes used
25
+ typeClass = Html_ResourceType.new(@html)
26
+ citationClass = Html_Citation.new(@html)
27
+
28
+ # additional documentation - resource type [] {resourceType}
29
+ hAddDoc[:resourceTypes].each do |hType|
30
+ typeClass.writeHtml(hType)
31
+ end
32
+
33
+ # additional documentation - citation [] {citation}
34
+ hAddDoc[:citation].each do |hCitation|
35
+ @html.div do
36
+ @html.h5(hCitation[:title], {'class' => 'h5'})
37
+ @html.div(:class => 'block') do
38
+ citationClass.writeHtml(hCitation)
39
+ end
40
+ end
41
+ end
42
+
43
+ end # writeHtml
44
+ end # Html_AdditionalDocumentation
45
+
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,48 @@
1
+ # HTML writer
2
+ # algorithm
3
+
4
+ # History:
5
+ # Stan Smith 2019-09-24 original script
6
+
7
+ require_relative 'html_citation'
8
+
9
+ module ADIWG
10
+ module Mdtranslator
11
+ module Writers
12
+ module Simple_html
13
+
14
+ class Html_Algorithm
15
+
16
+ def initialize(html)
17
+ @html = html
18
+ end
19
+
20
+ def writeHtml(hAlgorithm)
21
+
22
+ # classes used
23
+ citationClass = Html_Citation.new(@html)
24
+
25
+ # algorithm - description
26
+ unless hAlgorithm[:description].nil?
27
+ @html.em('Description: ')
28
+ @html.text!(hAlgorithm[:description])
29
+ @html.br
30
+ end
31
+
32
+ # algorithm - citation {citation}
33
+ unless hAlgorithm[:citation].empty?
34
+ @html.div do
35
+ @html.h5('Algorithm citation', {'class' => 'h5'})
36
+ @html.div(:class => 'block') do
37
+ citationClass.writeHtml(hAlgorithm[:citation])
38
+ end
39
+ end
40
+ end
41
+
42
+ end # writeHtml
43
+ end # Html_Algorithm
44
+
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,114 @@
1
+ # HTML writer
2
+ # allocation
3
+
4
+ # History:
5
+ # Stan Smith 2017-08-31 refactored for mdJson 2.3 schema update
6
+ # Stan Smith 2017-04-04 original script
7
+
8
+ require_relative 'html_responsibility'
9
+ require_relative 'html_onlineResource'
10
+
11
+ module ADIWG
12
+ module Mdtranslator
13
+ module Writers
14
+ module Simple_html
15
+
16
+ class Html_Allocation
17
+
18
+ def initialize(html)
19
+ @html = html
20
+ end
21
+
22
+ def writeHtml(hAllocation)
23
+
24
+ # classes used
25
+ responsibilityClass = Html_Responsibility.new(@html)
26
+ onlineClass = Html_OnlineResource.new(@html)
27
+
28
+ # allocation - id
29
+ unless hAllocation[:id].nil?
30
+ @html.em('Source Allocation ID: ')
31
+ @html.text!(hAllocation[:id])
32
+ @html.br
33
+ end
34
+
35
+ # allocation - amount
36
+ unless hAllocation[:amount].nil?
37
+ @html.em('Amount: ')
38
+ @html.text!(hAllocation[:amount].to_s)
39
+ @html.br
40
+ end
41
+
42
+ # allocation - currency
43
+ unless hAllocation[:currency].nil?
44
+ @html.em('Currency: ')
45
+ @html.text!(hAllocation[:currency])
46
+ @html.br
47
+ end
48
+
49
+ # allocation - sourceId
50
+ unless hAllocation[:sourceId].nil?
51
+ hContact = Html_Document.getContact(hAllocation[:sourceId])
52
+ @html.em('Source Contact: ')
53
+ if hContact.empty?
54
+ @html.text!("Contact #{hAllocation[:sourceId]} not found!")
55
+ else
56
+ @html.a(hContact[:contactId], 'href' => '#CID_'+hContact[:contactId])
57
+ end
58
+ @html.br
59
+ end
60
+
61
+ # allocation - recipientId
62
+ unless hAllocation[:recipientId].nil?
63
+ hContact = Html_Document.getContact(hAllocation[:recipientId])
64
+ @html.em('Recipient Contact: ')
65
+ if hContact.empty?
66
+ @html.text!("Contact #{hAllocation[:recipientId]} not found!")
67
+ else
68
+ @html.a(hContact[:contactId], 'href' => '#CID_'+hContact[:contactId])
69
+ end
70
+ @html.br
71
+ end
72
+
73
+ # allocation - matching {Boolean}
74
+ unless hAllocation[:matching].nil?
75
+ @html.em('Matching Funds Provided: ')
76
+ @html.text!(hAllocation[:matching].to_s)
77
+ @html.br
78
+ end
79
+
80
+ # allocation - responsible parties [] {responsibleParty}
81
+ hAllocation[:responsibleParties].each do |hResponsibility|
82
+ @html.div do
83
+ @html.h5(hResponsibility[:roleName], 'class' => 'h5')
84
+ @html.div(:class => 'block') do
85
+ responsibilityClass.writeHtml(hResponsibility)
86
+ end
87
+ end
88
+ end
89
+
90
+ # allocation - online resource [] {onlineResource}
91
+ hAllocation[:onlineResources].each do |hOnline|
92
+ @html.div do
93
+ @html.div('Online Resource', {'class' => 'h5'})
94
+ @html.div(:class => 'block') do
95
+ onlineClass.writeHtml(hOnline)
96
+ end
97
+ end
98
+ end
99
+
100
+ # allocation - comment
101
+ unless hAllocation[:comment].nil?
102
+ @html.em('Comment: ')
103
+ @html.div(:class => 'block') do
104
+ @html.text!(hAllocation[:comment])
105
+ end
106
+ end
107
+
108
+ end # writeHtml
109
+ end # Html_Allocation
110
+
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,73 @@
1
+ # HTML writer
2
+ # associated resource
3
+
4
+ # History:
5
+ # Stan Smith 2017-04-04 refactored for mdTranslator 2.0
6
+ # Stan Smith 2015-08-21 original script
7
+
8
+ require_relative 'html_resourceType'
9
+ require_relative 'html_citation'
10
+
11
+ module ADIWG
12
+ module Mdtranslator
13
+ module Writers
14
+ module Simple_html
15
+
16
+ class Html_AssociatedResource
17
+
18
+ def initialize(html)
19
+ @html = html
20
+ end
21
+
22
+ def writeHtml(hResource)
23
+
24
+ # classes used
25
+ typeClass = Html_ResourceType.new(@html)
26
+ citationClass = Html_Citation.new(@html)
27
+
28
+ # associated resource - resource type
29
+ hResource[:resourceTypes].each do |hType|
30
+ typeClass.writeHtml(hType)
31
+ end
32
+
33
+ # associated resource - association type {associationTypeCode}
34
+ unless hResource[:associationType].nil?
35
+ @html.em('Association type: ')
36
+ @html.text!(hResource[:associationType])
37
+ @html.br
38
+ end
39
+
40
+ # associated resource - initiative type {initiativeTypeCode}
41
+ unless hResource[:initiativeType].nil?
42
+ @html.em('Initiative type: ')
43
+ @html.text!(hResource[:initiativeType])
44
+ @html.br
45
+ end
46
+
47
+ # associated resource - resource citation {citation}
48
+ unless hResource[:resourceCitation].empty?
49
+ @html.div do
50
+ @html.h5('Resource citation', {'class' => 'h5'})
51
+ @html.div(:class => 'block') do
52
+ citationClass.writeHtml(hResource[:resourceCitation])
53
+ end
54
+ end
55
+ end
56
+
57
+ # associated resource - metadata citation
58
+ unless hResource[:metadataCitation].empty?
59
+ @html.div do
60
+ @html.h5('Metadata citation', {'class' => 'h5'})
61
+ @html.div(:class => 'block') do
62
+ citationClass.writeHtml(hResource[:metadataCitation])
63
+ end
64
+ end
65
+ end
66
+
67
+ end # writeHtml
68
+ end # Html_AssociatedResource
69
+
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,201 @@
1
+ # HTML writer
2
+ # attribute
3
+
4
+ # History:
5
+ # Stan Smith 2017-04-02 original script
6
+
7
+ require_relative 'html_identifier'
8
+ require_relative 'html_rangeElementDescription'
9
+
10
+ module ADIWG
11
+ module Mdtranslator
12
+ module Writers
13
+ module Simple_html
14
+
15
+ class Html_Attribute
16
+
17
+ def initialize(html)
18
+ @html = html
19
+ end
20
+
21
+ def writeHtml(hAttribute)
22
+ # classes used
23
+ identifierClass = Html_Identifier.new(@html)
24
+ rangeElementDescriptionClass = Html_RangeElementDescription.new(@html)
25
+
26
+ # attribute - sequence identifier
27
+ unless hAttribute[:sequenceIdentifier].nil?
28
+ @html.em('Sequence Identifier: ')
29
+ @html.text!(hAttribute[:sequenceIdentifier])
30
+ @html.br
31
+ end
32
+
33
+ # attribute - sequence identifier type
34
+ unless hAttribute[:sequenceIdentifierType].nil?
35
+ @html.em('Sequence Identifier Type: ')
36
+ @html.text!(hAttribute[:sequenceIdentifierType])
37
+ @html.br
38
+ end
39
+
40
+ # attribute - attribute description
41
+ unless hAttribute[:attributeDescription].nil?
42
+ @html.em('Attribute Description:')
43
+ @html.div(:class => 'block') do
44
+ @html.text!(hAttribute[:attributeDescription])
45
+ end
46
+ end
47
+
48
+ # attribute - attribute identifiers [] {identifier}
49
+ hAttribute[:attributeIdentifiers].each do |hIdentifier|
50
+ @html.div do
51
+ @html.h5('Identifier', 'class' => 'h5')
52
+ @html.div(:class => 'block') do
53
+ identifierClass.writeHtml(hIdentifier)
54
+ end
55
+ end
56
+ end
57
+
58
+ # attribute - minimum value
59
+ unless hAttribute[:minValue].nil?
60
+ @html.em('Minimum Value: ')
61
+ @html.text!(hAttribute[:minValue].to_s)
62
+ @html.br
63
+ end
64
+
65
+ # attribute - maximum value
66
+ unless hAttribute[:maxValue].nil?
67
+ @html.em('Maximum Value: ')
68
+ @html.text!(hAttribute[:maxValue].to_s)
69
+ @html.br
70
+ end
71
+
72
+ # attribute - units
73
+ unless hAttribute[:units].nil?
74
+ @html.em('Units: ')
75
+ @html.text!(hAttribute[:units])
76
+ @html.br
77
+ end
78
+
79
+ # attribute - scale factor
80
+ unless hAttribute[:scaleFactor].nil?
81
+ @html.em('Scale Factor: ')
82
+ @html.text!(hAttribute[:scaleFactor].to_s)
83
+ @html.br
84
+ end
85
+
86
+ # attribute - offset
87
+ unless hAttribute[:offset].nil?
88
+ @html.em('Offset: ')
89
+ @html.text!(hAttribute[:offset].to_s)
90
+ @html.br
91
+ end
92
+
93
+ # attribute - mean value
94
+ unless hAttribute[:meanValue].nil?
95
+ @html.em('Mean Value: ')
96
+ @html.text!(hAttribute[:meanValue].to_s)
97
+ @html.br
98
+ end
99
+
100
+ # attribute - number of values
101
+ unless hAttribute[:numberOfValues].nil?
102
+ @html.em('Number of Values: ')
103
+ @html.text!(hAttribute[:numberOfValues].to_s)
104
+ @html.br
105
+ end
106
+
107
+ # attribute - standard deviation
108
+ unless hAttribute[:standardDeviation].nil?
109
+ @html.em('Standard Deviation: ')
110
+ @html.text!(hAttribute[:standardDeviation].to_s)
111
+ @html.br
112
+ end
113
+
114
+ # attribute - bits per value
115
+ unless hAttribute[:bitsPerValue].nil?
116
+ @html.em('Bits Per Value: ')
117
+ @html.text!(hAttribute[:bitsPerValue].to_s)
118
+ @html.br
119
+ end
120
+
121
+ # attribute - range element description
122
+ hAttribute[:rangeElementDescription].each do |red|
123
+ @html.div do
124
+ @html.h5('Range Element Description', 'class' => 'h5')
125
+ @html.div(:class => 'block') do
126
+ rangeElementDescriptionClass.writeHtml(red)
127
+ end
128
+ end
129
+ end
130
+
131
+ # attribute - bound minimum
132
+ unless hAttribute[:boundMinimum].nil?
133
+ @html.em('Bound Minimum: ')
134
+ @html.text!(hAttribute[:boundMinimum].to_s)
135
+ @html.br
136
+ end
137
+
138
+ # attribute - bound maximum
139
+ unless hAttribute[:boundMaximum].nil?
140
+ @html.em('Bound Maximum: ')
141
+ @html.text!(hAttribute[:boundMaximum].to_s)
142
+ @html.br
143
+ end
144
+
145
+ # attribute - peak response
146
+ unless hAttribute[:peakResponse].nil?
147
+ @html.em('Peak Response: ')
148
+ @html.text!(hAttribute[:peakResponse].to_s)
149
+ @html.br
150
+ end
151
+
152
+ # attribute - tone gradations
153
+ unless hAttribute[:toneGradations].nil?
154
+ @html.em('Tone Gradations: ')
155
+ @html.text!(hAttribute[:toneGradations].to_s)
156
+ @html.br
157
+ end
158
+
159
+ # attribute - band boundary definitions
160
+ unless hAttribute[:bandBoundaryDefinition].nil?
161
+ @html.em('Band Boundary Definition:')
162
+ @html.div(:class => 'block') do
163
+ @html.text!(hAttribute[:bandBoundaryDefinition])
164
+ end
165
+ end
166
+
167
+ # attribute - nominal spatial resolution
168
+ unless hAttribute[:nominalSpatialResolution].nil?
169
+ @html.em('Nominal Spatial Resolution: ')
170
+ @html.text!(hAttribute[:nominalSpatialResolution].to_s)
171
+ @html.br
172
+ end
173
+
174
+ # attribute - transfer function type
175
+ unless hAttribute[:transferFunctionType].nil?
176
+ @html.em('Transfer Function Type: ')
177
+ @html.text!(hAttribute[:transferFunctionType])
178
+ @html.br
179
+ end
180
+
181
+ # attribute - transmitted polarization
182
+ unless hAttribute[:transmittedPolarization].nil?
183
+ @html.em('Transmitted Polarization: ')
184
+ @html.text!(hAttribute[:transmittedPolarization])
185
+ @html.br
186
+ end
187
+
188
+ # attribute - detected polarization
189
+ unless hAttribute[:detectedPolarization].nil?
190
+ @html.em('Detected Polarization: ')
191
+ @html.text!(hAttribute[:detectedPolarization])
192
+ @html.br
193
+ end
194
+
195
+ end # writeHtml
196
+ end # Html_Attribute
197
+
198
+ end
199
+ end
200
+ end
201
+ end
@@ -0,0 +1,51 @@
1
+ # HTML writer
2
+ # attribute group
3
+
4
+ # History:
5
+ # Stan Smith 2017-04-02 refactored for mdTranslator 2.0
6
+ # Stan Smith 2015-08-21 original script
7
+
8
+ require_relative 'html_attribute'
9
+
10
+ module ADIWG
11
+ module Mdtranslator
12
+ module Writers
13
+ module Simple_html
14
+
15
+ class Html_AttributeGroup
16
+
17
+ def initialize(html)
18
+ @html = html
19
+ end
20
+
21
+ def writeHtml(hGroup)
22
+
23
+ # classes used
24
+ attributeClass = Html_Attribute.new(@html)
25
+
26
+ # attribute group - content type [] {CoverageContentTypeCode}
27
+ hGroup[:attributeContentTypes].each do |type|
28
+ @html.em('Content Type: ')
29
+ @html.text!(type)
30
+ @html.br
31
+ end
32
+
33
+ # attribute group - attribute [] {attribute}
34
+ counter = 0
35
+ hGroup[:attributes].each do |hAttribute|
36
+ @html.div do
37
+ counter += 1
38
+ @html.h5('Attribute '+counter.to_s, {'class' => 'h5'})
39
+ @html.div(:class => 'block') do
40
+ attributeClass.writeHtml(hAttribute)
41
+ end
42
+ end
43
+ end
44
+
45
+ end # writeHtml
46
+ end # Html_AttributeGroup
47
+
48
+ end
49
+ end
50
+ end
51
+ end