mab2 0.0.4 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rspec +3 -0
- data/Gemfile +17 -3
- data/Rakefile +4 -6
- data/lib/mab2.rb +3 -2
- data/lib/mab2/document.rb +71 -44
- data/lib/mab2/document/scope.rb +91 -31
- data/lib/mab2/version.rb +1 -1
- data/mab2.gemspec +12 -14
- data/{test/mab_files/dsl_2.xml → spec/assets/mab_files/mab.xml} +6 -14
- data/spec/mab2/document/scope/subfield_spec.rb +34 -0
- data/spec/mab2/document/scope_spec.rb +140 -0
- data/spec/mab2/document_spec.rb +52 -0
- data/spec/mab2_spec.rb +2 -0
- data/spec/spec_helper.rb +30 -0
- metadata +51 -79
- data/lib/mab2/aleph_sequential_adapter.rb +0 -10
- data/lib/mab2/document/datafield.rb +0 -15
- data/lib/mab2/document/subfield.rb +0 -10
- data/lib/mab2/mab_xml_adapter.rb +0 -50
- data/test/mab2/test_controlfield.rb +0 -24
- data/test/mab2/test_datafield.rb +0 -131
- data/test/mab_files/PAD01.000806191.PRIMO.xml +0 -216
- data/test/mab_files/PAD01.000978177.PRIMO.xml +0 -203
- data/test/mab_files/dsl_1.xml +0 -14
- data/test/test_helper.rb +0 -12
- data/test/test_mab2.rb +0 -12
@@ -1,15 +0,0 @@
|
|
1
|
-
class Mab2::Document::Datafield
|
2
|
-
|
3
|
-
attr_accessor :indicators, :subfields, :tag
|
4
|
-
|
5
|
-
def initialize(tag, indicators, subfields)
|
6
|
-
@tag = tag
|
7
|
-
@indicators = indicators
|
8
|
-
@subfields = subfields.map { |subfield| Mab2::Document::Subfield.new(subfield) }
|
9
|
-
end
|
10
|
-
|
11
|
-
def get_subfield(code)
|
12
|
-
@subfields.find { |subfield| subfield.name == code.to_sym }
|
13
|
-
end
|
14
|
-
|
15
|
-
end
|
data/lib/mab2/mab_xml_adapter.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'nokogiri'
|
2
|
-
|
3
|
-
class Mab2::MabXmlAdapter
|
4
|
-
|
5
|
-
attr_accessor :controlfields, :datafields
|
6
|
-
|
7
|
-
def initialize(xml)
|
8
|
-
record = Nokogiri::XML(xml).remove_namespaces!.xpath('//OAI-PMH/ListRecords/record/metadata/record')
|
9
|
-
|
10
|
-
@controlfields = controlfields_from_mabxml(record)
|
11
|
-
@datafields = datafields_from_mabxml(record)
|
12
|
-
end
|
13
|
-
|
14
|
-
private
|
15
|
-
|
16
|
-
def controlfields_from_mabxml(mabxml)
|
17
|
-
if mabxml.is_a? Nokogiri::XML::NodeSet
|
18
|
-
mabxml.xpath('//controlfield').inject({}) do |controlfields, xml_node|
|
19
|
-
controlfields[xml_node.attr('tag').to_sym] = xml_node.content
|
20
|
-
|
21
|
-
# return resulting hash for inject's sake
|
22
|
-
controlfields
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def datafields_from_mabxml(mabxml)
|
28
|
-
if mabxml.is_a? Nokogiri::XML::NodeSet
|
29
|
-
mabxml.xpath('//datafield').inject({}) do |datafields, xml_node|
|
30
|
-
tag = xml_node.attr('tag').to_sym
|
31
|
-
ind1 = xml_node.attr('ind1').to_sym
|
32
|
-
ind2 = xml_node.attr('ind2').to_sym
|
33
|
-
|
34
|
-
existing_subfields = datafields[tag].try(:[], ind1).try(:[], ind2)
|
35
|
-
|
36
|
-
datafields[tag] = {
|
37
|
-
ind1 => {
|
38
|
-
ind2 => (existing_subfields.nil? ? [] : existing_subfields).push(xml_node.xpath('subfield').map do |subfield|
|
39
|
-
{ subfield.attr('code').to_sym => subfield.content }
|
40
|
-
end)
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
# return resulting hash for inject's sake
|
45
|
-
datafields
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module TestControlfield
|
2
|
-
|
3
|
-
def test_controlfield_1
|
4
|
-
doc = Mab2::Document.new(load_mab('PAD01.000806191.PRIMO.xml'))
|
5
|
-
assert_equal doc.controlfield('SYS').join, '000806191'
|
6
|
-
end
|
7
|
-
|
8
|
-
def test_controlfield_2
|
9
|
-
doc = Mab2::Document.new(load_mab('PAD01.000806191.PRIMO.xml'))
|
10
|
-
assert_equal doc.controlfield('LDR').at(5), 'v'
|
11
|
-
end
|
12
|
-
|
13
|
-
def test_controlfield_3
|
14
|
-
doc = Mab2::Document.new(load_mab('PAD01.000806191.PRIMO.xml'))
|
15
|
-
assert_equal doc.controlfield('050').at(3), 'c'
|
16
|
-
end
|
17
|
-
|
18
|
-
# accessing non-existing controlfields
|
19
|
-
def test_controlfield_4
|
20
|
-
doc = Mab2::Document.new(load_mab('PAD01.000806191.PRIMO.xml'))
|
21
|
-
assert_equal doc.controlfield('052').at(0), nil
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
data/test/mab2/test_datafield.rb
DELETED
@@ -1,131 +0,0 @@
|
|
1
|
-
module TestDatafield
|
2
|
-
|
3
|
-
#
|
4
|
-
# Synthetic dsl tests
|
5
|
-
#
|
6
|
-
# full blown path, single value
|
7
|
-
def test_dsl_1
|
8
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
9
|
-
assert_equal 'Some string', doc.field('100', ind1: '1', ind2: '2').subfield('a').get.value
|
10
|
-
end
|
11
|
-
|
12
|
-
# missing ind2, single value
|
13
|
-
def test_dsl_1a
|
14
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
15
|
-
assert_equal 'Some string', doc.field('100', ind1: '1').subfield('a').get.value
|
16
|
-
end
|
17
|
-
|
18
|
-
# missing ind1 + ind2, single value
|
19
|
-
def test_dsl_1b
|
20
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
21
|
-
assert_equal 'Some string', doc.field('100').subfield('a').get.value
|
22
|
-
end
|
23
|
-
|
24
|
-
# missing ind1 + ind2, missing subfield, single value
|
25
|
-
def test_dsl_1c
|
26
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
27
|
-
assert_equal 'Some string', doc.field('100').get.value
|
28
|
-
end
|
29
|
-
|
30
|
-
# missing ind1 + ind2, missing subfield, no get, single value
|
31
|
-
def test_dsl_1d
|
32
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
33
|
-
assert_equal 'Some string', doc.field('100').value
|
34
|
-
end
|
35
|
-
|
36
|
-
# missing ind1 + ind2, missing subfield, no get, explicite values
|
37
|
-
def test_dsl_1e
|
38
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
39
|
-
assert_equal ['Some string'], doc.field('100').values
|
40
|
-
end
|
41
|
-
|
42
|
-
# missing ind1 + ind2, missing subfield, get fields
|
43
|
-
def test_dsl_1f
|
44
|
-
doc = Mab2::Document.new(load_mab('dsl_1.xml'))
|
45
|
-
fields = doc.field('100').get.fields
|
46
|
-
assert_equal 'Some string', fields.first.get_subfield('a').value
|
47
|
-
end
|
48
|
-
|
49
|
-
# multiple datafields with same tag
|
50
|
-
def test_dsl_2
|
51
|
-
doc = Mab2::Document.new(load_mab('dsl_2.xml'))
|
52
|
-
assert_equal ["Politik", "Theorie", "(DE-588)4046563-9", "Politiktheorie", "(DE-588)4046563-9", "Politische Theorien", "(DE-588)4046563-9", "Politik", "Theorie", "(DE-588)4046563-9", "Politiktheorie", "(DE-588)4046563-9", "Politische Theorien", "(DE-588)4046563-9"], doc.field('PSW', ind1: '-', ind2: '1').get.values
|
53
|
-
end
|
54
|
-
|
55
|
-
# multiple datafields with same tag, filtered by subfield
|
56
|
-
def test_dsl_2a
|
57
|
-
doc = Mab2::Document.new(load_mab('dsl_2.xml'))
|
58
|
-
assert_equal ["Politik", "Politiktheorie", "Politische Theorien", "Politik", "Politiktheorie", "Politische Theorien"], doc.field('PSW', ind1: '-', ind2: '1').subfield('s').get.values
|
59
|
-
end
|
60
|
-
|
61
|
-
# multiple datafields with same tag, filtered by subfield only existent in two of n datafields
|
62
|
-
def test_dsl_2b
|
63
|
-
doc = Mab2::Document.new(load_mab('dsl_2.xml'))
|
64
|
-
assert_equal ["Theorie", "Theorie"], doc.field('PSW', ind1: '-', ind2: '1').subfield('x').get.values
|
65
|
-
end
|
66
|
-
|
67
|
-
# multiple datafields with same tag, filtered by subfield only existent in two of n datafields, only first value
|
68
|
-
def test_dsl_2c
|
69
|
-
doc = Mab2::Document.new(load_mab('dsl_2.xml'))
|
70
|
-
assert_equal "Theorie", doc.field('PSW', ind1: '-', ind2: '1').subfield('x').get.value
|
71
|
-
end
|
72
|
-
|
73
|
-
#
|
74
|
-
# Real world mab files
|
75
|
-
#
|
76
|
-
|
77
|
-
# ind1 missing
|
78
|
-
def test_datafield_1
|
79
|
-
doc = Mab2::Document.new(load_mab('PAD01.000806191.PRIMO.xml'))
|
80
|
-
assert_equal '20000217', doc.field('LOC', ind2: ' ').subfield('k').get.value
|
81
|
-
end
|
82
|
-
|
83
|
-
# ind1 missing, multi ind2/subfield, first value
|
84
|
-
def test_datafield_2
|
85
|
-
doc = Mab2::Document.new(load_mab('PAD01.000806191.PRIMO.xml'))
|
86
|
-
assert_equal 'Gockel, Simone', doc.field("100", ind2: ['1', '2']).subfield(['a','p','c','n','b']).get.value
|
87
|
-
end
|
88
|
-
|
89
|
-
# ind1/ind2 missing, all values
|
90
|
-
def test_datafield_3
|
91
|
-
doc = Mab2::Document.new(load_mab('PAD01.000978177.PRIMO.xml'))
|
92
|
-
assert_equal ["Bajme, Klaus", "Beyme, Klaus", "Beyme, K. <<von>>", "Bajme, Klaus", "Beyme, Klaus", "Beyme, K. <<von>>"], doc.field('PPE').subfield(['a', 'p']).get.values
|
93
|
-
end
|
94
|
-
|
95
|
-
# ind1 negated '-z' => all but 'z', all values
|
96
|
-
def test_datafield_4
|
97
|
-
doc = Mab2::Document.new(load_mab('PAD01.000978177.PRIMO.xml'))
|
98
|
-
assert_equal ["978-3-518-28569-5"], doc.field('540', ind1: '-z', ind2: '1').subfield('a').get.values
|
99
|
-
end
|
100
|
-
|
101
|
-
# simple fields
|
102
|
-
def test_datafield_5
|
103
|
-
doc = Mab2::Document.new(load_mab('PAD01.000978177.PRIMO.xml'))
|
104
|
-
fields = doc.field('655').subfield(['u', '3', 'z', 't']).get.fields
|
105
|
-
assert_equal 'http://digitool.hbz-nrw.de:1801/webclient/DeliveryManager?pid=2280738&custom_att_2=simple_viewer', fields.first.get_subfield('u').value
|
106
|
-
end
|
107
|
-
|
108
|
-
# iterating over fields
|
109
|
-
def test_datafield_5
|
110
|
-
doc = Mab2::Document.new(load_mab('PAD01.000978177.PRIMO.xml'))
|
111
|
-
fields = doc.field('655').subfield(['u', '3', 'z', 't']).get.fields
|
112
|
-
fields.each do |field|
|
113
|
-
assert_equal 'VIEW', field.get_subfield('t').value
|
114
|
-
assert_equal 'http://digitool.hbz-nrw.de:1801/webclient/DeliveryManager?pid=2280738&custom_att_2=simple_viewer', field.get_subfield('u').value
|
115
|
-
end
|
116
|
-
end
|
117
|
-
|
118
|
-
#def test_datafield_6
|
119
|
-
# doc = Mab2::Document.new(load_mab('PAD01.000978177.PRIMO.xml'))
|
120
|
-
# fields = doc.field('PSW').subfield(['s', '9']).get.fields
|
121
|
-
# binding.pry
|
122
|
-
#end
|
123
|
-
|
124
|
-
# join_subfields
|
125
|
-
#def test_datafield_4
|
126
|
-
# doc = Mab2::Document.new(load_mab('PAD01.000978177.PRIMO.xml'))
|
127
|
-
# w = doc.field('525', ind2: '1').subfield(['p','a']).get.value(join_subfields: ': ')
|
128
|
-
# binding.pry
|
129
|
-
#end
|
130
|
-
|
131
|
-
end
|
@@ -1,216 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
|
3
|
-
<ListRecords>
|
4
|
-
<record>
|
5
|
-
<header>
|
6
|
-
<identifier>aleph-publish:000806191</identifier>
|
7
|
-
</header>
|
8
|
-
<metadata>
|
9
|
-
<record xmlns="http://www.ddb.de/professionell/mabxml/mabxml-1.xsd">
|
10
|
-
<leader>00633vM2.01200024------h</leader>
|
11
|
-
<controlfield tag="LDR">00633vM2.01200024------h</controlfield>
|
12
|
-
<controlfield tag="FMT">MH</controlfield>
|
13
|
-
<datafield tag="001" ind1="-" ind2="1">
|
14
|
-
<subfield code="a">HT010843888</subfield>
|
15
|
-
</datafield>
|
16
|
-
<datafield tag="002" ind1="a" ind2="1">
|
17
|
-
<subfield code="a">19990825</subfield>
|
18
|
-
</datafield>
|
19
|
-
<datafield tag="003" ind1="-" ind2="1">
|
20
|
-
<subfield code="a">20070216</subfield>
|
21
|
-
</datafield>
|
22
|
-
<datafield tag="021" ind1="b" ind2="1">
|
23
|
-
<subfield code="a">HT010843875</subfield>
|
24
|
-
</datafield>
|
25
|
-
<controlfield tag="030">a|1uc||||||17</controlfield>
|
26
|
-
<datafield tag="036" ind1="a" ind2="1">
|
27
|
-
<subfield code="a">DE</subfield>
|
28
|
-
</datafield>
|
29
|
-
<datafield tag="037" ind1="b" ind2="1">
|
30
|
-
<subfield code="a">ger</subfield>
|
31
|
-
</datafield>
|
32
|
-
<controlfield tag="050">|||c||||||||||</controlfield>
|
33
|
-
<controlfield tag="051">sy||||||</controlfield>
|
34
|
-
<datafield tag="070" ind1="-" ind2="1">
|
35
|
-
<subfield code="a">294</subfield>
|
36
|
-
</datafield>
|
37
|
-
<datafield tag="080" ind1="-" ind2="1">
|
38
|
-
<subfield code="a">60</subfield>
|
39
|
-
</datafield>
|
40
|
-
<datafield tag="100" ind1="-" ind2="1">
|
41
|
-
<subfield code="p">Gockel, Simone</subfield>
|
42
|
-
<subfield code="d">1969-</subfield>
|
43
|
-
<subfield code="9">(DE-588)121333337</subfield>
|
44
|
-
</datafield>
|
45
|
-
<datafield tag="331" ind1="-" ind2="1">
|
46
|
-
<subfield code="a">Perfluoralkylsubstituierte Tellur(IV)Verbindungen</subfield>
|
47
|
-
</datafield>
|
48
|
-
<datafield tag="359" ind1="-" ind2="1">
|
49
|
-
<subfield code="a">von Simone Gockel</subfield>
|
50
|
-
</datafield>
|
51
|
-
<datafield tag="403" ind1="-" ind2="1">
|
52
|
-
<subfield code="a">[Mikrofiche-Ausg.]</subfield>
|
53
|
-
</datafield>
|
54
|
-
<datafield tag="410" ind1="-" ind2="1">
|
55
|
-
<subfield code="a">Marburg</subfield>
|
56
|
-
</datafield>
|
57
|
-
<datafield tag="412" ind1="-" ind2="1">
|
58
|
-
<subfield code="a">Tectum-Verl.</subfield>
|
59
|
-
</datafield>
|
60
|
-
<datafield tag="425" ind1="a" ind2="1">
|
61
|
-
<subfield code="a">1999</subfield>
|
62
|
-
</datafield>
|
63
|
-
<datafield tag="433" ind1="-" ind2="1">
|
64
|
-
<subfield code="a">VIII, 121 S. : graph. Darst.</subfield>
|
65
|
-
</datafield>
|
66
|
-
<datafield tag="519" ind1="-" ind2="1">
|
67
|
-
<subfield code="p">Zugl.</subfield>
|
68
|
-
<subfield code="a">Bochum, Univ., Diss., 1998</subfield>
|
69
|
-
</datafield>
|
70
|
-
<datafield tag="540" ind1="a" ind2="1">
|
71
|
-
<subfield code="a">3-8288-0675-9</subfield>
|
72
|
-
</datafield>
|
73
|
-
<datafield tag="610" ind1="-" ind2="1">
|
74
|
-
<subfield code="a">Mikrofiche-Ausg.:</subfield>
|
75
|
-
</datafield>
|
76
|
-
<datafield tag="611" ind1="a" ind2="1">
|
77
|
-
<subfield code="a">Marburg</subfield>
|
78
|
-
</datafield>
|
79
|
-
<datafield tag="613" ind1="a" ind2="1">
|
80
|
-
<subfield code="a">Tectum-Verl.</subfield>
|
81
|
-
</datafield>
|
82
|
-
<datafield tag="621" ind1="-" ind2="1">
|
83
|
-
<subfield code="a">Edition Wissenschaft : Reihe Chemie ; 240</subfield>
|
84
|
-
</datafield>
|
85
|
-
<datafield tag="623" ind1="-" ind2="1">
|
86
|
-
<subfield code="a">HT006670284</subfield>
|
87
|
-
</datafield>
|
88
|
-
<datafield tag="625" ind1="-" ind2="1">
|
89
|
-
<subfield code="a">240</subfield>
|
90
|
-
</datafield>
|
91
|
-
<datafield tag="626" ind1="-" ind2="1">
|
92
|
-
<subfield code="a">240</subfield>
|
93
|
-
</datafield>
|
94
|
-
<datafield tag="634" ind1="a" ind2="1">
|
95
|
-
<subfield code="a">3-8288-0675-9</subfield>
|
96
|
-
</datafield>
|
97
|
-
<datafield tag="637" ind1="-" ind2="1">
|
98
|
-
<subfield code="a">2 Mikrofiches : 24x</subfield>
|
99
|
-
</datafield>
|
100
|
-
<datafield tag="673" ind1="c" ind2="1">
|
101
|
-
<subfield code="a">Bochum</subfield>
|
102
|
-
</datafield>
|
103
|
-
<datafield tag="902" ind1="-" ind2="1">
|
104
|
-
<subfield code="s">Tellurorganische Verbindungen</subfield>
|
105
|
-
<subfield code="9">(DE-588)4184674-6</subfield>
|
106
|
-
</datafield>
|
107
|
-
<datafield tag="902" ind1="-" ind2="1">
|
108
|
-
<subfield code="s">Perfluoralkylgruppe</subfield>
|
109
|
-
<subfield code="9">(DE-588)4337083-4</subfield>
|
110
|
-
</datafield>
|
111
|
-
<datafield tag="902" ind1="-" ind2="1">
|
112
|
-
<subfield code="s">Mikroform</subfield>
|
113
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
114
|
-
</datafield>
|
115
|
-
<datafield tag="903" ind1="-" ind2="1">
|
116
|
-
<subfield code="a">213</subfield>
|
117
|
-
</datafield>
|
118
|
-
<controlfield tag="SYS">000806191</controlfield>
|
119
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
120
|
-
<subfield code="s">Mikrobild</subfield>
|
121
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
122
|
-
</datafield>
|
123
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
124
|
-
<subfield code="s">Mikrodokumentation</subfield>
|
125
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
126
|
-
</datafield>
|
127
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
128
|
-
<subfield code="s">Mikrokopie</subfield>
|
129
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
130
|
-
</datafield>
|
131
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
132
|
-
<subfield code="s">Mikroformen</subfield>
|
133
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
134
|
-
</datafield>
|
135
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
136
|
-
<subfield code="s">Fiche</subfield>
|
137
|
-
<subfield code="h">Formschlagwort</subfield>
|
138
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
139
|
-
</datafield>
|
140
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
141
|
-
<subfield code="s">Mikrofiche</subfield>
|
142
|
-
<subfield code="h">Formschlagwort</subfield>
|
143
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
144
|
-
</datafield>
|
145
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
146
|
-
<subfield code="s">Mikrofilm</subfield>
|
147
|
-
<subfield code="h">Formschlagwort</subfield>
|
148
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
149
|
-
</datafield>
|
150
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
151
|
-
<subfield code="s">Microform</subfield>
|
152
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
153
|
-
</datafield>
|
154
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
155
|
-
<subfield code="s">Mikrobild</subfield>
|
156
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
157
|
-
</datafield>
|
158
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
159
|
-
<subfield code="s">Mikrodokumentation</subfield>
|
160
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
161
|
-
</datafield>
|
162
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
163
|
-
<subfield code="s">Mikrokopie</subfield>
|
164
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
165
|
-
</datafield>
|
166
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
167
|
-
<subfield code="s">Mikroformen</subfield>
|
168
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
169
|
-
</datafield>
|
170
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
171
|
-
<subfield code="s">Fiche</subfield>
|
172
|
-
<subfield code="h">Formschlagwort</subfield>
|
173
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
174
|
-
</datafield>
|
175
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
176
|
-
<subfield code="s">Mikrofiche</subfield>
|
177
|
-
<subfield code="h">Formschlagwort</subfield>
|
178
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
179
|
-
</datafield>
|
180
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
181
|
-
<subfield code="s">Mikrofilm</subfield>
|
182
|
-
<subfield code="h">Formschlagwort</subfield>
|
183
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
184
|
-
</datafield>
|
185
|
-
<datafield tag="PSW" ind1="-" ind2="1">
|
186
|
-
<subfield code="s">Microform</subfield>
|
187
|
-
<subfield code="9">(DE-588)4039216-8</subfield>
|
188
|
-
</datafield>
|
189
|
-
<datafield tag="700" ind1=" " ind2=" ">
|
190
|
-
<subfield code="a">UUN</subfield>
|
191
|
-
</datafield>
|
192
|
-
<datafield tag="OWN" ind1=" " ind2=" ">
|
193
|
-
<subfield code="a">P0001</subfield>
|
194
|
-
</datafield>
|
195
|
-
<datafield tag="PLK" ind1=" " ind2=" ">
|
196
|
-
<subfield code="a">SRU</subfield>
|
197
|
-
<subfield code="l">PAD01</subfield>
|
198
|
-
<subfield code="b">000677742</subfield>
|
199
|
-
<subfield code="m">240.^Perfluoralkylsubstituierte Tellur(IV)Verbindungen.^[Mikrofiche-Ausg.].^1999</subfield>
|
200
|
-
<subfield code="n">Edition Wissenschaft / Reihe Chemie.^</subfield>
|
201
|
-
</datafield>
|
202
|
-
<datafield tag="LOC" ind1=" " ind2=" ">
|
203
|
-
<subfield code="m">MKF</subfield>
|
204
|
-
<subfield code="a">P0001</subfield>
|
205
|
-
<subfield code="b">93</subfield>
|
206
|
-
<subfield code="d">UUN1142</subfield>
|
207
|
-
<subfield code="i">1999.2495-1999.2496</subfield>
|
208
|
-
<subfield code="n">25</subfield>
|
209
|
-
<subfield code="k">20000217</subfield>
|
210
|
-
<subfield code="5">122722-10</subfield>
|
211
|
-
</datafield>
|
212
|
-
</record>
|
213
|
-
</metadata>
|
214
|
-
</record>
|
215
|
-
</ListRecords>
|
216
|
-
</OAI-PMH>
|