lib/adiwg/mdtranslator/writers/html/sections/html_metadataInfo.rb in adiwg-mdtranslator-1.4.0 vs lib/adiwg/mdtranslator/writers/html/sections/html_metadataInfo.rb in adiwg-mdtranslator-2.0.0rc2

- old
+ new

@@ -1,147 +1,178 @@ # HTML writer # metadata information section # History: +# Stan Smith 2017-03-23 refactored for mdTranslator 2.0 +# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS +# Stan Smith 2016-06-12 added metadata character set # Stan Smith 2015-03-24 original script -# Stan Smith 2016-06-12 added metadata character set -# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS +require_relative 'html_identifier' require_relative 'html_citation' -require_relative 'html_responsibleParty' -require_relative 'html_dateTime' -require_relative 'html_resourceMaint' +require_relative 'html_locale' +require_relative 'html_responsibility' +require_relative 'html_date' +require_relative 'html_onlineResource' +require_relative 'html_maintenance' module ADIWG - module Mdtranslator - module Writers - module Html + module Mdtranslator + module Writers + module Html - class MdHtmlMetadataInfo - def initialize(html) - @html = html - end + class Html_MetadataInfo - def writeHtml(hMetaInfo) + def initialize(html) + @html = html + end - # classes used - htmlCitation = MdHtmlCitation.new(@html) - htmlResParty = MdHtmlResponsibleParty.new(@html) - htmlDateTime = MdHtmlDateTime.new(@html) - htmlResMaint = MdHtmlResourceMaintenance.new(@html) + def writeHtml(hMetaInfo) - # metadata identifier - id = hMetaInfo[:metadataId][:identifier] - if id - @html.details do - @html.summary('Metadata Identifier', {'id'=>'metadata-identifier', 'class'=>'h3'}) - @html.section(:class=>'block') do - @html.em('Identifier:') - @html.text!(id) - @html.br + # classes used + identifierClass = Html_Identifier.new(@html) + citationClass = Html_Citation.new(@html) + localeClass = Html_Locale.new(@html) + responsibilityClass = Html_Responsibility.new(@html) + dateClass = Html_Date.new(@html) + onlineClass = Html_OnlineResource.new(@html) + maintClass = Html_Maintenance.new(@html) - type = hMetaInfo[:metadataId][:identifierType] - if type - @html.em('Identifier type:') - @html.text!(type) - @html.br - end - end - end + # metadataInfo - metadata status + unless hMetaInfo[:metadataStatus].nil? + @html.em('Metadata Status: ') + @html.text!(hMetaInfo[:metadataStatus]) + @html.br + end + + # metadataInfo - metadata identifier {identifier} + unless hMetaInfo[:metadataIdentifier].empty? + @html.details do + @html.summary('Metadata Identifier', {'id' => 'metadataInfo-identifier', 'class' => 'h3'}) + @html.section(:class => 'block') do + identifierClass.writeHtml(hMetaInfo[:metadataIdentifier]) end + end + end - # metadata information - @html.details do - @html.summary('Metadata Record Information', {'id'=>'metadata-recordInfo', 'class'=>'h3'}) - @html.section(:class=>'block') do + # metadataInfo - parent metadata {citation} + unless hMetaInfo[:parentMetadata].empty? + @html.details do + @html.summary('Parent Metadata', {'id' => 'metadataInfo-parent', 'class' => 'h3'}) + @html.section(:class => 'block') do + citationClass.writeHtml(hMetaInfo[:parentMetadata]) + end + end + end - # metadata URI - s = hMetaInfo[:metadataURI] - if s - @html.em('Metadata URI: ') - @html.section(:class=>'block') do - @html.a(s, 'href'=>s) - end - end + # metadataInfo - metadata locales + unless hMetaInfo[:defaultMetadataLocale].empty? && hMetaInfo[:otherMetadataLocales].empty? + @html.details do + @html.summary('Metadata Locales', {'id' => 'metadataInfo-locale', 'class' => 'h3'}) + @html.section(:class => 'block') do - # metadata create date - hDate = hMetaInfo[:metadataCreateDate] - if !hDate.empty? - @html.em('Metadata creation: ') - htmlDateTime.writeHtml(hDate) - end + # default metadata locales {locale} + unless hMetaInfo[:defaultMetadataLocale].empty? + @html.details do + @html.summary('Default Locale', {'class' => 'h5'}) + @html.section(:class => 'block') do + localeClass.writeHtml(hMetaInfo[:defaultMetadataLocale]) + end + end + end - # metadata update date - hDate = hMetaInfo[:metadataUpdateDate] - if !hDate.empty? - @html.em('Metadata update: ') - htmlDateTime.writeHtml(hDate) - end + # other metadata locales [] {locale} + hMetaInfo[:otherMetadataLocales].each do |hLocale| + @html.details do + @html.summary('Other Locale', {'class' => 'h5'}) + @html.section(:class => 'block') do + localeClass.writeHtml(hLocale) + end + end + end - # metadata characterSet - s = hMetaInfo[:metadataCharacterSet] - if s - @html.em('Metadata character set: ') - @html.text!(s) - @html.br - end + end + end + end - # metadata locale - aLocale = hMetaInfo[:metadataLocales] - aLocale.each do |hLocale| - @html.em('Metadata language: ') - @html.text!(hLocale[:languageCode]) - @html.em(' country: ') - @html.text!(hLocale[:countryCode]) - @html.em(' characterSet encoding: ') - @html.text!(hLocale[:characterEncoding]) - @html.br - end + # metadataInfo - contacts [] {responsibility} + unless hMetaInfo[:metadataContacts].empty? + @html.details do + @html.summary('Metadata Contacts', {'id' => 'metadataInfo-contacts', 'class' => 'h3'}) + @html.section(:class => 'block') do + hMetaInfo[:metadataContacts].each do |hResponsibility| + @html.details do + @html.summary(hResponsibility[:roleName], 'class' => 'h5') + @html.section(:class => 'block') do + responsibilityClass.writeHtml(hResponsibility) + end + end + end + end + end + end - # metadata status - s = hMetaInfo[:metadataStatus] - if s - @html.em('Metadata status: ') - @html.text!(s) - @html.br - end + # metadataInfo - dates [] {date} + unless hMetaInfo[:metadataDates].empty? + @html.details do + @html.summary('Metadata Dates', {'id' => 'metadataInfo-dates', 'class' => 'h3'}) + @html.section(:class => 'block') do + hMetaInfo[:metadataDates].each do |hDate| + @html.em('Date: ') + dateClass.writeHtml(hDate) + @html.br + end + end + end + end - # metadata custodians - contacts - aCustodians = hMetaInfo[:metadataCustodians] - if !aCustodians.empty? - @html.em('Metadata contact: ') - @html.section(:class=>'block') do - aCustodians.each do |hResParty| - htmlResParty.writeHtml(hResParty) - end - end - end + # metadataInfo - linkages [] {onlineResource} + unless hMetaInfo[:metadataLinkages].empty? + @html.details do + @html.summary('Metadata Online Resource', {'id' => 'metadataInfo-links', 'class' => 'h3'}) + @html.section(:class => 'block') do + hMetaInfo[:metadataLinkages].each do |hOnline| + @html.details do + @html.summary('Online Resource', {'class' => 'h5'}) + @html.section(:class => 'block') do + onlineClass.writeHtml(hOnline) + end + end + end + end + end + end - # metadata maintenance - hMaint = hMetaInfo[:maintInfo] - if !hMaint.empty? - @html.em('Metadata maintenance: ') - htmlResMaint.writeHtml(hMaint) - end - - end + # metadataInfo - maintenance {maintenance} + unless hMetaInfo[:metadataMaintenance].empty? + @html.details do + @html.summary('Metadata Maintenance', {'id' => 'metadataInfo-maintenance', 'class' => 'h3'}) + @html.section(:class => 'block') do + maintClass.writeHtml(hMetaInfo[:metadataMaintenance]) end + end + end - # parent metadata - citation - hParent = hMetaInfo[:parentMetadata] - unless hParent.empty? - @html.details do - @html.summary('Parent Metadata Citation', {'id'=>'metadata-parentInfo', 'class'=>'h3'}) - @html.section(:class=>'block') do - htmlCitation.writeHtml(hMetaInfo[:parentMetadata]) - end - end + # metadataInfo - alternate metadata references [] {citation} + unless hMetaInfo[:alternateMetadataReferences].empty? + @html.details do + @html.summary('Alternate Metadata Citations', {'id' => 'metadataInfo-alternate', 'class' => 'h3'}) + @html.section(:class => 'block') do + hMetaInfo[:alternateMetadataReferences].each do |hCitation| + @html.details do + @html.summary(hCitation[:title], 'class' => 'h5') + @html.section(:class => 'block') do + citationClass.writeHtml(hCitation) + end + end + end end + end + end - end # writeHtml + end # writeHtml + end # Html_MetadataInfo - end # class - - end - end - end + end + end + end end