1
|
package eu.dnetlib.oai.mongo;
|
2
|
|
3
|
import java.util.function.Function;
|
4
|
|
5
|
import org.dom4j.Document;
|
6
|
import org.dom4j.Node;
|
7
|
|
8
|
/**
|
9
|
* Function to deliver only the about/provenance content of a record as XML String.
|
10
|
*/
|
11
|
public class ProvenanceExtractor implements Function<Document, String> {
|
12
|
|
13
|
@Override
|
14
|
public String apply(final Document xmlDoc) {
|
15
|
// Node provenanceNode = xmlDoc.selectSingleNode("//*[local-name() = 'about']/*[local-name() = 'provenance']");
|
16
|
final Node provenanceNode = xmlDoc.selectSingleNode("/*[local-name()='record']/*[local-name() = 'about']/*[local-name() = 'provenance']");
|
17
|
if (provenanceNode != null) {
|
18
|
return provenanceNode.asXML();
|
19
|
} else {
|
20
|
return null;
|
21
|
}
|
22
|
}
|
23
|
}
|