fixes for MarcXchange XML writing
This commit is contained in:
parent
216031848e
commit
dfefc49fee
15 changed files with 193 additions and 163 deletions
|
@ -1,5 +1,5 @@
|
|||
group = org.xbib
|
||||
name = marc
|
||||
version = 2.9.8
|
||||
version = 2.9.9
|
||||
|
||||
org.gradle.warning.mode = ALL
|
||||
|
|
|
@ -18,7 +18,7 @@ package org.xbib.marc;
|
|||
public class LightweightMarcRecordAdapter extends MarcRecordAdapter {
|
||||
|
||||
public LightweightMarcRecordAdapter(MarcRecordListener marcRecordListener) {
|
||||
super(marcRecordListener, false);
|
||||
super(marcRecordListener, null);
|
||||
this.builder = Marc.builder().lightweightRecord();
|
||||
}
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ import java.io.UncheckedIOException;
|
|||
import java.net.URL;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedList;
|
||||
|
@ -664,7 +665,7 @@ public final class Marc {
|
|||
|
||||
private boolean isLightweightRecord;
|
||||
|
||||
private boolean isStableFieldOrder;
|
||||
private Comparator<String> comparator;
|
||||
|
||||
private Pattern keyPattern;
|
||||
|
||||
|
@ -1131,8 +1132,8 @@ public final class Marc {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Marc.Builder stableFieldOrder() {
|
||||
this.isStableFieldOrder = true;
|
||||
public Marc.Builder comparator(Comparator<String> comparator) {
|
||||
this.comparator = comparator;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -1141,7 +1142,7 @@ public final class Marc {
|
|||
* @return MARC record
|
||||
*/
|
||||
public MarcRecord buildRecord() {
|
||||
return new MarcRecord(format, type, recordLabel, marcFieldList, isLightweightRecord, isStableFieldOrder);
|
||||
return new MarcRecord(format, type, recordLabel, marcFieldList, isLightweightRecord, comparator);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.xbib.marc.label.RecordLabel;
|
|||
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.LinkedList;
|
||||
|
@ -63,13 +64,14 @@ public class MarcRecord implements Map<String, Object> {
|
|||
* @param recordLabel the record label
|
||||
* @param marcFields the MARC field
|
||||
* @param lightweight true if MARC record fields should not be entered into the underlying hash map.
|
||||
* @param comparator a tag comparator for the underlying map
|
||||
*/
|
||||
public MarcRecord(String format,
|
||||
String type,
|
||||
RecordLabel recordLabel,
|
||||
List<MarcField> marcFields,
|
||||
boolean lightweight,
|
||||
boolean stable) {
|
||||
Comparator<String> comparator) {
|
||||
this.format = format;
|
||||
this.type = type;
|
||||
this.recordLabel = recordLabel;
|
||||
|
@ -77,7 +79,7 @@ public class MarcRecord implements Map<String, Object> {
|
|||
throw new NullPointerException("record label must not be null");
|
||||
}
|
||||
this.marcFields = marcFields;
|
||||
this.delegate = lightweight ? Map.of() : createMapFromMarcFields(stable);
|
||||
this.delegate = lightweight ? Map.of() : createMapFromMarcFields(comparator);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -371,7 +373,11 @@ public class MarcRecord implements Map<String, Object> {
|
|||
}
|
||||
|
||||
public void rebuildMap() {
|
||||
this.delegate = createMapFromMarcFields(true);
|
||||
this.delegate = createMapFromMarcFields(Comparator.naturalOrder());
|
||||
}
|
||||
|
||||
public void rebuildFields(Comparator<MarcField> comparator) {
|
||||
this.marcFields.sort(comparator);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -451,8 +457,8 @@ public class MarcRecord implements Map<String, Object> {
|
|||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private Map<String, Object> createMapFromMarcFields(boolean stable) {
|
||||
Map<String, Object> map = stable ? new TreeMap<>() : new LinkedHashMap<>();
|
||||
private Map<String, Object> createMapFromMarcFields(Comparator<String> comparator) {
|
||||
Map<String, Object> map = comparator!= null ? new TreeMap<>(comparator) : new LinkedHashMap<>();
|
||||
if (marcFields == null) {
|
||||
return map;
|
||||
}
|
||||
|
|
|
@ -17,6 +17,8 @@ package org.xbib.marc;
|
|||
|
||||
import org.xbib.marc.label.RecordLabel;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
/**
|
||||
* The Marc record adapter collects Marc field events, collects them in a Marc builder,
|
||||
* and sends collected records to a Marc record listener. This is very handy for
|
||||
|
@ -28,15 +30,13 @@ public class MarcRecordAdapter implements MarcListener {
|
|||
|
||||
protected Marc.Builder builder;
|
||||
|
||||
private boolean isStableFieldOrder;
|
||||
private Comparator<String> comparator;
|
||||
|
||||
public MarcRecordAdapter(MarcRecordListener marcRecordListener, boolean isStableFieldOrder) {
|
||||
public MarcRecordAdapter(MarcRecordListener marcRecordListener, Comparator<String> comparator) {
|
||||
this.marcRecordListener = marcRecordListener;
|
||||
this.builder = Marc.builder();
|
||||
this.isStableFieldOrder = isStableFieldOrder;
|
||||
if (isStableFieldOrder) {
|
||||
this.builder.stableFieldOrder();
|
||||
}
|
||||
this.comparator = comparator;
|
||||
this.builder.comparator(comparator);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -64,9 +64,7 @@ public class MarcRecordAdapter implements MarcListener {
|
|||
public void endRecord() {
|
||||
marcRecordListener.record(builder.buildRecord());
|
||||
builder = Marc.builder();
|
||||
if (isStableFieldOrder) {
|
||||
builder.stableFieldOrder();
|
||||
}
|
||||
builder.comparator(comparator);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package org.xbib.marc.xml;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.HashSet;
|
||||
import org.xbib.marc.MarcField;
|
||||
import org.xbib.marc.MarcListener;
|
||||
|
@ -85,7 +86,7 @@ public class MarcContentHandler
|
|||
|
||||
private final Set<String> validNamespaces;
|
||||
|
||||
private boolean isStableFieldOrder;
|
||||
private Comparator<String> comparator;
|
||||
|
||||
public MarcContentHandler() {
|
||||
this.recordCounter = new AtomicInteger();
|
||||
|
@ -166,8 +167,8 @@ public class MarcContentHandler
|
|||
return this;
|
||||
}
|
||||
|
||||
public MarcContentHandler setStableFieldOrder(boolean stableFieldOrder) {
|
||||
this.isStableFieldOrder = stableFieldOrder;
|
||||
public MarcContentHandler setComparator(Comparator<String> comparator) {
|
||||
this.comparator = comparator;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -254,7 +255,7 @@ public class MarcContentHandler
|
|||
} else {
|
||||
MarcRecord marcRecord = new MarcRecord(getFormat(), getType(),
|
||||
RecordLabel.builder().from(label).build(),
|
||||
marcFieldList, false, isStableFieldOrder);
|
||||
marcFieldList, false, comparator);
|
||||
marcRecordListener.record(marcRecord);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -343,7 +343,7 @@ public class MarcXchangeWriter extends MarcContentHandler implements Flushable,
|
|||
if (exception != null) {
|
||||
return;
|
||||
}
|
||||
if (field.isControl() && field.getValue() != null) {
|
||||
if (field.isControl()) {
|
||||
Iterator<Attribute> attrs =
|
||||
Collections.singletonList(eventFactory.createAttribute(TAG_ATTRIBUTE,
|
||||
transform(field.getTag()))).iterator();
|
||||
|
@ -351,6 +351,12 @@ public class MarcXchangeWriter extends MarcContentHandler implements Flushable,
|
|||
String value = field.getValue();
|
||||
if (value != null && !value.isEmpty()) {
|
||||
xmlEventConsumer.add(eventFactory.createCharacters(transform(value)));
|
||||
} else {
|
||||
// the control field is disguised as a data field, try lookup value in first subfield of " "
|
||||
value = field.getFirstSubfieldValue(" ");
|
||||
if (value != null && !value.isEmpty()) {
|
||||
xmlEventConsumer.add(eventFactory.createCharacters(transform(value)));
|
||||
}
|
||||
}
|
||||
xmlEventConsumer.add(eventFactory.createEndElement(CONTROLFIELD_ELEMENT, namespaces));
|
||||
} else if (!field.isEmpty()) {
|
||||
|
@ -369,9 +375,9 @@ public class MarcXchangeWriter extends MarcContentHandler implements Flushable,
|
|||
// "There is one restriction. A special mode (identifier length = 0) of ISO 2709 operates with
|
||||
// data fields without subfields. In the MarcXchange schema subfields are required,
|
||||
// i.e. identifier length = 0 is not supported."
|
||||
// We support it! A subfield ID of length 0 will be substituted by "a"
|
||||
// But we support it! A subfield ID of length 0 will be substituted by blank (" ").
|
||||
if (code.isEmpty()) {
|
||||
code = "a";
|
||||
code = " ";
|
||||
}
|
||||
List<Attribute> subfieldattrs = new LinkedList<>();
|
||||
subfieldattrs.add(eventFactory.createAttribute(CODE_ATTRIBUTE, transform(code)));
|
||||
|
@ -382,9 +388,9 @@ public class MarcXchangeWriter extends MarcContentHandler implements Flushable,
|
|||
}
|
||||
String value = field.getValue();
|
||||
if (value != null && !value.isEmpty()) {
|
||||
// if we have data in a datafield, create subfield "a" with data
|
||||
// if we have data in a datafield, create subfield blank (" ") with data
|
||||
attrs = new LinkedList<>();
|
||||
attrs.add(eventFactory.createAttribute(CODE_ATTRIBUTE, "a"));
|
||||
attrs.add(eventFactory.createAttribute(CODE_ATTRIBUTE, " "));
|
||||
xmlEventConsumer.add(eventFactory.createStartElement(SUBFIELD_ELEMENT, attrs.iterator(), namespaces));
|
||||
xmlEventConsumer.add(eventFactory.createCharacters(transform(value)));
|
||||
xmlEventConsumer.add(eventFactory.createEndElement(SUBFIELD_ELEMENT, namespaces));
|
||||
|
@ -444,7 +450,6 @@ public class MarcXchangeWriter extends MarcContentHandler implements Flushable,
|
|||
if (xmlEventConsumer instanceof XMLEventWriter) {
|
||||
((XMLEventWriter) xmlEventConsumer).flush();
|
||||
}
|
||||
afterRecord();
|
||||
} catch (XMLStreamException e) {
|
||||
handleException(new IOException(e));
|
||||
} finally {
|
||||
|
|
|
@ -131,7 +131,6 @@ public class MarcToModsTest {
|
|||
}
|
||||
});
|
||||
transformer.transform(source, streamResult);
|
||||
marcInputStream.close();
|
||||
xslInputStream.close();
|
||||
assertThat(out.toByteArray(),
|
||||
CompareMatcher.isIdenticalTo(getClass().getResource("summerland-sax-mods.xml").openStream()));
|
||||
|
@ -178,7 +177,6 @@ public class MarcToModsTest {
|
|||
}
|
||||
});
|
||||
transformer.transform(source, streamResult);
|
||||
marcInputStream.close();
|
||||
xslInputStream.close();
|
||||
assertThat(out.toByteArray(),
|
||||
CompareMatcher.isIdenticalTo(getClass().getResource("summerland-dom-mods.xml").openStream()));
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
package org.xbib.marc;
|
||||
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.xbib.marc.transformer.value.MarcValueTransformers;
|
||||
|
@ -24,16 +25,33 @@ import org.xmlunit.matchers.CompareMatcher;
|
|||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.nio.charset.Charset;
|
||||
import java.text.Normalizer;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.util.zip.GZIPInputStream;
|
||||
|
||||
public class MarcXchangeWriterTest {
|
||||
|
||||
@Test
|
||||
public void simpleMarcRecordWrite() throws Exception {
|
||||
Map<String, Object> map = new TreeMap<>(Map.of("001", "123",
|
||||
"100", Map.of("_", Map.of("a", "Hello World"))));
|
||||
MarcRecord marcRecord = MarcRecord.from(map);
|
||||
StringWriter stringWriter = new StringWriter();
|
||||
try (MarcXchangeWriter writer = new MarcXchangeWriter(stringWriter)) {
|
||||
writer.startDocument();
|
||||
writer.record(marcRecord);
|
||||
writer.endDocument();
|
||||
}
|
||||
assertEquals("<?xml version=\"1.0\" encoding=\"UTF-8\"?><record xmlns=\"info:lc/xmlns/marcxchange-v2\" format=\"MARC21\" xsi:schemaLocation=\"info:lc/xmlns/marcxchange-v2 http://www.loc.gov/standards/iso25577/marcxchange-2-0.xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" type=\"Bibliographic\"><leader>00000 0000000 000 </leader><datafield ind2=\" \" ind1=\" \" tag=\"100\"><subfield code=\"a\">Hello World</subfield></datafield><controlfield tag=\"001\">123</controlfield></record>", stringWriter.toString());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void splitMarcXchange() throws Exception {
|
||||
String s = "IRMARC8.bin";
|
||||
InputStream inputStream = getClass().getResource("/org/xbib/marc//" + s).openStream();
|
||||
InputStream inputStream = getClass().getResource("/org/xbib/marc/" + s).openStream();
|
||||
MarcValueTransformers marcValueTransformers = new MarcValueTransformers();
|
||||
marcValueTransformers.setMarcValueTransformer(value -> Normalizer.normalize(value, Normalizer.Form.NFC));
|
||||
// fileNamePattern, splitSize, bufferSize, compress, indent
|
||||
|
@ -61,7 +79,7 @@ public class MarcXchangeWriterTest {
|
|||
@Test
|
||||
public void splitMarcXchangeCompressed() throws Exception {
|
||||
String s = "IRMARC8.bin";
|
||||
InputStream inputStream = getClass().getResource("/org/xbib/marc//" + s).openStream();
|
||||
InputStream inputStream = getClass().getResource("/org/xbib/marc/" + s).openStream();
|
||||
MarcValueTransformers marcValueTransformers = new MarcValueTransformers();
|
||||
marcValueTransformers.setMarcValueTransformer(value -> Normalizer.normalize(value, Normalizer.Form.NFC));
|
||||
// fileNamePattern, splitSize, bufferSize, compress, indent
|
||||
|
|
|
@ -43,8 +43,11 @@ import org.xml.sax.InputSource;
|
|||
import org.xmlunit.matchers.CompareMatcher;
|
||||
import java.io.InputStream;
|
||||
import java.io.StringWriter;
|
||||
import java.io.Writer;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class MabTest {
|
||||
|
@ -158,6 +161,9 @@ public class MabTest {
|
|||
assertNull(writer.getException());
|
||||
}
|
||||
sw.close();
|
||||
//try (Writer writer = Files.newBufferedWriter(Paths.get("HT016424175-combined.xml"))) {
|
||||
// writer.write(sw.toString());
|
||||
//}
|
||||
assertStream(s, new ByteArrayInputStream(outputStream.toByteArray()),
|
||||
getClass().getResource("HT016424175.xml.combined.txt").openStream());
|
||||
assertThat(sw.toString(),
|
||||
|
|
|
@ -39,6 +39,7 @@ import org.xbib.marc.xml.MarcContentHandler;
|
|||
import java.io.InputStream;
|
||||
import java.nio.charset.Charset;
|
||||
import java.text.Normalizer;
|
||||
import java.util.Comparator;
|
||||
import java.util.EnumSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -65,7 +66,7 @@ public class MarcJsonWriterTest {
|
|||
.setType(MarcXchangeConstants.BIBLIOGRAPHIC_TYPE)
|
||||
) {
|
||||
Marc.builder()
|
||||
.stableFieldOrder()
|
||||
.comparator(Comparator.naturalOrder())
|
||||
.setInputStream(inputStream)
|
||||
.setCharset(Charset.forName("ANSEL"))
|
||||
.setMarcListener(writer)
|
||||
|
@ -92,7 +93,7 @@ public class MarcJsonWriterTest {
|
|||
try (MarcJsonWriter writer = new MarcJsonWriter(outputStream)
|
||||
) {
|
||||
Marc.builder()
|
||||
.stableFieldOrder()
|
||||
.comparator(Comparator.naturalOrder())
|
||||
.setFormat(MarcXchangeConstants.MARCXCHANGE_FORMAT)
|
||||
.setType(MarcXchangeConstants.BIBLIOGRAPHIC_TYPE)
|
||||
.setInputStream(inputStream)
|
||||
|
@ -125,7 +126,7 @@ public class MarcJsonWriterTest {
|
|||
.setType(MarcXchangeConstants.BIBLIOGRAPHIC_TYPE)
|
||||
.setInputStream(inputStream)
|
||||
.setCharset(Charset.forName("ANSEL"))
|
||||
.setMarcListener(new MarcRecordAdapter(writer, true))
|
||||
.setMarcListener(new MarcRecordAdapter(writer, Comparator.naturalOrder()))
|
||||
.build()
|
||||
.writeCollection();
|
||||
}
|
||||
|
@ -146,7 +147,7 @@ public class MarcJsonWriterTest {
|
|||
contentHandler.addNamespace("http://www.ddb.de/professionell/mabxml/mabxml-1.xsd");
|
||||
contentHandler.setFormat("MARC21");
|
||||
contentHandler.setType("Bibliographic");
|
||||
contentHandler.setMarcListener(new MarcRecordAdapter(writer, true));
|
||||
contentHandler.setMarcListener(new MarcRecordAdapter(writer, Comparator.naturalOrder()));
|
||||
Marc.builder()
|
||||
.setInputStream(inputStream)
|
||||
.setContentHandler(contentHandler)
|
||||
|
|
|
@ -1,232 +1,228 @@
|
|||
<collection xmlns="info:lc/xmlns/marcxchange-v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:lc/xmlns/marcxchange-v2 http://www.loc.gov/standards/iso25577/marcxchange-2-0.xsd">
|
||||
<collection xmlns="info:lc/xmlns/marcxchange-v2" xsi:schemaLocation="info:lc/xmlns/marcxchange-v2 http://www.loc.gov/standards/iso25577/marcxchange-2-0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<record format="MARC21" type="Bibliographic">
|
||||
<leader>00860vM2.01200024 000h</leader>
|
||||
<datafield tag="LDR" ind1=" " ind2=" ">
|
||||
<subfield code="a">00860vM2.01200024------h</subfield>
|
||||
<datafield ind2=" " ind1=" " tag="LDR">
|
||||
<subfield code=" ">00860vM2.01200024------h</subfield>
|
||||
</datafield>
|
||||
<datafield tag="FMT" ind1=" " ind2=" ">
|
||||
<subfield code="a">MH</subfield>
|
||||
<datafield ind2=" " ind1=" " tag="FMT">
|
||||
<subfield code=" ">MH</subfield>
|
||||
</datafield>
|
||||
<datafield tag="001" ind1=" " ind2="1">
|
||||
<subfield code="a">HT004330420</subfield>
|
||||
<controlfield tag="001"></controlfield>
|
||||
<controlfield tag="002"></controlfield>
|
||||
<datafield ind2=" " ind1=" " tag="030">
|
||||
<subfield code=" ">a|1uc||||||17</subfield>
|
||||
</datafield>
|
||||
<datafield tag="002" ind1="a" ind2="1">
|
||||
<subfield code="a">19921110</subfield>
|
||||
<datafield ind2=" " ind1=" " tag="050">
|
||||
<subfield code=" ">a|||||||||||||</subfield>
|
||||
</datafield>
|
||||
<datafield tag="030" ind1=" " ind2=" ">
|
||||
<subfield code="a">a|1uc||||||17</subfield>
|
||||
<datafield ind2=" " ind1=" " tag="051">
|
||||
<subfield code=" ">s|||||||</subfield>
|
||||
</datafield>
|
||||
<datafield tag="050" ind1=" " ind2=" ">
|
||||
<subfield code="a">a|||||||||||||</subfield>
|
||||
</datafield>
|
||||
<datafield tag="051" ind1=" " ind2=" ">
|
||||
<subfield code="a">s|||||||</subfield>
|
||||
</datafield>
|
||||
<datafield tag="070" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="070">
|
||||
<subfield code="a">292</subfield>
|
||||
</datafield>
|
||||
<datafield tag="080" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="080">
|
||||
<subfield code="a">60</subfield>
|
||||
</datafield>
|
||||
<datafield tag="100" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="100">
|
||||
<subfield code="p">Aselmeier, Ulrich</subfield>
|
||||
<subfield code="9">(DE-588)108129330</subfield>
|
||||
</datafield>
|
||||
<datafield tag="104" ind1="a" ind2="1">
|
||||
<datafield ind2="1" ind1="a" tag="104">
|
||||
<subfield code="p">Vogel, Günter</subfield>
|
||||
<subfield code="9">(DE-588)104707070</subfield>
|
||||
</datafield>
|
||||
<datafield tag="105" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="105">
|
||||
<subfield code="p">Vogel, W.</subfield>
|
||||
</datafield>
|
||||
<datafield tag="105" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="105">
|
||||
<subfield code="p">Vogel, Gunther</subfield>
|
||||
</datafield>
|
||||
<datafield tag="331" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="331">
|
||||
<subfield code="a">Handlungshilfen zur Unterrichtsplanung</subfield>
|
||||
</datafield>
|
||||
<datafield tag="335" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="335">
|
||||
<subfield code="a">Grundlagen und Beispiele aus sach- und schülerorientierter Sicht</subfield>
|
||||
</datafield>
|
||||
<datafield tag="359" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="359">
|
||||
<subfield code="a">Ulrich Aselmeier ; Günter Vogel</subfield>
|
||||
</datafield>
|
||||
<datafield tag="410" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="410">
|
||||
<subfield code="a">Rheinfelden [u.a.]</subfield>
|
||||
</datafield>
|
||||
<datafield tag="412" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="412">
|
||||
<subfield code="a">Schäuble</subfield>
|
||||
</datafield>
|
||||
<datafield tag="425" ind1="a" ind2="1">
|
||||
<datafield ind2="1" ind1="a" tag="425">
|
||||
<subfield code="a">1992</subfield>
|
||||
</datafield>
|
||||
<datafield tag="433" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="433">
|
||||
<subfield code="a">135 S. : graph. Darst.</subfield>
|
||||
</datafield>
|
||||
<datafield tag="830" ind1=" " ind2="0">
|
||||
<datafield ind2="0" ind1=" " tag="830">
|
||||
<subfield code="t">Gesellschaft, Erziehung und Bildung : Beiträge zu einer neuen Lernkultur ; 6</subfield>
|
||||
<subfield code="w">HT003704070</subfield>
|
||||
<subfield code="v">6 = 23 [d. Gesamtw.]</subfield>
|
||||
<subfield code="n">6</subfield>
|
||||
</datafield>
|
||||
<datafield tag="830" ind1=" " ind2="0">
|
||||
<datafield ind2="0" ind1=" " tag="830">
|
||||
<subfield code="t">Gesellschaft, Erziehung und Bildung ; 23</subfield>
|
||||
<subfield code="w">HT003575299</subfield>
|
||||
<subfield code="v">23 : Beiträge zu einer neuen Lernkultur ; 6</subfield>
|
||||
<subfield code="n">23</subfield>
|
||||
</datafield>
|
||||
<datafield tag="540" ind1="a" ind2="1">
|
||||
<datafield ind2="1" ind1="a" tag="540">
|
||||
<subfield code="a">3-87718-583-5</subfield>
|
||||
<subfield code="b">kart. : ca. DM 48.00 (freier Pr.)</subfield>
|
||||
</datafield>
|
||||
<datafield tag="700" ind1="l" ind2="1">
|
||||
<datafield ind2="1" ind1="l" tag="700">
|
||||
<subfield code="a">120</subfield>
|
||||
</datafield>
|
||||
<datafield tag="689" ind1="0" ind2="0">
|
||||
<datafield ind2="0" ind1="0" tag="689">
|
||||
<subfield code="s">Unterrichtsplanung</subfield>
|
||||
<subfield code="9">(DE-588)4117301-6</subfield>
|
||||
</datafield>
|
||||
<datafield tag="689" ind1="0" ind2="1">
|
||||
<datafield ind2="1" ind1="0" tag="689">
|
||||
<subfield code="s">Sekundarstufe</subfield>
|
||||
<subfield code="9">(DE-588)4077347-4</subfield>
|
||||
</datafield>
|
||||
<datafield tag="SYS" ind1=" " ind2=" ">
|
||||
<subfield code="a">006488301</subfield>
|
||||
<datafield ind2=" " ind1=" " tag="SYS">
|
||||
<subfield code=" ">006488301</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">DE-Bi10</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">U0001</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">R0001</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">B0001</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">L0001</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">M1054</subfield>
|
||||
</datafield>
|
||||
<datafield tag="LOW" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="LOW">
|
||||
<subfield code="a">M0001</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Lehrplanung</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Unterricht</subfield>
|
||||
<subfield code="x">Planung</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Secondary School</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Sekundarbereich</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Sekundarschule</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Schuljahr 5-13</subfield>
|
||||
</datafield>
|
||||
<datafield tag="952" ind1=" " ind2="1">
|
||||
<datafield ind2="1" ind1=" " tag="952">
|
||||
<subfield code="s">Schuljahr 5-12</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">Bi 10</subfield>
|
||||
<subfield code="b">00078080</subfield>
|
||||
<subfield code="c">IGX Asel</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">290</subfield>
|
||||
<subfield code="b">00000001</subfield>
|
||||
<subfield code="c">Bg 14187</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">290</subfield>
|
||||
<subfield code="b">00012012</subfield>
|
||||
<subfield code="c">PCA 430/67</subfield>
|
||||
<subfield code="e">keine ILL</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">294</subfield>
|
||||
<subfield code="b">00000014</subfield>
|
||||
<subfield code="c">MVA7096</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">51</subfield>
|
||||
<subfield code="b">00000000</subfield>
|
||||
<subfield code="c">IGX 112</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">6</subfield>
|
||||
<subfield code="b">00000040</subfield>
|
||||
<subfield code="c">3D 90391</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">6/123</subfield>
|
||||
<subfield code="b">00004040</subfield>
|
||||
<subfield code="c">ERZ XG2 9A</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">929</subfield>
|
||||
<subfield code="b">00000000</subfield>
|
||||
<subfield code="c">94/3507</subfield>
|
||||
<subfield code="e">ILL Ausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">708</subfield>
|
||||
<subfield code="b">00</subfield>
|
||||
<subfield code="c">IGX/ASE</subfield>
|
||||
<subfield code="e">Normalausleihe</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">467</subfield>
|
||||
<subfield code="b">63</subfield>
|
||||
<subfield code="c">63TML2274</subfield>
|
||||
<subfield code="e">Ausleihbar</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">467</subfield>
|
||||
<subfield code="b">63</subfield>
|
||||
<subfield code="c">63TML2274+1</subfield>
|
||||
<subfield code="e">Ausleihbar</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">Kob 7</subfield>
|
||||
<subfield code="b">FRHKO</subfield>
|
||||
<subfield code="c">93/3202</subfield>
|
||||
<subfield code="e">ausleihbar 4 Wo</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">Lan 1</subfield>
|
||||
<subfield code="b">FRHLD</subfield>
|
||||
<subfield code="c">gru 92-58</subfield>
|
||||
<subfield code="e">ausleihbar 4 Wo</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">465</subfield>
|
||||
<subfield code="b">E11</subfield>
|
||||
<subfield code="c">IGX2455</subfield>
|
||||
<subfield code="e">Ausleihbestand</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">464</subfield>
|
||||
<subfield code="b">D01</subfield>
|
||||
<subfield code="c">IGX2112_d</subfield>
|
||||
<subfield code="e">Ausleihbestand</subfield>
|
||||
</datafield>
|
||||
<datafield tag="088" ind1=" " ind2=" ">
|
||||
<datafield ind2=" " ind1=" " tag="088">
|
||||
<subfield code="a">1116</subfield>
|
||||
<subfield code="b">X0001</subfield>
|
||||
<subfield code="c">Ndk ASE</subfield>
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -6,60 +6,60 @@
|
|||
<controlfield tag="002">20171208</controlfield>
|
||||
<controlfield tag="004">20171208</controlfield>
|
||||
<datafield ind2=" " ind1=" " tag="020">
|
||||
<subfield code="a">(FR-PaOEC)6bee255b-ar<61>OECD</subfield>
|
||||
<subfield code=" ">(FR-PaOEC)6bee255b-ar<61>OECD</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="025">
|
||||
<subfield code="a">6bee255b-ar</subfield>
|
||||
<subfield code=" ">6bee255b-ar</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="030">
|
||||
<subfield code="a">a|zuc||||||37</subfield>
|
||||
<subfield code=" ">a|zuc||||||37</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="b" tag="037">
|
||||
<subfield code="a">ara</subfield>
|
||||
<subfield code=" ">ara</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="050">
|
||||
<subfield code="a">||||||||g|||||</subfield>
|
||||
<subfield code=" ">||||||||g|||||</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="051">
|
||||
<subfield code="a">m|||||||</subfield>
|
||||
<subfield code=" ">m|||||||</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="070">
|
||||
<subfield code="a">OECD</subfield>
|
||||
<subfield code=" ">OECD</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="070">
|
||||
<subfield code="a">HBZ</subfield>
|
||||
<subfield code=" ">HBZ</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="e" tag="078">
|
||||
<subfield code="a">ZDB-164-UNL</subfield>
|
||||
<subfield code="a">ZDB-164-UNL-ebook</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="b" tag="200">
|
||||
<subfield code="a">OHCHR</subfield>
|
||||
<subfield code=" ">OHCHR</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="331"></datafield>
|
||||
<datafield ind2=" " ind1=" " tag="334">
|
||||
<subfield code="a">Elektronische Ressource</subfield>
|
||||
<subfield code=" ">Elektronische Ressource</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="359">
|
||||
<subfield code="a">OHCHR</subfield>
|
||||
<subfield code=" ">OHCHR</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="410">
|
||||
<subfield code="a">New York</subfield>
|
||||
<subfield code=" ">New York</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="412">
|
||||
<subfield code="a">United Nations</subfield>
|
||||
<subfield code=" ">United Nations</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="425">
|
||||
<subfield code="a">2017</subfield>
|
||||
<subfield code=" ">2017</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="433">
|
||||
<subfield code="a">75 p.</subfield>
|
||||
<subfield code=" ">75 p.</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="540">
|
||||
<subfield code="a">ISBN 9789210579391</subfield>
|
||||
<subfield code=" ">ISBN 9789210579391</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="552">
|
||||
<subfield code="a">10.18356/6bee255b-ar</subfield>
|
||||
<subfield code=" ">10.18356/6bee255b-ar</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="652">
|
||||
<subfield code="a">Online-Ressource</subfield>
|
||||
|
@ -80,68 +80,68 @@
|
|||
<controlfield tag="002">20171208</controlfield>
|
||||
<controlfield tag="004">20171208</controlfield>
|
||||
<datafield ind2=" " ind1=" " tag="020">
|
||||
<subfield code="a">(FR-PaOEC)6f8029f6-es<65>OECD</subfield>
|
||||
<subfield code=" ">(FR-PaOEC)6f8029f6-es<65>OECD</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="025">
|
||||
<subfield code="a">6f8029f6-es</subfield>
|
||||
<subfield code=" ">6f8029f6-es</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="030">
|
||||
<subfield code="a">a|zuc||||||37</subfield>
|
||||
<subfield code=" ">a|zuc||||||37</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="b" tag="037">
|
||||
<subfield code="a">spa</subfield>
|
||||
<subfield code=" ">spa</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="050">
|
||||
<subfield code="a">||||||||g|||||</subfield>
|
||||
<subfield code=" ">||||||||g|||||</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="051">
|
||||
<subfield code="a">s|||||||</subfield>
|
||||
<subfield code=" ">s|||||||</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="070">
|
||||
<subfield code="a">OECD</subfield>
|
||||
<subfield code=" ">OECD</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="070">
|
||||
<subfield code="a">HBZ</subfield>
|
||||
<subfield code=" ">HBZ</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="e" tag="078">
|
||||
<subfield code="a">ZDB-164-UNL</subfield>
|
||||
<subfield code="a">ZDB-164-UNL-ebook</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="b" tag="200">
|
||||
<subfield code="a">ECLAC</subfield>
|
||||
<subfield code=" ">ECLAC</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="331">
|
||||
<subfield code="a">Pol<EFBFBD>itica Industrial Rural y Fortalecimiento de Cadenas de Valor</subfield>
|
||||
<subfield code=" ">Pol<EFBFBD>itica Industrial Rural y Fortalecimiento de Cadenas de Valor</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="334">
|
||||
<subfield code="a">Elektronische Ressource</subfield>
|
||||
<subfield code=" ">Elektronische Ressource</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="359">
|
||||
<subfield code="a">ECLAC</subfield>
|
||||
<subfield code=" ">ECLAC</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="410">
|
||||
<subfield code="a">New York</subfield>
|
||||
<subfield code=" ">New York</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="412">
|
||||
<subfield code="a">United Nations</subfield>
|
||||
<subfield code=" ">United Nations</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="425">
|
||||
<subfield code="a">2017</subfield>
|
||||
<subfield code=" ">2017</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="433">
|
||||
<subfield code="a">240 p.</subfield>
|
||||
<subfield code=" ">240 p.</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="451">
|
||||
<subfield code="a">ECLAC Books ; no.145</subfield>
|
||||
<subfield code=" ">ECLAC Books ; no.145</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="452">
|
||||
<subfield code="a">2411-9385</subfield>
|
||||
<subfield code=" ">2411-9385</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="540">
|
||||
<subfield code="a">ISBN 9789210585897</subfield>
|
||||
<subfield code=" ">ISBN 9789210585897</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="552">
|
||||
<subfield code="a">10.18356/6f8029f6-es</subfield>
|
||||
<subfield code=" ">10.18356/6f8029f6-es</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="652">
|
||||
<subfield code="a">Online-Ressource</subfield>
|
||||
|
@ -157,62 +157,62 @@
|
|||
<controlfield tag="002">20171208</controlfield>
|
||||
<controlfield tag="004">20171208</controlfield>
|
||||
<datafield ind2=" " ind1=" " tag="020">
|
||||
<subfield code="a">(FR-PaOEC)c78e1213-ar<61>OECD</subfield>
|
||||
<subfield code=" ">(FR-PaOEC)c78e1213-ar<61>OECD</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="025">
|
||||
<subfield code="a">c78e1213-ar</subfield>
|
||||
<subfield code=" ">c78e1213-ar</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="030">
|
||||
<subfield code="a">a|zuc||||||37</subfield>
|
||||
<subfield code=" ">a|zuc||||||37</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="b" tag="037">
|
||||
<subfield code="a">ara</subfield>
|
||||
<subfield code=" ">ara</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="050">
|
||||
<subfield code="a">||||||||g|||||</subfield>
|
||||
<subfield code=" ">||||||||g|||||</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="051">
|
||||
<subfield code="a">m|||||||</subfield>
|
||||
<subfield code=" ">m|||||||</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="070">
|
||||
<subfield code="a">OECD</subfield>
|
||||
<subfield code=" ">OECD</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="070">
|
||||
<subfield code="a">HBZ</subfield>
|
||||
<subfield code=" ">HBZ</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="e" tag="078">
|
||||
<subfield code="a">ZDB-164-UNL</subfield>
|
||||
<subfield code="a">ZDB-164-UNL-ebook</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="b" tag="200">
|
||||
<subfield code="a">DESA</subfield>
|
||||
<subfield code=" ">DESA</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="331">
|
||||
<subfield code="a">2017</subfield>
|
||||
<subfield code=" ">2017</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="334">
|
||||
<subfield code="a">Elektronische Ressource</subfield>
|
||||
<subfield code=" ">Elektronische Ressource</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="359">
|
||||
<subfield code="a">DESA</subfield>
|
||||
<subfield code=" ">DESA</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="410">
|
||||
<subfield code="a">New York</subfield>
|
||||
<subfield code=" ">New York</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="412">
|
||||
<subfield code="a">United Nations</subfield>
|
||||
<subfield code=" ">United Nations</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="425">
|
||||
<subfield code="a">2017</subfield>
|
||||
<subfield code=" ">2017</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="433">
|
||||
<subfield code="a">62 p.</subfield>
|
||||
<subfield code=" ">62 p.</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="540">
|
||||
<subfield code="a">ISBN 9789213617182</subfield>
|
||||
<subfield code=" ">ISBN 9789213617182</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="552">
|
||||
<subfield code="a">10.18356/c78e1213-ar</subfield>
|
||||
<subfield code=" ">10.18356/c78e1213-ar</subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1="a" tag="652">
|
||||
<subfield code="a">Online-Ressource</subfield>
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="250">
|
||||
<subfield code="a">1st ed.</subfield>
|
||||
<subfield code="a"> </subfield>
|
||||
<subfield code=" "> </subfield>
|
||||
</datafield>
|
||||
<datafield ind2=" " ind1=" " tag="260">
|
||||
<subfield code="a">New York :</subfield>
|
||||
|
|
Loading…
Reference in a new issue