# HTML writer # data attribute # History: # Stan Smith 2017-11-03 added new elements for fgdc # Stan Smith 2017-04-05 refactored for mdTranslator 2.0 # Stan Smith 2015-03-26 original script require_relative 'html_timePeriod' require_relative 'html_citation' module ADIWG module Mdtranslator module Writers module Simple_html class Html_EntityAttribute def initialize(html) @html = html end def writeHtml(hAttribute) # classes used periodClass = Html_TimePeriod.new(@html) citationClass = Html_Citation.new(@html) # entity attribute - common name unless hAttribute[:attributeName].nil? @html.em('Name: ') @html.text!(hAttribute[:attributeName]) @html.br end # entity attribute - code name unless hAttribute[:attributeCode].nil? @html.em('Code: ') @html.text!(hAttribute[:attributeCode]) @html.br end # entity attribute - aliases hAttribute[:attributeAlias].each do |otherName| @html.em('Alias: ') @html.text!(otherName) @html.br end # entity attribute - definition unless hAttribute[:attributeDefinition].nil? @html.em('Definition: ') @html.div(:class => 'block') do @html.text!(hAttribute[:attributeDefinition]) end end # entity attribute - datatype unless hAttribute[:dataType].nil? @html.em('Datatype: ') @html.text!(hAttribute[:dataType]) @html.br end # entity attribute - allow nulls {Boolean} @html.em('Allow NULL Values: ') @html.text!(hAttribute[:allowNull].to_s) @html.br # entity attribute - must be unique {Boolean} @html.em('Attribute Values Must Be Unique: ') @html.text!(hAttribute[:mustBeUnique].to_s) @html.br # entity attribute - unit of measure unless hAttribute[:unitOfMeasure].nil? @html.em('Unit of Measure: ') @html.text!(hAttribute[:unitOfMeasure]) @html.br end # entity attribute - measure resolution {real} unless hAttribute[:measureResolution].nil? @html.em('Unit of Measure Resolution: ') @html.text!(hAttribute[:measureResolution].to_s) @html.br end # entity attribute - case sensitive {Boolean} @html.em('Value is Case Sensitive: ') @html.text!(hAttribute[:isCaseSensitive].to_s) @html.br # entity attribute - field width {integer} unless hAttribute[:fieldWidth].nil? @html.em('Field Width: ') @html.text!(hAttribute[:fieldWidth].to_s) @html.br end # entity attribute - missing value unless hAttribute[:missingValue].nil? @html.em('Missing Value: ') @html.text!(hAttribute[:missingValue]) @html.br end # entity attribute - domain ID unless hAttribute[:domainId].nil? @html.em('Domain ID: ') @html.text!(hAttribute[:domainId]) @html.br end # entity attribute - minimum value unless hAttribute[:minValue].nil? @html.em('Minimum Value: ') @html.text!(hAttribute[:minValue].to_s) @html.br end # entity attribute - code name unless hAttribute[:maxValue].nil? @html.em('Maximum Value: ') @html.text!(hAttribute[:maxValue].to_s) @html.br end # entity attribute - range of values [] {citation} hAttribute[:valueRange].each do |hRange| @html.div do @html.h5('Range of Values', {'class' => 'h5'}) @html.div(:class => 'block') do # range of values - minimum value unless hRange[:minRangeValue].nil? @html.em('Range Minimum: ') @html.text!(hRange[:minRangeValue].to_s) @html.br end # range of values - maximum value unless hRange[:maxRangeValue].nil? @html.em('Range Maximum: ') @html.text!(hRange[:maxRangeValue].to_s) @html.br end end end end # entity attribute - time period of values {timePeriod} hAttribute[:timePeriod].each do |hPeriod| @html.div do @html.h5('Time Period of Values', {'class' => 'h5'}) @html.div(:class => 'block') do periodClass.writeHtml(hPeriod) end end end # entity attribute - attribute reference {citation} unless hAttribute[:attributeReference].empty? @html.div do @html.h5('Reference', {'class' => 'h5'}) @html.div(:class => 'block') do citationClass.writeHtml(hAttribute[:attributeReference]) end end end end # writeHtml end # Html_EntityAttribute end end end end