uwdc 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +17 -0
- data/.rspec +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/Guardfile +13 -0
- data/LICENSE.txt +22 -0
- data/README.md +111 -0
- data/Rakefile +7 -0
- data/lib/uwdc.rb +21 -0
- data/lib/uwdc/display.rb +91 -0
- data/lib/uwdc/dublin_core.rb +34 -0
- data/lib/uwdc/file_sec.rb +12 -0
- data/lib/uwdc/mets.rb +195 -0
- data/lib/uwdc/mods.rb +206 -0
- data/lib/uwdc/origin.rb +12 -0
- data/lib/uwdc/rels_ext.rb +15 -0
- data/lib/uwdc/struct_map.rb +12 -0
- data/lib/uwdc/version.rb +3 -0
- data/lib/uwdc/xml.rb +38 -0
- data/spec/fixtures/africa_focus_mets.xml +178 -0
- data/spec/fixtures/artists_books_mets.xml +274 -0
- data/spec/fixtures/publishers_bindings_mets.xml +403 -0
- data/spec/fixtures/untac_archives_mets.xml +205 -0
- data/spec/integration/uwdc_spec.rb +189 -0
- data/spec/models/display_spec.rb +48 -0
- data/spec/models/dublin_core_spec.rb +19 -0
- data/spec/models/file_sec_spec.rb +18 -0
- data/spec/models/mets_spec.rb +40 -0
- data/spec/models/mods_spec.rb +99 -0
- data/spec/models/origin_spec.rb +19 -0
- data/spec/models/rels_ext_spec.rb +18 -0
- data/spec/models/struct_map_spec.rb +18 -0
- data/spec/models/xml_spec.rb +19 -0
- data/spec/spec_helper.rb +29 -0
- data/uwdc.gemspec +29 -0
- metadata +207 -0
data/lib/uwdc/mods.rb
ADDED
@@ -0,0 +1,206 @@
|
|
1
|
+
require 'ostruct'
|
2
|
+
|
3
|
+
module UWDC
|
4
|
+
# Public: Obtain the MODS metadata for a UWDC METS object
|
5
|
+
#
|
6
|
+
# Example
|
7
|
+
#
|
8
|
+
# @mods = UWDC::Mods.new('ECJ6ZXEYWUE7B8W')
|
9
|
+
# # => MODS object fetched from Fedora
|
10
|
+
#
|
11
|
+
# @mods = UWDC::Mods.new('ECJ6ZXEYWUE7B8W', File.read('../file.xml'))
|
12
|
+
# # => object constructed from XML file
|
13
|
+
class Mods < Mets
|
14
|
+
|
15
|
+
# Public: standardized, supported MODS attributes
|
16
|
+
def self.attributes
|
17
|
+
[:titles, :names, :dates, :forms, :abstracts, :subjects, :related_items]
|
18
|
+
end
|
19
|
+
|
20
|
+
# Public: Access the XML nodes of the MODS XML
|
21
|
+
#
|
22
|
+
# Example
|
23
|
+
#
|
24
|
+
# @mods.nodes
|
25
|
+
# # => Nokogiri::XML::NodeSet
|
26
|
+
#
|
27
|
+
# Returns the Nokogiri::XML::NodeSet for the parsed MODS XML
|
28
|
+
def nodes
|
29
|
+
@xml.nodes.xpath("//dmdSec[contains(@ID,'#{@id}')]//mods[1]")
|
30
|
+
end
|
31
|
+
|
32
|
+
# Public: Access the XML nodes of the METS file
|
33
|
+
#
|
34
|
+
# Example
|
35
|
+
#
|
36
|
+
# @mods.metadata
|
37
|
+
# # => {:title => ['A life idyl', ...], ...}
|
38
|
+
#
|
39
|
+
# Returns Hash
|
40
|
+
def metadata
|
41
|
+
attributes = UWDC::Mods.attributes.inject({}) do |result, method|
|
42
|
+
result[method] = self.send(method)
|
43
|
+
result
|
44
|
+
end
|
45
|
+
attributes[:access_conditions] = self.access_conditions
|
46
|
+
attributes
|
47
|
+
end
|
48
|
+
|
49
|
+
# Public: Array of title data
|
50
|
+
#
|
51
|
+
# Example
|
52
|
+
#
|
53
|
+
# @mods.titles
|
54
|
+
# # => ['A life ldyl', ...]
|
55
|
+
#
|
56
|
+
# Returns Array
|
57
|
+
def titles
|
58
|
+
clean_nodes(nodes.xpath("//mods/titleInfo//title"))
|
59
|
+
end
|
60
|
+
|
61
|
+
# Public: Array of roles and nameParts
|
62
|
+
#
|
63
|
+
# Example
|
64
|
+
#
|
65
|
+
# @mods.names
|
66
|
+
# # => [#<OpenStruct name="Foo", role="Bar">, ...]
|
67
|
+
#
|
68
|
+
# @mods.names.first.name
|
69
|
+
# # => "Foo"
|
70
|
+
#
|
71
|
+
# Returns Array of OpenStructs
|
72
|
+
def names
|
73
|
+
nodes.xpath("//mods/name").inject([]){|arr,node| arr << capture_name(node); arr}
|
74
|
+
end
|
75
|
+
|
76
|
+
# Public: Array of dates
|
77
|
+
#
|
78
|
+
# Example
|
79
|
+
#
|
80
|
+
# @mods.dates
|
81
|
+
# # => ["1985", ...]
|
82
|
+
#
|
83
|
+
# Returns Array of Strings
|
84
|
+
def dates
|
85
|
+
clean_nodes(nodes.xpath("//mods/originInfo//dateIssued"))
|
86
|
+
end
|
87
|
+
|
88
|
+
# Public: Array of forms
|
89
|
+
# Example
|
90
|
+
#
|
91
|
+
# @mods.forms
|
92
|
+
# # => ["StillImage", ...]
|
93
|
+
#
|
94
|
+
# Returns Array of Strings
|
95
|
+
def forms
|
96
|
+
clean_nodes(nodes.xpath("//mods/physicalDescription//form"))
|
97
|
+
end
|
98
|
+
|
99
|
+
# Public: Array of abstracts (sometimes translated)
|
100
|
+
# @TODO: support lang here
|
101
|
+
#
|
102
|
+
# Example
|
103
|
+
#
|
104
|
+
# @mods.abstracts
|
105
|
+
# # => ["The man is an entertainer who captured the wild hyena...", ...]
|
106
|
+
#
|
107
|
+
# Returns Array of Strings
|
108
|
+
def abstracts
|
109
|
+
clean_nodes(nodes.xpath("//mods//abstract"))
|
110
|
+
end
|
111
|
+
|
112
|
+
# Public: Array of subject data
|
113
|
+
#
|
114
|
+
# Example
|
115
|
+
#
|
116
|
+
# @mods.subjects
|
117
|
+
# # => ["Delehanty, James", "Animals", ...]
|
118
|
+
#
|
119
|
+
# Returns Array of Strings
|
120
|
+
def subjects
|
121
|
+
clean_nodes(nodes.xpath("//mods/subject//topic"))
|
122
|
+
end
|
123
|
+
|
124
|
+
# Public: Array of geographic subject data
|
125
|
+
# @TODO: subjects_heirarchical_geographic
|
126
|
+
#
|
127
|
+
# Example
|
128
|
+
# @mods.subjects_heirarchical_geographic
|
129
|
+
# # => ["Foo", "Bar", "Baz"]
|
130
|
+
def subjects_heirarchical_geographic
|
131
|
+
end
|
132
|
+
|
133
|
+
# Public: OpenStruct - Terms of Use and Reuse Rights
|
134
|
+
#
|
135
|
+
# Example
|
136
|
+
#
|
137
|
+
# @mods.access_conditions
|
138
|
+
# # => #<OpenStruct rights=["Delehanty, Jim"], reuse=["Delehanty, Jim"]>
|
139
|
+
#
|
140
|
+
# @mods.access_conditions.rights
|
141
|
+
# # => "Delehanty, Jim"
|
142
|
+
#
|
143
|
+
# Retuns an OpenStruct
|
144
|
+
def access_conditions
|
145
|
+
OpenStruct.new(rights: rights, reuse: reuse)
|
146
|
+
end
|
147
|
+
|
148
|
+
# Public: Array of Structs - Related items' label and value
|
149
|
+
#
|
150
|
+
# Example
|
151
|
+
#
|
152
|
+
# @mods.related_items
|
153
|
+
# # => [#<OpenStruct label="Part of", name="Africa Focus">, ...]
|
154
|
+
#
|
155
|
+
# @mods.related_items.first.name
|
156
|
+
# # => "Africa Focus"
|
157
|
+
#
|
158
|
+
# Retuns Array of OpenStruct
|
159
|
+
def related_items
|
160
|
+
nodes.xpath("//mods/relatedItem").inject([]){|arr,node| arr << capture_relation(node) ; arr }
|
161
|
+
end
|
162
|
+
|
163
|
+
# Public: Check MODS for validity
|
164
|
+
# @TODO: Use the UWDC MODS Schema
|
165
|
+
#
|
166
|
+
# Example
|
167
|
+
#
|
168
|
+
# @mods.valid?
|
169
|
+
# # => true
|
170
|
+
#
|
171
|
+
# Returns Boolean
|
172
|
+
def valid?
|
173
|
+
response = http_client.get("http://www.loc.gov/standards/mods/mods.xsd")
|
174
|
+
xsd = Nokogiri::XML::Schema.new(response.body)
|
175
|
+
xml = Nokogiri::XML(nodes.to_xml)
|
176
|
+
xsd.valid?(xml)
|
177
|
+
end
|
178
|
+
|
179
|
+
private
|
180
|
+
|
181
|
+
# Internal: Rights/Ownership String
|
182
|
+
def rights
|
183
|
+
clean_nodes(nodes.xpath("//accessCondition[@type='rightsOwnership']"))
|
184
|
+
end
|
185
|
+
|
186
|
+
# Internal: Reuse Rights String
|
187
|
+
def reuse
|
188
|
+
clean_nodes(nodes.xpath("//accessCondition[@type='useAndReproduction']"))
|
189
|
+
end
|
190
|
+
|
191
|
+
# Internal: Related Label String
|
192
|
+
def related_label(node)
|
193
|
+
node['displayLabel'] ? node['displayLabel'] : "Related item"
|
194
|
+
end
|
195
|
+
|
196
|
+
# Internal: Capture relation metadata
|
197
|
+
def capture_relation(node)
|
198
|
+
OpenStruct.new(label: related_label(node), name: node.xpath('.//name | .//title').text)
|
199
|
+
end
|
200
|
+
|
201
|
+
# Internal: Capture name metadata
|
202
|
+
def capture_name(node)
|
203
|
+
OpenStruct.new(name: node.xpath('.//namePart').text, role: node.xpath('.//role/roleTerm').text)
|
204
|
+
end
|
205
|
+
end
|
206
|
+
end
|
data/lib/uwdc/origin.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
module UWDC
|
2
|
+
# Return the UWDC/PREMIS-ish submitters of a METS file
|
3
|
+
class Origin < Mets
|
4
|
+
def nodes
|
5
|
+
@xml.nodes.xpath("//amdSec[contains(@ID,'#{@id}')]//origin[1]")
|
6
|
+
end
|
7
|
+
|
8
|
+
def submitters
|
9
|
+
clean_nodes(nodes.xpath(".//agentName"))
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module UWDC
|
2
|
+
# Return the CMODELS related to METS file objects
|
3
|
+
class RelsExt < Mets
|
4
|
+
def nodes
|
5
|
+
@xml.nodes.xpath("//amdSec[contains(@ID,'#{@id}')]//RDF[1]")
|
6
|
+
end
|
7
|
+
|
8
|
+
def models
|
9
|
+
nodes.xpath("//amdSec[contains(@ID,'RELS-EXT')]").inject({}) do |result, node|
|
10
|
+
result["#{node.attribute('ID')}"] = pick_attribute(node.xpath(".//hasModel"), 'resource')
|
11
|
+
result
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module UWDC
|
2
|
+
# Return the structure of a METS file
|
3
|
+
class StructMap < Mets
|
4
|
+
def nodes
|
5
|
+
@xml.nodes.xpath("//structMap[contains(@ID,'#{@id}')]")
|
6
|
+
end
|
7
|
+
|
8
|
+
def structure
|
9
|
+
nodes.xpath('div').inject([]){|result, div| result << Div.new(div)}
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/uwdc/version.rb
ADDED
data/lib/uwdc/xml.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
module UWDC
|
2
|
+
# Read or Fetch METS XML files
|
3
|
+
class XML
|
4
|
+
extend HTTPClient::IncludeClient
|
5
|
+
include_http_client
|
6
|
+
|
7
|
+
attr_accessor :xml, :nodes, :status
|
8
|
+
|
9
|
+
def initialize(id, xml=nil, status=nil)
|
10
|
+
@id ||= id
|
11
|
+
@xml,@status = http_xml(xml,status)
|
12
|
+
end
|
13
|
+
|
14
|
+
def http_xml(xml,status)
|
15
|
+
unless xml
|
16
|
+
begin
|
17
|
+
# http://depot.library.wisc.edu:9090/fedora/objects/1711.dl:33QOBSVPJLWEM8S/methods/1711.dl:SDefineFirstClassObject/viewMets
|
18
|
+
#response = http_client.get("http://depot.library.wisc.edu/uwdcutils/METS/1711.dl:#{@id}")
|
19
|
+
response = http_client.get("http://depot.library.wisc.edu:9090/fedora/objects/1711.dl:#{@id}/methods/1711.dl:SDefineFirstClassObject/viewMets")
|
20
|
+
xml = response.body
|
21
|
+
status = response.status
|
22
|
+
rescue TimeoutError, HTTPClient::ConfigurationError, HTTPClient::BadResponseError, Nokogiri::SyntaxError => error
|
23
|
+
exception = error
|
24
|
+
end
|
25
|
+
end
|
26
|
+
[xml,status]
|
27
|
+
end
|
28
|
+
|
29
|
+
def nodes
|
30
|
+
nokogiri_parse(@xml)
|
31
|
+
end
|
32
|
+
|
33
|
+
def nokogiri_parse(xml)
|
34
|
+
nodes = Nokogiri::XML.parse(xml)
|
35
|
+
nodes.remove_namespaces!
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,178 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
2
|
+
<mets OBJID="1711.dl:ECJ6ZXEYWUE7B8W" LABEL="Hyena Wrestler with Muzzled Hyena" xmlns="http://www.loc.gov/METS/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://depot.library.wisc.edu:9090/fedora/get/1711.dl:XMLSchema-METS-1.7/XSD">
|
3
|
+
<metsHdr/>
|
4
|
+
<dmdSec ID="x1711-dl_ECJ6ZXEYWUE7B8W-BIB0">
|
5
|
+
<mdWrap MIMETYPE="text/xml" MDTYPE="MODS" LABEL="MODS">
|
6
|
+
<xmlData>
|
7
|
+
<mods:mods xmlns:mods="http://www.loc.gov/mods/v3">
|
8
|
+
<mods:titleInfo>
|
9
|
+
<mods:title>Hyena Wrestler with Muzzled Hyena</mods:title>
|
10
|
+
</mods:titleInfo>
|
11
|
+
<mods:identifier type="hdl">1711.dl/ECJ6ZXEYWUE7B8W</mods:identifier>
|
12
|
+
<mods:name>
|
13
|
+
<mods:namePart>Delehanty, James</mods:namePart>
|
14
|
+
<mods:role>
|
15
|
+
<mods:roleTerm type="text">Photographer</mods:roleTerm>
|
16
|
+
</mods:role>
|
17
|
+
</mods:name>
|
18
|
+
<mods:subject>
|
19
|
+
<mods:topic>Delehanty, James</mods:topic>
|
20
|
+
</mods:subject>
|
21
|
+
<mods:subject>
|
22
|
+
<mods:topic>Animals</mods:topic>
|
23
|
+
</mods:subject>
|
24
|
+
<mods:subject>
|
25
|
+
<mods:topic>Hyenas</mods:topic>
|
26
|
+
</mods:subject>
|
27
|
+
<mods:subject>
|
28
|
+
<mods:topic>Portraits</mods:topic>
|
29
|
+
</mods:subject>
|
30
|
+
<mods:subject>
|
31
|
+
<mods:topic>Sports</mods:topic>
|
32
|
+
</mods:subject>
|
33
|
+
<mods:subject>
|
34
|
+
<mods:topic>Wrestling</mods:topic>
|
35
|
+
</mods:subject>
|
36
|
+
<mods:subject>
|
37
|
+
<mods:topic>West Africa</mods:topic>
|
38
|
+
</mods:subject>
|
39
|
+
<mods:abstract> The man is an entertainer who captured the wild hyena when it was a cub. He earns his living by wandering from village to village in Central Niger wrestling the hyena for the amusement of the crowd.</mods:abstract>
|
40
|
+
<mods:originInfo>
|
41
|
+
<mods:dateIssued encoding="iso8601">1985</mods:dateIssued>
|
42
|
+
</mods:originInfo>
|
43
|
+
<mods:typeOfResource>still image</mods:typeOfResource>
|
44
|
+
<mods:physicalDescription>
|
45
|
+
<mods:form>StillImage</mods:form>
|
46
|
+
</mods:physicalDescription>
|
47
|
+
<mods:relatedItem displayLabel="Part of" type="host">
|
48
|
+
<mods:titleInfo>
|
49
|
+
<mods:title>Africa Focus</mods:title>
|
50
|
+
</mods:titleInfo>
|
51
|
+
</mods:relatedItem>
|
52
|
+
<mods:accessCondition type="useAndReproduction">Delehanty, Jim</mods:accessCondition>
|
53
|
+
<mods:accessCondition type="rightsOwnership">Delehanty, Jim</mods:accessCondition>
|
54
|
+
<mods:recordInfo>
|
55
|
+
<mods:recordIdentifier>1711.dl:ECJ6ZXEYWUE7B8W.BIB0</mods:recordIdentifier>
|
56
|
+
<mods:recordOrigin>UWDCC</mods:recordOrigin>
|
57
|
+
<mods:recordChangeDate encoding="w3cdtf">2004-08-02</mods:recordChangeDate>
|
58
|
+
<mods:languageOfCataloging>
|
59
|
+
<mods:languageTerm authority="iso639-2b">eng</mods:languageTerm>
|
60
|
+
</mods:languageOfCataloging>
|
61
|
+
</mods:recordInfo>
|
62
|
+
<mods:relatedItem displayLabel="Collection" type="host">
|
63
|
+
<mods:identifier>1711.dl:CollectionAfricaFocus</mods:identifier>
|
64
|
+
<mods:name>Africa Focus: Sights and Sounds of a Continent</mods:name>
|
65
|
+
</mods:relatedItem>
|
66
|
+
</mods:mods>
|
67
|
+
</xmlData>
|
68
|
+
</mdWrap>
|
69
|
+
</dmdSec>
|
70
|
+
<dmdSec ID="x1711-dl_S2OGIJADZCOBF83-DC">
|
71
|
+
<mdWrap MIMETYPE="text/xml" MDTYPE="DC" LABEL="Dublin Core Record for this object">
|
72
|
+
<xmlData>
|
73
|
+
<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" 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">
|
74
|
+
<dc:identifier>1711.dl:S2OGIJADZCOBF83</dc:identifier>
|
75
|
+
</oai_dc:dc>
|
76
|
+
</xmlData>
|
77
|
+
</mdWrap>
|
78
|
+
</dmdSec>
|
79
|
+
<amdSec ID="x1711-dl_ECJ6ZXEYWUE7B8W-ORIGIN">
|
80
|
+
<digiprovMD ID="x1711-dl_ECJ6ZXEYWUE7B8W-ORIGIN-PROV0">
|
81
|
+
<mdWrap MIMETYPE="text/xml" MDTYPE="OTHER" OTHERMDTYPE="UNSPECIFIED" LABEL="ORIGIN">
|
82
|
+
<xmlData>
|
83
|
+
<uwdcProv:origin xmlns:premis="info:lc/xmlns/premis-v2" xmlns:uwdcProv="http://digital.library.wisc.edu/1711.dl/UWDCProv-1.0">
|
84
|
+
<uwdcProv:projectID>AfricaFocus</uwdcProv:projectID>
|
85
|
+
<uwdcProv:localID>2913jd27</uwdcProv:localID>
|
86
|
+
<uwdcProv:submitter>
|
87
|
+
<premis:agent>
|
88
|
+
<premis:agentIdentifier>
|
89
|
+
<premis:agentIdentifierType>UWDC Agent ID</premis:agentIdentifierType>
|
90
|
+
<premis:agentIdentifierValue>UWMadCLSASP</premis:agentIdentifierValue>
|
91
|
+
</premis:agentIdentifier>
|
92
|
+
<premis:agentName>University of Wisconsin--Madison. African Studies Program.</premis:agentName>
|
93
|
+
</premis:agent>
|
94
|
+
</uwdcProv:submitter>
|
95
|
+
</uwdcProv:origin>
|
96
|
+
</xmlData>
|
97
|
+
</mdWrap>
|
98
|
+
</digiprovMD>
|
99
|
+
</amdSec>
|
100
|
+
<amdSec ID="x1711-dl_ECJ6ZXEYWUE7B8W-RELS-EXT">
|
101
|
+
<techMD ID="x1711-dl_ECJ6ZXEYWUE7B8W-RELS-EXT-TECHMD">
|
102
|
+
<mdWrap MIMETYPE="application/rdf+xml" MDTYPE="OTHER" OTHERMDTYPE="UNSPECIFIED" LABEL="Relationships">
|
103
|
+
<xmlData>
|
104
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
105
|
+
|
106
|
+
<rdf:Description rdf:about="info:fedora/1711.dl:ECJ6ZXEYWUE7B8W">
|
107
|
+
<hasMember xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:S2OGIJADZCOBF83"/>
|
108
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelUWDCObject"/>
|
109
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelFirstClassObject"/>
|
110
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelCompositeObject"/>
|
111
|
+
<isMemberOfProject xmlns="http://digital.library.wisc.edu/1711.dl/rdf/1.0/relations#" rdf:resource="hdl:1711.dl/AfricaFocus"/>
|
112
|
+
<isMemberOfCollection xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:CollectionAfricaFocus"/>
|
113
|
+
</rdf:Description>
|
114
|
+
|
115
|
+
</rdf:RDF>
|
116
|
+
</xmlData>
|
117
|
+
</mdWrap>
|
118
|
+
</techMD>
|
119
|
+
</amdSec>
|
120
|
+
<amdSec ID="x1711-dl_S2OGIJADZCOBF83-RELS-EXT">
|
121
|
+
<techMD ID="x1711-dl_S2OGIJADZCOBF83-RELS-EXT-TECHMD">
|
122
|
+
<mdWrap MIMETYPE="application/rdf+xml" MDTYPE="OTHER" OTHERMDTYPE="UNSPECIFIED" LABEL="Relationships">
|
123
|
+
<xmlData>
|
124
|
+
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
125
|
+
|
126
|
+
<rdf:Description rdf:about="info:fedora/1711.dl:S2OGIJADZCOBF83">
|
127
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelUWDCObject"/>
|
128
|
+
<hasModel xmlns="info:fedora/fedora-system:def/model#" rdf:resource="info:fedora/1711.dl:CModelImageWithDefaultRes"/>
|
129
|
+
<isMemberOfProject xmlns="http://digital.library.wisc.edu/1711.dl/rdf/1.0/relations#" rdf:resource="hdl:1711.dl/AfricaFocus"/>
|
130
|
+
<isMemberOf xmlns="info:fedora/fedora-system:def/relations-external#" rdf:resource="info:fedora/1711.dl:ECJ6ZXEYWUE7B8W"/>
|
131
|
+
</rdf:Description>
|
132
|
+
|
133
|
+
</rdf:RDF>
|
134
|
+
</xmlData>
|
135
|
+
</mdWrap>
|
136
|
+
</techMD>
|
137
|
+
</amdSec>
|
138
|
+
<fileSec>
|
139
|
+
<fileGrp ID="x1711-dl_ECJ6ZXEYWUE7B8W-DISSEMINATORS">
|
140
|
+
<file ID="x1711-dl_ECJ6ZXEYWUE7B8W-title" MIMETYPE="text/plain;charset=UTF-8" USE="title">
|
141
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:ECJ6ZXEYWUE7B8W/methods/1711.dl:SDefineUWDCObject/getTitle"/>
|
142
|
+
</file>
|
143
|
+
<file ID="x1711-dl_ECJ6ZXEYWUE7B8W-visualrepresentation" MIMETYPE="image/jpeg" USE="visualrepresentation">
|
144
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:ECJ6ZXEYWUE7B8W/methods/1711.dl:SDefineCompositeObject/getVisualRepresentation"/>
|
145
|
+
</file>
|
146
|
+
</fileGrp>
|
147
|
+
<fileGrp ID="x1711-dl_S2OGIJADZCOBF83-DISSEMINATORS">
|
148
|
+
<file ID="x1711-dl_S2OGIJADZCOBF83-title" MIMETYPE="text/plain;charset=UTF-8" USE="title">
|
149
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:S2OGIJADZCOBF83/methods/1711.dl:SDefineUWDCObject/getTitle"/>
|
150
|
+
</file>
|
151
|
+
<file ID="x1711-dl_S2OGIJADZCOBF83-thumb" MIMETYPE="image/jpeg" USE="thumb">
|
152
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:S2OGIJADZCOBF83/methods/1711.dl:SDefineImageWithDefaultRes/getThumb"/>
|
153
|
+
</file>
|
154
|
+
<file ID="x1711-dl_S2OGIJADZCOBF83-reference" MIMETYPE="image/jpeg" USE="reference">
|
155
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:S2OGIJADZCOBF83/methods/1711.dl:SDefineImageWithDefaultRes/getReference"/>
|
156
|
+
</file>
|
157
|
+
<file ID="x1711-dl_S2OGIJADZCOBF83-large" MIMETYPE="image/jpeg" USE="large">
|
158
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:S2OGIJADZCOBF83/methods/1711.dl:SDefineImageWithDefaultRes/getLarge"/>
|
159
|
+
</file>
|
160
|
+
<file ID="x1711-dl_S2OGIJADZCOBF83-icon" MIMETYPE="image/jpeg" USE="icon">
|
161
|
+
<FLocat LOCTYPE="URL" xlink:type="simple" xlink:href="http://depot.library.wisc.edu/repository/fedora/1711.dl:S2OGIJADZCOBF83/methods/1711.dl:SDefineImageWithIcon/getIcon"/>
|
162
|
+
</file>
|
163
|
+
</fileGrp>
|
164
|
+
</fileSec>
|
165
|
+
<structMap ID="x1711-dl_ECJ6ZXEYWUE7B8W-STRUCTMAP">
|
166
|
+
<div ID="x1711-dl_ECJ6ZXEYWUE7B8W-STRUCT" DMDID="x1711-dl_ECJ6ZXEYWUE7B8W-BIB0" ADMID="x1711-dl_ECJ6ZXEYWUE7B8W-RELS-EXT x1711-dl_ECJ6ZXEYWUE7B8W-ORIGIN">
|
167
|
+
<fptr FILEID="x1711-dl_ECJ6ZXEYWUE7B8W-title"/>
|
168
|
+
<fptr FILEID="x1711-dl_ECJ6ZXEYWUE7B8W-visualrepresentation"/>
|
169
|
+
<div ID="x1711-dl_S2OGIJADZCOBF83-STRUCT" ORDER="1" DMDID="x1711-dl_S2OGIJADZCOBF83-DC" ADMID="x1711-dl_S2OGIJADZCOBF83-RELS-EXT" CONTENTIDS="info:fedora/1711.dl:S2OGIJADZCOBF83">
|
170
|
+
<fptr FILEID="x1711-dl_S2OGIJADZCOBF83-title"/>
|
171
|
+
<fptr FILEID="x1711-dl_S2OGIJADZCOBF83-thumb"/>
|
172
|
+
<fptr FILEID="x1711-dl_S2OGIJADZCOBF83-reference"/>
|
173
|
+
<fptr FILEID="x1711-dl_S2OGIJADZCOBF83-large"/>
|
174
|
+
<fptr FILEID="x1711-dl_S2OGIJADZCOBF83-icon"/>
|
175
|
+
</div>
|
176
|
+
</div>
|
177
|
+
</structMap>
|
178
|
+
</mets>
|