class SiSU_XML_Metadata::OAI_PMH
Public Class Methods
new(opt)
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 61 def initialize(opt) @md=SiSU_Param::Parameters.new(opt).get @oai_pmh=[] end
Public Instance Methods
body()
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 79 def body if defined? @md.title.full \ and @md.title.full=~/\S+/ # DublinCore 1 - title @oai_pmh << %{ <dc:title xml:lang="en">#{@md.title.full}</dc:title>\n} end if defined? @md.creator.author \ and @md.creator.author=~/\S+/ # DublinCore 2 - creator/author (author) txt=meta_content_clean(@md.creator.author) @oai_pmh << %{ <dc:author>#{txt}</dc:author>\n} end if defined? @md.classify.subject \ and @md.classify.subject=~/\S+/ # DublinCore 3 - subject (us library of congress, eric or udc, or schema???) txt=meta_content_clean(@md.classify.subject) @oai_pmh << %{ <dc:subject>#{txt}</dc:subject>\n} end if defined? @md.classify.keywords \ and @md.classify.keywords=~/\S+/ txt=meta_content_clean(@md.classify.keywords) @oai_pmh << %{ <dc:keywords>#{txt}</dc:keywords>\n} end if @md.publisher # DublinCore 5 - publisher (current copy published by) txt=meta_content_clean(@md.publisher) @oai_pmh << %{ <dc:publisher>#{txt}</dc:publisher>\n} end if defined? @md.creator.contributor \ and @md.creator.contributor=~/\S+/ # DublinCore 6 - contributor txt=meta_content_clean(@md.creator.contributor) @oai_pmh << %{ <dc:contributor>#{txt}</dc:contributor>\n} end if defined? @md.date.published \ and @md.date.published=~/\S+/ # DublinCore 7 - date year-mm-dd @oai_pmh << %{ <dc:date>#{@md.date.published}</dc:date>\n} end if defined? @md.date.created \ and @md.date.created=~/\S+/ # DublinCore 7 - date.created @oai_pmh << %{ <dc:date_created>#{@md.date.created}</dc:date_created>\n} end if defined? @md.date.issued \ and @md.date.issued=~/\S+/ # DublinCore 7 - date.issued @oai_pmh << %{ <dc:date_issued>#{@md.date.issued}</dc:date_issued>\n} end if defined? @md.date.available \ and @md.date.available=~/\S+/ # DublinCore 7 - date.available @oai_pmh << %{ <dc:date_available>#{@md.date.available}</dc:date_available>\n} end if defined? @md.date.valid \ and @md.date.valid=~/\S+/ # DublinCore 7 - date.valid @oai_pmh << %{ <dc:date_valid>#{@md.date.valid}</dc:date_valid>\n} end if defined? @md.date.modified \ and @md.date.modified=~/\S+/ # DublinCore 7 - date.modified @oai_pmh << %{ <dc:date_modified>#{@md.date.modified}</dc:date_modified>\n} end if defined? @md.notes.description \ and @md.notes.description=~/\S+/ # DublinCore 4 - description txt=meta_content_clean(@md.notes.description) @oai_pmh << %{ <dc:description>#{txt}</dc:description>\n} end if defined? @md.notes.coverage \ and @md.notes.coverage=~/\S+/ # DublinCore 14 - coverage txt=meta_content_clean(@md.notes.coverage) @oai_pmh << %{ <dc:coverage>#{txt}</dc:coverage>\n} end if defined? @md.notes.relation \ and @md.notes.relation=~/\S+/ # DublinCore 13 - relation txt=meta_content_clean(@md.notes.relation) @oai_pmh << %{ <dc:relation>#{txt}</dc:relation>\n} end if defined? @md.notes.type \ and @md.notes.type=~/\S+/ # DublinCore 8 - type txt=meta_content_clean(@md.notes.type) @oai_pmh << %{ <dc:type>#{txt}</dc:type>\n} end if defined? @md.notes.format \ and @md.notes.format=~/\S+/ # DublinCore 9 - format txt=meta_content_clean(@md.notes.format) @oai_pmh << %{ <dc:format>#{txt}</dc:format>\n} end #if defined? @md.identifier.sisupod \ #and @md.identifier.sisupod=~/\S+/ # DublinCore 10 - identifier # txt=meta_content_clean(@md.identifier.sisupod) # @oai_pmh << %{ <dc:identifier>#{txt}</dc:identifier>\n} #end if defined? @md.original.source \ and @md.original.source=~/\S+/ # DublinCore 11 - source txt=meta_content_clean(@md.original.source) @oai_pmh << %{ <dc:source>#{txt}</dc:source>\n} end if defined? @md.title.language \ and @md.title.language=~/\S+/ # DublinCore 12 - language (English) @oai_pmh << %{ <dc:language>#{@md.title.language}</dc:language>\n} end if defined? @md.original.language \ and @md.original.language=~/\S+/ @oai_pmh << %{ <dc:language>#{@md.original.language}</dc:language>\n} end if defined? @md.rights.all \ and @md.rights.all=~/\S+/ # DublinCore 15 - rights txt=meta_content_clean(@md.rights.all) @oai_pmh << %{ <dc:rights>#{txt}</dc:rights>\n} end @oai_pmh end
meta_content_clean(content='')
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 182 def meta_content_clean(content='') unless content.nil? content=content.tr('"',"'") end content end
output()
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 191 def output SiSU_Env::FileOp.new(@md).mkdir oai_pmh=SiSU_Env::FileOp.new(@md,@md.fn[:oai_pmh]).mkfile #implement in param oai_pmh << pre body.each do |x| oai_pmh << x end oai_pmh << post end
post()
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 188 def post '</oai_dc:dc>' end
pre()
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 68 def pre <<WOK <?xml version="1.0" encoding="UTF-8"?> <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> WOK end
read()
click to toggle source
# File lib/sisu/xml_md_oai_pmh_dc.rb, line 65 def read output end