lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb in adiwg-mdtranslator-2.4.0 vs lib/adiwg/mdtranslator/writers/html/sections/html_entity.rb in adiwg-mdtranslator-2.5.0
- old
+ new
@@ -1,16 +1,18 @@
# HTML writer
# entity
# History:
+# Stan Smith 2017-11-03 added new elements to support fgdc
# Stan Smith 2017-04-05 refactored for mdTranslator 2.0
# Stan Smith 2015-07-16 refactored to remove global namespace $HtmlNS
# Stan Smith 2015-03-26 original script
require_relative 'html_entityIndex'
require_relative 'html_entityAttribute'
require_relative 'html_entityForeignKey'
+require_relative 'html_citation'
module ADIWG
module Mdtranslator
module Writers
module Html
@@ -19,94 +21,146 @@
def initialize(html)
@html = html
end
- def writeHtml(hEntity)
+ def writeHtml(aEntities)
- # classes used
- indexClass = Html_EntityIndex.new(@html)
- attributeClass = Html_EntityAttribute.new(@html)
- foreignClass = Html_EntityForeignKey.new(@html)
+ aEntities.each do |hEntity|
- # entity - entity id
- unless hEntity[:entityId].nil?
- @html.em('ID: ')
- @html.text!(hEntity[:entityId])
- @html.br
- end
+ # classes used
+ indexClass = Html_EntityIndex.new(@html)
+ attributeClass = Html_EntityAttribute.new(@html)
+ foreignClass = Html_EntityForeignKey.new(@html)
+ citationClass = Html_Citation.new(@html)
- # entity - name
- unless hEntity[:entityName].nil?
- @html.em('Name: ')
- @html.text!(hEntity[:entityName])
- @html.br
- end
+ eName = 'entity'
+ eName = hEntity[:entityCode] unless hEntity[:entityCode].nil?
+ eName = hEntity[:entityName] unless hEntity[:entityName].nil?
- # entity - code
- unless hEntity[:entityCode].nil?
- @html.em('Code: ')
- @html.text!(hEntity[:entityCode])
- @html.br
- end
+ @html.details do
+ @html.summary(eName, {'class' => 'h5'})
+ @html.section(:class => 'block') do
- # entity - alias names
- hEntity[:entityAlias].each do |otherName|
- @html.em('Alias: ')
- @html.section(:class => 'block') do
- @html.text!(otherName)
- end
- end
+ # entity - entity id
+ unless hEntity[:entityId].nil?
+ @html.em('ID: ')
+ @html.text!(hEntity[:entityId])
+ @html.br
+ end
- # entity - definition
- unless hEntity[:entityDefinition].nil?
- @html.em('Definition: ')
- @html.section(:class => 'block') do
- @html.text!(hEntity[:entityDefinition])
- end
- end
+ # entity - name
+ unless hEntity[:entityName].nil?
+ @html.em('Name: ')
+ @html.text!(hEntity[:entityName])
+ @html.br
+ end
- # entity - primary key
- unless hEntity[:primaryKey].empty?
- @html.em('Primary Key Attribute(s):')
- @html.section(:class => 'block') do
- hEntity[:primaryKey].each do |attribute|
- @html.text!(attribute)
- @html.br
- end
- end
- end
+ # entity - code
+ unless hEntity[:entityCode].nil?
+ @html.em('Code: ')
+ @html.text!(hEntity[:entityCode])
+ @html.br
+ end
- # entity - indexes [] {entityIndex}
- hEntity[:indexes].each do |hIndex|
- @html.details do
- @html.summary('Index: '+hIndex[:indexCode], {'class' => 'h5'})
- @html.section(:class => 'block') do
- indexClass.writeHtml(hIndex)
- end
- end
- end
+ # entity - alias names
+ hEntity[:entityAlias].each do |otherName|
+ @html.em('Alias: ')
+ @html.section(:class => 'block') do
+ @html.text!(otherName)
+ end
+ end
- # entity - attributes [] {entityAttribute}
- hEntity[:attributes].each do |hAttribute|
- @html.details do
- @html.summary('Attribute: '+hAttribute[:attributeCode], {'class' => 'h5'})
- @html.section(:class => 'block') do
- attributeClass.writeHtml(hAttribute)
- end
- end
- end
+ # entity - definition
+ unless hEntity[:entityDefinition].nil?
+ @html.em('Definition: ')
+ @html.section(:class => 'block') do
+ @html.text!(hEntity[:entityDefinition])
+ end
+ end
- # entity - foreign keys [] {entityForeignKey}
- hEntity[:foreignKeys].each do |hForeign|
- @html.details do
- @html.summary('ForeignKey', {'class' => 'h5'})
- @html.section(:class => 'block') do
- foreignClass.writeHtml(hForeign)
+ # entity - primary key
+ unless hEntity[:primaryKey].empty?
+ @html.em('Primary Key Attribute(s):')
+ @html.section(:class => 'block') do
+ hEntity[:primaryKey].each do |attribute|
+ @html.text!(attribute)
+ @html.br
+ end
+ end
+ end
+
+ # entity - field separator character
+ unless hEntity[:fieldSeparatorCharacter].nil?
+ @html.em('Field Separator Character: ')
+ @html.text!(hEntity[:fieldSeparatorCharacter])
+ @html.br
+ end
+
+ # entity - number of header lines
+ unless hEntity[:numberOfHeaderLines].nil?
+ @html.em('Number of Header Lines: ')
+ @html.text!(hEntity[:numberOfHeaderLines].to_s)
+ @html.br
+ end
+
+ # entity - quote character
+ unless hEntity[:quoteCharacter].nil?
+ @html.em('Quote Character: ')
+ @html.text!(hEntity[:quoteCharacter])
+ @html.br
+ end
+
+ # entity - indexes [] {entityIndex}
+ hEntity[:indexes].each do |hIndex|
+ iName = 'index'
+ iName = hIndex[:indexCode] unless hIndex[:indexCode].nil?
+ iName = hIndex[:indexName] unless hIndex[:indexName].nil?
+ @html.details do
+ @html.summary('Index: '+iName, {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ indexClass.writeHtml(hIndex)
+ end
+ end
+ end
+
+ # entity - foreign keys [] {entityForeignKey}
+ hEntity[:foreignKeys].each do |hForeign|
+ @html.details do
+ @html.summary('ForeignKey', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ foreignClass.writeHtml(hForeign)
+ end
+ end
+ end
+
+ # entity - entity reference [] {citation}
+ hEntity[:entityReferences].each do |hReference|
+ @html.details do
+ @html.summary('Reference', {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ citationClass.writeHtml(hReference)
+ end
+ end
+ end
+
+ # entity - attributes [] {entityAttribute}
+ hEntity[:attributes].each do |hAttribute|
+ aName = 'attribute'
+ aName = hAttribute[:attributeCode] unless hAttribute[:attributeCode].nil?
+ aName = hAttribute[:attributeName] unless hAttribute[:attributeName].nil?
+ @html.details do
+ @html.summary('Attribute: '+aName, {'class' => 'h5'})
+ @html.section(:class => 'block') do
+ attributeClass.writeHtml(hAttribute)
+ end
+ end
+ end
+
end
end
- end
+ end # aEntity
end # writeHtml
end # Html_Entity
end
end