Module: Libis::Tools::Metadata::Mappers::Kuleuven
- Included in:
- Flandrica
- Defined in:
- lib/libis/tools/metadata/mappers/kuleuven.rb
Overview
Mixin for Libis::Tools::Metadata::MarcRecord to enable conversion into DublinCoreRecord. This module implements the conversion mapping for KU Leuven.
Instance Method Summary collapse
-
#to_dc(label = nil) ⇒ ::Libis::Tools::Metadata::DublinCoreRecord
Main conversion method.
Instance Method Details
#to_dc(label = nil) ⇒ ::Libis::Tools::Metadata::DublinCoreRecord
Main conversion method.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/libis/tools/metadata/mappers/kuleuven.rb', line 20 def to_dc(label = nil) assert(self.is_a? Libis::Tools::Metadata::MarcRecord) doc = Libis::Tools::Metadata::DublinCoreRecord.new do |xml| marc2dc_identifier(xml, label) marc2dc_title(xml) marc2dc_ispartof(xml) marc2dc_alternative(xml) marc2dc_creator(xml) marc2dc_subject(xml) marc2dc_temporal(xml) marc2dc_description(xml) marc2dc_isversionof(xml) marc2dc_abstract(xml) marc2dc_tableofcontents(xml) marc2dc_available(xml) marc2dc_haspart(xml) marc2dc_contributor(xml) marc2dc_provenance(xml) marc2dc_publisher(xml) marc2dc_date(xml) marc2dc_type(xml) marc2dc_spatial(xml) marc2dc_extent(xml) marc2dc_accrualperiodicity(xml) marc2dc_format(xml) marc2dc_medium(xml) marc2dc_relation(xml) marc2dc_replaces(xml) marc2dc_hasversion(xml) marc2dc_source(xml) marc2dc_language(xml) marc2dc_rightsholder(xml) marc2dc_references(xml) marc2dc_isreferencedby(xml) marc2dc_coverage(xml) end # deduplicate the XML found = Set.new doc.root.children.each { |node| node.unlink unless found.add?(node.to_xml) } doc end |