class Ddr::Models::Structure
Wraps a Nokogiri (XML) Document
Public Class Methods
new(xml_doc=nil)
click to toggle source
Calls superclass method
# File lib/ddr/models/structure.rb, line 8 def initialize(xml_doc=nil) super end
Private Class Methods
template()
click to toggle source
# File lib/ddr/models/structure.rb, line 52 def self.template Nokogiri::XML( '<mets xmlns="http://www.loc.gov/METS/" xmlns:xlink="http://www.w3.org/1999/xlink"> <structMap TYPE="default" /> </mets>' ) do |config| config.noblanks end end
Public Instance Methods
as_xml_document()
click to toggle source
# File lib/ddr/models/structure.rb, line 32 def as_xml_document __getobj__ end
default_struct_map()
click to toggle source
# File lib/ddr/models/structure.rb, line 16 def default_struct_map struct_maps['default'] || struct_maps[struct_maps.keys.first] end
default_struct_map_ids()
click to toggle source
# File lib/ddr/models/structure.rb, line 20 def default_struct_map_ids default_struct_map.pids end
fptr_nodes(type='default')
click to toggle source
# File lib/ddr/models/structure.rb, line 28 def fptr_nodes(type='default') structMap_node(type).xpath('//xmlns:fptr') end
structMap_node(type='default')
click to toggle source
# File lib/ddr/models/structure.rb, line 24 def structMap_node(type='default') xpath("//xmlns:structMap[@TYPE='#{type}']").first end
struct_maps()
click to toggle source
# File lib/ddr/models/structure.rb, line 12 def struct_maps @struct_maps ||= build_struct_maps(structMap_nodes) end
Private Instance Methods
build_struct_maps(structMap_nodes)
click to toggle source
# File lib/ddr/models/structure.rb, line 42 def build_struct_maps(structMap_nodes) smaps = {} structMap_nodes.each do |structMap_node| type = structMap_node['TYPE'] || 'default' raise StandardError, "Multiple '#{type}' structMaps" if smaps[type].present? smaps[type] = Ddr::Models::StructDiv.new(structMap_node) end smaps end
structMap_nodes()
click to toggle source
# File lib/ddr/models/structure.rb, line 38 def structMap_nodes xpath("//xmlns:structMap") end