Project

General

Profile

« Previous | Next » 

Revision 42765

fixed bug

View differences:

modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/dhm.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1d41221-1e68-11e6-a5f4-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="677b7fc5-21b1-11e6-b999-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/ck.xml
1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="67741a68-21b1-11e6-8aca-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2016-03-24T12:40:17+01:00"/>
8
		<PROTOCOL/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<DATASOURCE_TYPE>efg:contentprovider</DATASOURCE_TYPE>
13
			<DATASOURCE_ORIGINAL_ID provenance="EFG">ck</DATASOURCE_ORIGINAL_ID>
14
			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
15
			<ENVIRONMENTS>
16
				<ENVIRONMENT>EFG</ENVIRONMENT>
17
			</ENVIRONMENTS>
18
			<TYPOLOGY/>
19
			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
20
			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
21
			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
22
			<OFFICIAL_NAME>Crnogorska Kinoteka - CK</OFFICIAL_NAME>
23
			<ENGLISH_NAME>Crnogorska Kinoteka - CK</ENGLISH_NAME>
24
			<ICON_URI>http://www.kinoteka.me/</ICON_URI>
25
			<COUNTRY/>
26
			<LOCATION>
27
				<LONGITUDE>42.47</LONGITUDE>
28
				<LATITUDE>19.28</LATITUDE>
29
				<TIMEZONE>1.0</TIMEZONE>
30
			</LOCATION>
31
			<REPOSITORY_WEBPAGE>http://www.kinoteka.me//</REPOSITORY_WEBPAGE>
32
			<REPOSITORY_INSTITUTION/>
33
			<ADMIN_INFO>sandro.labruzzo@isti.cnr.it</ADMIN_INFO>
34
			<INTERFACES>
35
				<INTERFACE active="false" compliance="efg" contentDescription="metadata" id="api_________::ck::0" label="content provider" removable="false" typology="efg:contentprovider">
36
					<ACCESS_PROTOCOL extensions="efg">filesystem</ACCESS_PROTOCOL>
37
					<BASE_URL>file:///var/lib/efg-import/CK</BASE_URL>
38
					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']</INTERFACE_EXTRA_FIELD>
39
				</INTERFACE>
40
			</INTERFACES>
41
			<EXTRA_FIELDS>
42
				<FIELD>
43
					<key>DataSourceId</key>
44
					<value>ck</value>
45
				</FIELD>
46
				<FIELD>
47
					<key>NamespacePrefix</key>
48
					<value>ck</value>
49
				</FIELD>
50
				<FIELD>
51
					<key>VERIFIED</key>
52
					<value>NO</value>
53
				</FIELD>
54
			</EXTRA_FIELDS>
55
			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
56
		</CONFIGURATION>
57
		<STATUS>
58
			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
59
		</STATUS>
60
		<QOS>
61
			<AVAILABILITY>0</AVAILABILITY>
62
			<CAPACITY/>
63
			<THROUGHPUT>0.0</THROUGHPUT>
64
		</QOS>
65
		<SECURITY_PARAMETERS/>
66
		<BLACKBOARD/>
67
	</BODY>
68
</RESOURCE_PROFILE>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/cp.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1d364ba-1e68-11e6-b1ea-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="6778b014-21b1-11e6-852e-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/cnc.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1d06b05-1e68-11e6-822f-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="676e3345-21b1-11e6-ad27-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
......
19 19
			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
20 20
			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
21 21
			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
22
			<OFFICIAL_NAME>Centre national du cinéma et de l'image animée - Archives françaises du Film</OFFICIAL_NAME>
23
			<ENGLISH_NAME>Centre national du cinéma et de l'image animée - Archives françaises du Film</ENGLISH_NAME>
22
			<OFFICIAL_NAME>Centre nationale du cinéma et de l’image animée</OFFICIAL_NAME>
23
			<ENGLISH_NAME>Centre nationale du cinéma et de l’image animée</ENGLISH_NAME>
24 24
			<ICON_URI>http://www.cnc.fr/image/image_gallery?img_id=165038&amp;t=1306506641680</ICON_URI>
25 25
			<COUNTRY/>
26 26
			<LOCATION>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/il.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1c4fb97-1e68-11e6-8eb6-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="6765c86e-21b1-11e6-a20e-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/barch.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1cf62b8-1e68-11e6-869a-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="676c269e-21b1-11e6-842f-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/mnfa.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1d2e6a3-1e68-11e6-818d-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="6777b1dc-21b1-11e6-a769-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/knm.xml
1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="676f3a47-21b1-11e6-a6cd-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2016-03-24T12:40:17+01:00"/>
8
		<PROTOCOL/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<DATASOURCE_TYPE>efg:contentprovider</DATASOURCE_TYPE>
13
			<DATASOURCE_ORIGINAL_ID provenance="EFG">knm</DATASOURCE_ORIGINAL_ID>
14
			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
15
			<ENVIRONMENTS>
16
				<ENVIRONMENT>EFG</ENVIRONMENT>
17
			</ENVIRONMENTS>
18
			<TYPOLOGY/>
19
			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
20
			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
21
			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
22
			<OFFICIAL_NAME>Kinoteka na Makedonija - KNM</OFFICIAL_NAME>
23
			<ENGLISH_NAME>Kinoteka na Makedonija - KNM</ENGLISH_NAME>
24
			<ICON_URI>http://www.maccinema.com/</ICON_URI>
25
			<COUNTRY/>
26
			<LOCATION>
27
				<LONGITUDE>42.47</LONGITUDE>
28
				<LATITUDE>19.28</LATITUDE>
29
				<TIMEZONE>1.0</TIMEZONE>
30
			</LOCATION>
31
			<REPOSITORY_WEBPAGE>http://www.maccinema.com//</REPOSITORY_WEBPAGE>
32
			<REPOSITORY_INSTITUTION/>
33
			<ADMIN_INFO>sandro.labruzzo@isti.cnr.it</ADMIN_INFO>
34
			<INTERFACES>
35
				<INTERFACE active="false" compliance="efg" contentDescription="metadata" id="api_________::knm::0" label="content provider" removable="false" typology="efg:contentprovider">
36
					<ACCESS_PROTOCOL extensions="efg">filesystem</ACCESS_PROTOCOL>
37
					<BASE_URL>file:///var/lib/efg-import/KNM</BASE_URL>
38
					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']</INTERFACE_EXTRA_FIELD>
39
				</INTERFACE>
40
			</INTERFACES>
41
			<EXTRA_FIELDS>
42
				<FIELD>
43
					<key>DataSourceId</key>
44
					<value>knm</value>
45
				</FIELD>
46
				<FIELD>
47
					<key>NamespacePrefix</key>
48
					<value>knm</value>
49
				</FIELD>
50
				<FIELD>
51
					<key>VERIFIED</key>
52
					<value>NO</value>
53
				</FIELD>
54
			</EXTRA_FIELDS>
55
			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
56
		</CONFIGURATION>
57
		<STATUS>
58
			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
59
		</STATUS>
60
		<QOS>
61
			<AVAILABILITY>0</AVAILABILITY>
62
			<CAPACITY/>
63
			<THROUGHPUT>0.0</THROUGHPUT>
64
		</QOS>
65
		<SECURITY_PARAMETERS/>
66
		<BLACKBOARD/>
67
	</BODY>
68
</RESOURCE_PROFILE>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/crb.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1cfa46b-1e68-11e6-b1e0-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="676cb4a8-21b1-11e6-8140-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/mnc.xml
1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="67747d0a-21b1-11e6-99cb-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2016-03-24T12:40:17+01:00"/>
8
		<PROTOCOL/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<DATASOURCE_TYPE>efg:contentprovider</DATASOURCE_TYPE>
13
			<DATASOURCE_ORIGINAL_ID provenance="EFG">mnc</DATASOURCE_ORIGINAL_ID>
14
			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
15
			<ENVIRONMENTS>
16
				<ENVIRONMENT>EFG</ENVIRONMENT>
17
			</ENVIRONMENTS>
18
			<TYPOLOGY/>
19
			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
20
			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
21
			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
22
			<OFFICIAL_NAME>Museo Nazionale del Cinema (MNC)</OFFICIAL_NAME>
23
			<ENGLISH_NAME>Museo Nazionale del Cinema (MNC)</ENGLISH_NAME>
24
			<ICON_URI>http://www.museocinema.it/img/logo_mnc.png</ICON_URI>
25
			<COUNTRY/>
26
			<LOCATION>
27
				<LONGITUDE>2.35</LONGITUDE>
28
				<LATITUDE>48.85</LATITUDE>
29
				<TIMEZONE>1.0</TIMEZONE>
30
			</LOCATION>
31
			<REPOSITORY_WEBPAGE>http://www.museocinema.it//</REPOSITORY_WEBPAGE>
32
			<REPOSITORY_INSTITUTION/>
33
			<ADMIN_INFO>sandro.labruzzo@isti.cnr.it</ADMIN_INFO>
34
			<INTERFACES>
35
				<INTERFACE active="false" compliance="efg" contentDescription="metadata" id="api_________::mnc::0" label="content provider" removable="false" typology="efg:contentprovider">
36
					<ACCESS_PROTOCOL extensions="efg">filesystem</ACCESS_PROTOCOL>
37
					<BASE_URL>file:///var/lib/efg-import/MNC</BASE_URL>
38
					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']</INTERFACE_EXTRA_FIELD>
39
				</INTERFACE>
40
			</INTERFACES>
41
			<EXTRA_FIELDS>
42
				<FIELD>
43
					<key>DataSourceId</key>
44
					<value>mnc</value>
45
				</FIELD>
46
				<FIELD>
47
					<key>NamespacePrefix</key>
48
					<value>mnc</value>
49
				</FIELD>
50
				<FIELD>
51
					<key>VERIFIED</key>
52
					<value>NO</value>
53
				</FIELD>
54
			</EXTRA_FIELDS>
55
			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
56
		</CONFIGURATION>
57
		<STATUS>
58
			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
59
		</STATUS>
60
		<QOS>
61
			<AVAILABILITY>0</AVAILABILITY>
62
			<CAPACITY/>
63
			<THROUGHPUT>0.0</THROUGHPUT>
64
		</QOS>
65
		<SECURITY_PARAMETERS/>
66
		<BLACKBOARD/>
67
	</BODY>
68
</RESOURCE_PROFILE>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/ofm.xml
1 1
<RESOURCE_PROFILE>
2 2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a1d0a111-1e68-11e6-8848-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
3
		<RESOURCE_IDENTIFIER value="6771ac73-21b1-11e6-8906-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4 4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5 5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6 6
		<RESOURCE_URI value=""/>
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/repository/lbw.xml
1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="67691063-21b1-11e6-b577-f45c899a1bab_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
5
		<RESOURCE_KIND value="RepositoryServiceResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2016-03-24T12:40:17+01:00"/>
8
		<PROTOCOL/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<DATASOURCE_TYPE>efg:contentprovider</DATASOURCE_TYPE>
13
			<DATASOURCE_ORIGINAL_ID provenance="EFG">lbw</DATASOURCE_ORIGINAL_ID>
14
			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
15
			<ENVIRONMENTS>
16
				<ENVIRONMENT>EFG</ENVIRONMENT>
17
			</ENVIRONMENTS>
18
			<TYPOLOGY/>
19
			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
20
			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
21
			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
22
			<OFFICIAL_NAME>Landesfilmsammlung BW</OFFICIAL_NAME>
23
			<ENGLISH_NAME>Landesfilmsammlung BW</ENGLISH_NAME>
24
			<ICON_URI>http://www.hdf.dokumentarfilm.info/filmarchiv/index.php</ICON_URI>
25
			<COUNTRY/>
26
			<LOCATION>
27
				<LONGITUDE>-9.183</LONGITUDE>
28
				<LATITUDE>38.7</LATITUDE>
29
				<TIMEZONE>1.0</TIMEZONE>
30
			</LOCATION>
31
			<REPOSITORY_WEBPAGE>http://www.hdf.dokumentarfilm.info/filmarchiv/index.php/</REPOSITORY_WEBPAGE>
32
			<REPOSITORY_INSTITUTION/>
33
			<ADMIN_INFO>sandro.labruzzo@isti.cnr.it</ADMIN_INFO>
34
			<INTERFACES>
35
				<INTERFACE active="false" compliance="efg" contentDescription="metadata" id="api_________::lbw::0" label="content provider" removable="false" typology="efg:contentprovider">
36
					<ACCESS_PROTOCOL extensions="efg">filesystem</ACCESS_PROTOCOL>
37
					<BASE_URL>file:///var/lib/efg-import/LBW</BASE_URL>
38
					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']</INTERFACE_EXTRA_FIELD>
39
				</INTERFACE>
40
			</INTERFACES>
41
			<EXTRA_FIELDS>
42
				<FIELD>
43
					<key>DataSourceId</key>
44
					<value>lbw</value>
45
				</FIELD>
46
				<FIELD>
47
					<key>NamespacePrefix</key>
48
					<value>lbw</value>
49
				</FIELD>
50
				<FIELD>
51
					<key>VERIFIED</key>
52
					<value>NO</value>
53
				</FIELD>
54
			</EXTRA_FIELDS>
55
			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
56
		</CONFIGURATION>
57
		<STATUS>
58
			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
59
		</STATUS>
60
		<QOS>
61
			<AVAILABILITY>0</AVAILABILITY>
62
			<CAPACITY/>
63
			<THROUGHPUT>0.0</THROUGHPUT>
64
		</QOS>
65
		<SECURITY_PARAMETERS/>
66
		<BLACKBOARD/>
67
	</BODY>
68
</RESOURCE_PROFILE>
webapps/dnet-efg-container/trunk/src/main/resources/eu/dnetlib/cnr-site.properties
1 1
container.hostname								= 	localhost
2
container.context=app
3
container.port=8280
2 4
services.is.store.database.bean          		=   persistentExistDatabase
3 5
#services.is.store.database.bean                = 	temporaryExistDatabase
4 6

  
modules/dnet-wds/trunk/test/java/eu/dnetlib/wds/collector/plugins/CMRIteratorTest.java
1
package eu.dnetlib.wds.collector.plugins;
2

  
3
import java.io.BufferedWriter;
4
import java.io.IOException;
5
import java.nio.charset.Charset;
6
import java.nio.file.FileSystems;
7
import java.nio.file.Files;
8
import java.nio.file.Path;
9

  
10
import org.junit.Test;
11

  
12
/**
13
 * Created by sandro on 5/27/16.
14
 */
15
public class CMRIteratorTest {
16

  
17
	final static String BASE_URL_PAGE = "https://cmr.earthdata.nasa.gov/search/collections.json?pretty=true&page_num=%d";
18

  
19
	@Test
20
	public void test() throws Exception {
21

  
22
		CMRIterator it = new CMRIterator();
23
		int i = 1;
24

  
25
		Charset charset = Charset.forName("UTF-8");
26

  
27
		Path file = FileSystems.getDefault().getPath("/tmp/out.json");
28
		try (BufferedWriter writer = Files.newBufferedWriter(file, charset)) {
29
			while (it.hasNext()) {
30

  
31
				final String s = it.next();
32
				writer.write(s, 0, s.length());
33
				writer.newLine();
34
				System.out.println("Writed  " + i++);
35
			}
36
			writer.close();
37

  
38
		} catch (IOException x) {
39
			System.err.format("IOException: %s%n", x);
40
		}
41

  
42
	}
43

  
44
}
modules/dnet-wds/trunk/src/main/java/eu/dnetlib/wds/collector/plugins/CMRCollectorPlugin.java
1
package eu.dnetlib.wds.collector.plugins;
2

  
3
import eu.dnetlib.rmi.data.CollectorServiceException;
4
import eu.dnetlib.rmi.data.InterfaceDescriptor;
5
import eu.dnetlib.rmi.data.plugin.AbstractCollectorPlugin;
6

  
7
/**
8
 * Created by sandro on 5/27/16.
9
 */
10
public class CMRCollectorPlugin extends AbstractCollectorPlugin {
11

  
12
	@Override
13
	public Iterable<String> collect(final InterfaceDescriptor interfaceDescriptor, final String fromDate, final String untilDate)
14
			throws CollectorServiceException {
15
		return () -> new CMRIterator();
16
	}
17
}
modules/dnet-wds/trunk/src/main/java/eu/dnetlib/wds/collector/plugins/CMRIterator.java
1
package eu.dnetlib.wds.collector.plugins;
2

  
3
import java.net.URL;
4
import java.util.ArrayList;
5
import java.util.Iterator;
6
import java.util.List;
7

  
8
import com.google.gson.JsonArray;
9
import com.google.gson.JsonElement;
10
import com.google.gson.JsonParser;
11
import org.apache.commons.io.IOUtils;
12
import org.apache.commons.logging.Log;
13
import org.apache.commons.logging.LogFactory;
14

  
15
/**
16
 * Created by sandro on 5/27/16.
17
 */
18
public class CMRIterator implements Iterator<String> {
19

  
20
	private final static String BASE_URL_PAGE = "https://cmr.earthdata.nasa.gov/search/collections.json?pretty=true&page_size=50&page_num=%d";
21

  
22
	private static final Log log = LogFactory.getLog(CMRIterator.class);
23

  
24
	private int current_page = 1;
25

  
26
	private String nextElement = null;
27

  
28
	private List<String> buffer = new ArrayList<>();
29

  
30
	public CMRIterator() {
31
		calculateNextElement();
32
	}
33

  
34
	private void calculateNextElement() {
35
		try {
36
			final URL myURL = new URL(String.format(BASE_URL_PAGE, current_page));
37

  
38
			final String result = IOUtils.toString(myURL.openStream());
39

  
40
			JsonElement element = new JsonParser().parse(result);
41
			final JsonArray asJsonArray = element.getAsJsonObject().get("feed").getAsJsonObject().get("entry").getAsJsonArray();
42

  
43
			if (asJsonArray.size() > 0) {
44
				for (JsonElement el : asJsonArray) {
45
					buffer.add(el.toString());
46
				}
47
				current_page++;
48
				return;
49
			}
50

  
51
		} catch (Throwable e) {
52
			log.error(String.format("Error on calculate next Element, The iterator will be shut down"), e);
53

  
54
		}
55

  
56
		this.nextElement = null;
57

  
58
	}
59

  
60
	@Override
61
	public boolean hasNext() {
62
		return this.buffer.size() > 0;
63
	}
64

  
65
	@Override
66
	public String next() {
67
		final String temp = buffer.remove(0);
68
		if (buffer.size() < 10) {
69
			calculateNextElement();
70
		}
71
		return temp;
72
	}
73
}
modules/dnet-wds/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/workflows/repo_bye_wds.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<RESOURCE_PROFILE>
3
	<HEADER>
4
		<RESOURCE_IDENTIFIER value="1bd0b467-e6c1-40a5-a8f4-c344e0305ef6_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ=="/>
5
		<RESOURCE_TYPE value="WorkflowTemplateDSResourceType"/>
6
		<RESOURCE_KIND value="WorkflowTemplateDSResources"/>
7
		<RESOURCE_URI value=""/>
8
		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<PARAMETERS>
13
				<PARAM name="dsId" description="Datasource Id" required="true" type="string"/>
14
				<PARAM name="interface" description="Datasource Interface" required="true" type="string"/>
15
				<PARAM name="collMdstoreId" description="Store for collected records" required="true" type="string"/>
16
				<PARAM name="cleanMdstoreId" description="Store for cleaned records" required="true" type="string"/>
17
			</PARAMETERS>
18
			<WORKFLOW>
19

  
20
				<NODE name="deleteCollMdStore" type="DeleteMDStore" isStart="true">
21
					<DESCRIPTION>Delete the mdstore of collected records</DESCRIPTION>
22
					<PARAMETERS>
23
						<PARAM name="mdstoreId" ref="collMdstoreId"/>
24
					</PARAMETERS>
25
					<ARCS>
26
						<ARC to="deleteCleanMdStore"/>
27
					</ARCS>
28
				</NODE>
29

  
30
				<NODE name="deleteCleanMdStore" type="DeleteMDStore">
31
					<DESCRIPTION>Delete the mdstore of cleaned records</DESCRIPTION>
32
					<PARAMETERS>
33
						<PARAM name="mdstoreId" ref="cleanMdstoreId"/>
34
					</PARAMETERS>
35
					<ARCS>
36
						<ARC to="deletePatchMdStore"/>
37
					</ARCS>
38
				</NODE>
39

  
40
				<NODE name="removeApiExtraFields" type="RemoveApiExtraFields">
41
					<DESCRIPTION>Reset the extrafields of the api</DESCRIPTION>
42
					<PARAMETERS>
43
						<PARAM name="datasourceId" ref="dsId"/>
44
						<PARAM name="datasourceInterface" ref="interface"/>
45
						<PARAM name="fields">
46
							<LIST>
47
								<ITEM value="last_collection_total"/>
48
								<ITEM value="last_collection_date"/>
49
								<ITEM value="last_collection_mdId"/>
50
								<ITEM value="last_aggregation_total"/>
51
								<ITEM value="last_aggregation_date"/>
52
								<ITEM value="last_aggregation_mdId"/>
53
							</LIST>
54
						</PARAM>
55
					</PARAMETERS>
56
					<ARCS>
57
						<ARC to="success"/>
58
					</ARCS>
59
				</NODE>
60
			</WORKFLOW>
61
		</CONFIGURATION>
62
	</BODY>
63
</RESOURCE_PROFILE>
modules/dnet-wds/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/workflows/repo_hi_wds.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<RESOURCE_PROFILE>
3
	<HEADER>
4
		<RESOURCE_IDENTIFIER value="507b7858-a02c-4354-a3b5-13d42f1e7a26_V29ya2Zsb3dEU1Jlc291cmNlcy9Xb3JrZmxvd0RTUmVzb3VyY2VUeXBl"/>
5
		<RESOURCE_TYPE value="WorkflowDSResourceType"/>
6
		<RESOURCE_KIND value="WorkflowDSResources"/>
7
		<RESOURCE_URI value=""/>
8
		<DATE_OF_CREATION value="2015-12-15T15:43:51.0Z"/>
9
	</HEADER>
10
	<BODY>
11
		<WORKFLOW_NAME>Aggregate and Index efg content [Ingestion]</WORKFLOW_NAME>
12
		<WORKFLOW_DESCRIPTION>Aggregate and Index wds content [Ingestion]</WORKFLOW_DESCRIPTION>
13
		<WORKFLOW_INFO>
14
			<FIELD name="Action">Aggregate Metadata</FIELD>
15
			<FIELD name="Consequence IS">Ingestion</FIELD>
16
			<FIELD name="Datasource class">DataRepository</FIELD>
17
			<FIELD name="Content">datasets</FIELD>
18
		</WORKFLOW_INFO>
19
		<WORKFLOW_FAMILY>REPO_HI</WORKFLOW_FAMILY>
20
		<WORKFLOW_PRIORITY>20</WORKFLOW_PRIORITY>
21
		<CONFIGURATION status="EXECUTABLE" start="MANUAL">
22
			<PARAMETERS/>
23
			<WORKFLOW>
24
				<NODE name="VerifyDatasource" type="VerifyDatasource" isStart="true">
25
					<DESCRIPTION>Verify if DS is pending</DESCRIPTION>
26
					<PARAMETERS>
27
						<PARAM name="expectedInterfaceTypologyPrefixes" value="wds"/>
28
						<PARAM name="expectedCompliancePrefixes" value="wds"/>
29
					</PARAMETERS>
30
					<ARCS>
31
						<ARC to="registerWf"/>
32
						<ARC to="validateDs" name="validateDs"/>
33
					</ARCS>
34
				</NODE>
35

  
36
				<NODE name="validateDs" type="ValidateDatasource">
37
					<DESCRIPTION>Validate DS</DESCRIPTION>
38
					<PARAMETERS/>
39
					<ARCS>
40
						<ARC to="registerWf"/>
41
					</ARCS>
42
				</NODE>
43

  
44
				<NODE name="registerWf" type="RegisterWorkflowFromTemplate">
45
					<DESCRIPTION>Create Workflow</DESCRIPTION>
46
					<PARAMETERS>
47
						<PARAM name="wfName" value="Aggregate WDS content [Ingestion]"/>
48
						<PARAM name="wfTemplate" value="/eu/dnetlib/wds/workflows/repo-hi/wds_aggregation_wf.xml.st"/>
49
						<PARAM name="description" value="Aggregate and Validate Metadata (datasets) from DataRepository [Ingestion]"/>
50
					</PARAMETERS>
51
					<ARCS>
52
						<ARC to="createWDSNative"/>
53
						<ARC to="createWDSCleaned"/>
54
					</ARCS>
55
				</NODE>
56

  
57
				<NODE name="createWDSNative" type="CreateMDStore">
58
					<DESCRIPTION>Create oai_dc store</DESCRIPTION>
59
					<PARAMETERS>
60
						<PARAM name="format" value="GMF"/>
61
						<PARAM name="interpretation" value="native"/>
62
						<PARAM name="layout" value="store"/>
63
						<PARAM name="outputPrefix" value="harv_"/>
64
					</PARAMETERS>
65
					<ARCS>
66
						<ARC to="updateParameters"/>
67
					</ARCS>
68
				</NODE>
69

  
70
				<NODE name="createWDSCleaned" type="CreateMDStore">
71
					<DESCRIPTION>Create oai_dc store</DESCRIPTION>
72
					<PARAMETERS>
73
						<PARAM name="format" value="ODF"/>
74
						<PARAM name="interpretation" value="cleaned"/>
75
						<PARAM name="layout" value="store"/>
76
						<PARAM name="outputPrefix" value="clean_"/>
77
					</PARAMETERS>
78
					<ARCS>
79
						<ARC to="updateParameters"/>
80
					</ARCS>
81
				</NODE>
82

  
83

  
84
				<NODE name="updateParameters" type="UpdateWfParameters" isJoin="true">
85
					<DESCRIPTION>Update Workflow Parameters</DESCRIPTION>
86
					<PARAMETERS>
87
						<PARAM name="envParams">
88
							<MAP>
89
								<ENTRY key="collMdstoreId" value="harv_id"/>
90
								<ENTRY key="cleanMdstoreId" value="clean_id"/>
91
							</MAP>
92
						</PARAM>
93
					</PARAMETERS>
94
					<ARCS>
95
						<ARC to="success"/>
96
					</ARCS>
97
				</NODE>
98
			</WORKFLOW>
99
		</CONFIGURATION>
100
		<NOTIFICATIONS/>
101
		<SCHEDULING enabled="false">
102
			<CRON>9 9 9 ? * *</CRON>
103
			<MININTERVAL>10080</MININTERVAL>
104
		</SCHEDULING>
105
		<STATUS/>
106
	</BODY>
107
</RESOURCE_PROFILE>
modules/dnet-wds/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/workflows/wds_collection_template.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<RESOURCE_PROFILE>
3
	<HEADER>
4
		<RESOURCE_IDENTIFIER value="35fc85d0-4455-42e0-85ce-7ec4e008f4d4_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ=="/>
5
		<RESOURCE_TYPE value="WorkflowTemplateDSResourceType"/>
6
		<RESOURCE_KIND value="WorkflowTemplateDSResources"/>
7
		<RESOURCE_URI value=""/>
8
		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<PARAMETERS>
13
				<PARAM name="dsId" description="Datasource Id" required="true" type="string"/>
14
				<PARAM name="interface" description="Datasource Interface" required="true" type="string"/>
15
				<PARAM name="collMdstoreId" description="Store for collected records" required="true" type="string"/>
16
			</PARAMETERS>
17
			<WORKFLOW>
18
				<NODE name="COLLECT_REFRESH" type="CollectRecords" isStart="true">
19
					<DESCRIPTION>Start Harvesting</DESCRIPTION>
20
					<PARAMETERS>
21
						<PARAM name="datasourceId" ref="dsId"/>
22
						<PARAM name="datasourceInterface" ref="interface"/>
23
						<PARAM name="eprParam" value="collected_epr"/>
24
					</PARAMETERS>
25
					<ARCS>
26
						<ARC to="MD_BUILDER_REFRESH"/>
27
					</ARCS>
28
				</NODE>
29
				<NODE name="MD_BUILDER_REFRESH" type="MdBuilder">
30
					<DESCRIPTION>Prepare mdstore records</DESCRIPTION>
31
					<PARAMETERS>
32
						<PARAM name="inputEprParam" value="collected_epr"/>
33
						<PARAM name="outputEprParam" value="store_epr"/>
34
						<PARAM name="datasourceId" ref="dsId"/>
35
						<PARAM name="datasourceInterface" ref="interface"/>
36
					</PARAMETERS>
37
					<ARCS>
38
						<ARC to="STORE_REFRESH"/>
39
					</ARCS>
40
				</NODE>
41
				<NODE name="STORE_REFRESH" type="StoreMDStoreRecords">
42
					<DESCRIPTION>Store mdstore records</DESCRIPTION>
43
					<PARAMETERS>
44
						<PARAM name="mdId" ref="collMdstoreId"/>
45
						<PARAM name="storingType" value="REFRESH"/>
46
						<PARAM name="eprParam" value="store_epr"/>
47
					</PARAMETERS>
48
					<ARCS>
49
						<ARC to="UPDATE_INFO"/>
50
					</ARCS>
51
				</NODE>
52
				<NODE name="UPDATE_INFO" type="MDStoreToApiExtraField">
53
					<DESCRIPTION>Update datasouce API extra fields</DESCRIPTION>
54
					<PARAMETERS>
55
						<PARAM name="mdId" ref="collMdstoreId"/>
56
						<PARAM name="datasourceId" ref="dsId"/>
57
						<PARAM name="datasourceInterface" ref="interface"/>
58
						<PARAM name="extraFieldForTotal" value="last_collection_total"/>
59
						<PARAM name="extraFieldForDate" value="last_collection_date"/>
60
						<PARAM name="extraFieldForMdId" value="last_collection_mdId"/>
61
					</PARAMETERS>
62
					<ARCS>
63
						<ARC to="success"/>
64
					</ARCS>
65
				</NODE>
66

  
67
			</WORKFLOW>
68
		</CONFIGURATION>
69
	</BODY>
70
</RESOURCE_PROFILE>
modules/dnet-wds/trunk/src/main/resources/eu/dnetlib/bootstrap/profiles/workflows/wds_transform_template.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<RESOURCE_PROFILE>
3
	<HEADER>
4
		<RESOURCE_IDENTIFIER value="da3531c6-2bf6-48ab-848b-bd4c6379fd65_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ=="/>
5
		<RESOURCE_TYPE value="WorkflowTemplateDSResourceType"/>
6
		<RESOURCE_KIND value="WorkflowTemplateDSResources"/>
7
		<RESOURCE_URI value=""/>
8
		<DATE_OF_CREATION value="2001-12-31T12:00:00"/>
9
	</HEADER>
10
	<BODY>
11
		<CONFIGURATION>
12
			<PARAMETERS>
13
				<PARAM name="dsId" description="Datasource Id" required="true" type="string"/>
14
				<PARAM name="interface" description="Datasource Interface" required="true" type="string"/>
15
				<PARAM name="collMdstoreId" description="Store for collected records" required="true" type="string"/>
16
				<PARAM name="cleanMdstoreId" description="Store for cleaned records" required="true" type="string"/>
17
				<PARAM name="ruleId" description="Transformation Rule Id" required="true" type="string"/>
18
			</PARAMETERS>
19
			<WORKFLOW>
20
				<NODE name="fetchOriginals" type="FetchMDStoreRecords" isStart="true">
21
					<DESCRIPTION>Fetch records from MDStore</DESCRIPTION>
22
					<PARAMETERS>
23
						<PARAM name="mdId" ref="collMdstoreId"/>
24
						<PARAM name="mdFormat" value="oai_efg"/>
25
						<PARAM name="eprParam" value="orig_epr"/>
26
					</PARAMETERS>
27
					<ARCS>
28
						<ARC to="clean"/>
29
					</ARCS>
30
				</NODE>
31
				<NODE name="transform" type="Transform">
32
					<DESCRIPTION>Clean original records</DESCRIPTION>
33
					<PARAMETERS>
34
						<PARAM name="ruleId" ref="ruleId"/>
35
						<PARAM name="inputEprParam" value="orig_epr"/>
36
						<PARAM name="outputEprParam" value="clean_epr"/>
37
					</PARAMETERS>
38
					<ARCS>
39
						<ARC to="storeRecords"/>
40
					</ARCS>
41
				</NODE>
42
				<NODE name="storeRecords" type="StoreMDStoreRecords">
43
					<DESCRIPTION>Store mdtore records</DESCRIPTION>
44
					<PARAMETERS>
45
						<PARAM name="mdId" ref="cleanMdstoreId"/>
46
						<PARAM name="storingType" value="REFRESH"/>
47
						<PARAM name="eprParam" value="clean_epr"/>
48
					</PARAMETERS>
49
					<ARCS>
50
						<ARC to="UPDATE_INFO"/>
51
					</ARCS>
52
				</NODE>
53
				<NODE name="UPDATE_INFO" type="MDStoreToApiExtraField">
54
					<DESCRIPTION>Update datasouce API extra fields</DESCRIPTION>
55
					<PARAMETERS>
56
						<PARAM name="mdId" ref="cleanMdstoreId"/>
57
						<PARAM name="datasourceId" ref="dsId"/>
58
						<PARAM name="datasourceInterface" ref="interface"/>
59
						<PARAM name="extraFieldForTotal" value="last_aggregation_total"/>
60
						<PARAM name="extraFieldForDate" value="last_aggregation_date"/>
61
						<PARAM name="extraFieldForMdId" value="last_aggregation_mdId"/>
62
					</PARAMETERS>
63
					<ARCS>
64
						<ARC to="success"/>
65
					</ARCS>
66
				</NODE>
67
			</WORKFLOW>
68
		</CONFIGURATION>
69
	</BODY>
70
</RESOURCE_PROFILE>
modules/dnet-wds/trunk/src/main/resources/eu/dnetlib/wds/workflows/repo-hi/wds_aggregation_wf.xml.st
1
<?xml version="1.0" encoding="UTF-8"?>
2
<RESOURCE_PROFILE>
3
    <HEADER>
4
        <RESOURCE_IDENTIFIER value=""/>
5
        <RESOURCE_TYPE value="WorkflowDSResourceType"/>
6
        <RESOURCE_KIND value="WorkflowDSResources"/>
7
        <RESOURCE_URI value=""/>
8
        <DATE_OF_CREATION value=""/>
9
    </HEADER>
10
    <BODY>
11
        <WORKFLOW_NAME>$name$</WORKFLOW_NAME>
12
        <WORKFLOW_DESCRIPTION>$desc$</WORKFLOW_DESCRIPTION>
13
        <WORKFLOW_INFO />
14
        <WORKFLOW_FAMILY>aggregator</WORKFLOW_FAMILY>
15
        <WORKFLOW_PRIORITY>$priority$</WORKFLOW_PRIORITY>
16
        <DATASOURCE id="$dsId$" interface="$interface$" />
17

  
18
        <CONFIGURATION status="WAIT_SYS_SETTINGS" start="MANUAL">
19
            <PARAMETERS>
20
            	<PARAM name="collMdstoreId"         description="Store for collected records"               required="true" managedBy="system" category="MDSTORE_ID"/>
21
            	<PARAM name="cleanMdstoreId"        description="Store for cleaned records"                 required="true" managedBy="system" category="MDSTORE_ID"/>
22
            	<PARAM name="cleanRuleId"           description="Cleaning Rule Identifier"                  required="true" managedBy="user"   category="TRANSFORMATION_RULE_ID" type="string" function="listProfiles('TransformationRuleDSResourceType', '//TITLE')"/>
23
            </PARAMETERS>
24
            <WORKFLOW>
25
                <NODE isStart="true" name="collection" type="LaunchWorkflowTemplate">
26
                    <DESCRIPTION>Collect records</DESCRIPTION>
27
                    <PARAMETERS>
28
                    	<PARAM name="wfTemplateId" value="35fc85d0-4455-42e0-85ce-7ec4e008f4d4_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==" />
29
                    	<PARAM name="wfTemplateParams">
30
                    		<MAP>
31
                    			<ENTRY key="dsId"          value="$dsId$" />
32
 								<ENTRY key="interface"     value="$interface$" />
33
	 							<ENTRY key="collMdstoreId" ref="collMdstoreId" />
34
                    		</MAP>
35
                    	</PARAM>
36
                    </PARAMETERS>
37
                    <ARCS>
38
                        <ARC to="clean"/>
39
                    </ARCS>
40
                </NODE>
41
                <NODE name="transform" type="LaunchWorkflowTemplate">
42
                    <DESCRIPTION>Transform records</DESCRIPTION>
43
                    <PARAMETERS>
44
                    	<PARAM name="wfTemplateId" value="da3531c6-2bf6-48ab-848b-bd4c6379fd65_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==" />
45
                    	<PARAM name="wfTemplateParams">
46
                    		<MAP>
47
                    			<ENTRY key="dsId"           value="$dsId$" />
48
 								<ENTRY key="interface"      value="$interface$" />
49
 								<ENTRY key="collMdstoreId"  ref="collMdstoreId" />
50
 								<ENTRY key="cleanMdstoreId" ref="cleanMdstoreId" />
51
 								<ENTRY key="ruleId"         ref="cleanRuleId" />
52
 							</MAP>
53
 						</PARAM>
54
                    </PARAMETERS>
55
                    <ARCS>
56
                        <ARC to="success"/>
57
                    </ARCS>
58
                </NODE>
59

  
60
            <DESTROY_WORKFLOW_TEMPLATE id="1bd0b467-e6c1-40a5-a8f4-c344e0305ef6_V29ya2Zsb3dUZW1wbGF0ZURTUmVzb3VyY2VzL1dvcmtmbG93VGVtcGxhdGVEU1Jlc291cmNlVHlwZQ==">
61
            	<PARAMETERS>
62
	            	<PARAM name="dsId"                  value="$dsId$" />
63
					<PARAM name="interface"             value="$interface$" />
64
					<PARAM name="collMdstoreId"         ref="collMdstoreId" />
65
					<PARAM name="cleanMdstoreId"        ref="cleanMdstoreId" />
66
				</PARAMETERS>
67
            </DESTROY_WORKFLOW_TEMPLATE>
68
        </CONFIGURATION>
69

  
70
        <NOTIFICATIONS/>
71

  
72
        <SCHEDULING enabled="false">
73
            <CRON>9 9 9 ? * *</CRON>
74
            <MININTERVAL>10080</MININTERVAL>
75
        </SCHEDULING>
76
        <STATUS/>
77
    </BODY>
78
</RESOURCE_PROFILE>
modules/dnet-wds/trunk/pom.xml
17 17
  </scm>
18 18

  
19 19
  <dependencies>
20
    <dependency>
21
      <groupId>junit</groupId>
22
      <artifactId>junit</artifactId>
23
      <version>${junit.version}</version>
24
      <scope>test</scope>
25
    </dependency>
20 26

  
21
    
27
    <dependency>
28
      <groupId>eu.dnetlib</groupId>
29
      <artifactId>dnet-core-components</artifactId>
30
      <version>1.0.0-SNAPSHOT</version>
31
    </dependency>
32

  
22 33
  </dependencies>
23 34
</project>
modules/dnet-msro-service/trunk/src/main/java/eu/dnetlib/msro/workflows/nodes/oai/OAIDropStoreJobNode.java
1 1
package eu.dnetlib.msro.workflows.nodes.oai;
2 2

  
3
import org.apache.commons.lang3.StringUtils;
4

  
5 3
import eu.dnetlib.enabling.tools.blackboard.BlackboardJob;
6 4
import eu.dnetlib.msro.workflows.procs.Env;
7 5
import eu.dnetlib.msro.workflows.procs.Token;
6
import org.apache.commons.lang3.StringUtils;
8 7

  
9 8
public class OAIDropStoreJobNode extends AbstractOAIJobNode {
10 9

  
......
13 12
	private String setSpecParam;
14 13
	private String setSpec;
15 14

  
15
	private String oai_dbName;
16

  
16 17
	@Override
17 18
	void completePrepareJob(final BlackboardJob job, final Token token) {
18 19
		job.setAction("DROP_STORE");
19 20
		job.getParameters().put("format", token.getEnv().getAttribute(this.formatParam, String.class));
20 21
		job.getParameters().put("layout", token.getEnv().getAttribute(this.layoutParam, String.class));
21 22
		job.getParameters().put("interpretation", token.getEnv().getAttribute(this.interpretationParam, String.class));
23
		job.getParameters().put("oai_dbName", getOai_dbName());
22 24
		final String set = getTheSetName(token.getEnv());
23 25
		if (StringUtils.isNotBlank(set)) {
24 26
			job.getParameters().put("set", set);
......
34 36

  
35 37
	}
36 38

  
39
	public String getOai_dbName() {
40

  
41
		return oai_dbName;
42
	}
43

  
44
	public void setOai_dbName(final String oai_dbName) {
45
		this.oai_dbName = oai_dbName;
46
	}
47

  
37 48
	public String getFormatParam() {
38 49
		return this.formatParam;
39 50
	}
modules/dnet-efg/trunk/src/main/java/eu/dnetlib/efg/workflows/nodes/ObtainDataSourceParamsJobNode.java
1
package eu.dnetlib.efg.workflows.nodes;
2

  
3
import eu.dnetlib.enabling.locators.UniqueServiceLocator;
4
import eu.dnetlib.msro.workflows.graph.Arc;
5
import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
6
import eu.dnetlib.msro.workflows.procs.Env;
7
import eu.dnetlib.rmi.enabling.ISLookUpService;
8
import org.springframework.beans.factory.annotation.Autowired;
9

  
10
/**
11
 * Created by sandro on 5/26/16.
12
 */
13
public class ObtainDataSourceParamsJobNode extends SimpleJobNode {
14

  
15
	private String providerId;
16

  
17
	private String OAIformat;
18

  
19
	private String OAILayout;
20

  
21
	private String OAIInterpretation;
22

  
23
	@Autowired
24
	private UniqueServiceLocator serviceLocator;
25

  
26
	@Override
27
	protected String execute(final Env env) throws Exception {
28

  
29
		final String query = "let $x := /*[.//RESOURCE_IDENTIFIER/@value='" + providerId + "']//EXTRA_FIELDS\n"
30
				+ "return concat($x/FIELD[./key='OpenAireDataSourceId']/value, ' @@@ ', $x/FIELD[./key='NamespacePrefix']/value)";
31

  
32
		final String[] arr = serviceLocator.getService(ISLookUpService.class).getResourceProfileByQuery(query).split("@@@");
33

  
34
		final String nsPrefix = arr[1].trim();
35
		env.setAttribute("datasource_namespacePrefix", nsPrefix);
36

  
37
		env.setAttribute("OAIformat", OAIformat);
38
		env.setAttribute("OAILayout", OAILayout);
39
		env.setAttribute("OAIInterpretation", OAIInterpretation);
40

  
41
		return Arc.DEFAULT_ARC;
42
	}
43

  
44
	public String getProviderId() {
45
		return providerId;
46
	}
47

  
48
	public void setProviderId(final String providerId) {
49
		this.providerId = providerId;
50
	}
51

  
52
	public String getOAIformat() {
53
		return OAIformat;
54
	}
55

  
56
	public void setOAIformat(final String OAIformat) {
57
		this.OAIformat = OAIformat;
58
	}
59

  
60
	public String getOAILayout() {
61
		return OAILayout;
62
	}
63

  
64
	public void setOAILayout(final String OAILayout) {
65
		this.OAILayout = OAILayout;
66
	}
67

  
68
	public String getOAIInterpretation() {
69
		return OAIInterpretation;
70
	}
71

  
72
	public void setOAIInterpretation(final String OAIInterpretation) {
73
		this.OAIInterpretation = OAIInterpretation;
74
	}
75
}
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/efg/lightui/xslt/efg_2_document.xslt
16 16
			<div class="col-xs-10">
17 17

  
18 18
				<xsl:choose>
19
					<xsl:when test=" $type = 'avcreation' ">
19
					<xsl:when test=" $type = 'avcreation' or $type = 'nonavcreation' ">
20 20
						<h1 id="overview">
21 21
							<xsl:value-of select="//efg:title[1]/efg:text"/>
22 22
						</h1>
23 23
					</xsl:when>
24
					<xsl:when test=" $type = 'nonavcreation' ">
25
						<h1 id="overview">
26
							<xsl:value-of select="//efg:title[1]/efg:text"/>
27
						</h1>
28
					</xsl:when>
29 24

  
30
					<xsl:when test="$type ='person'">
25
					<xsl:when test="$type ='person' or $type ='corporate' or $type ='group' ">
31 26
						<h1 id="overview">
32 27
							<xsl:for-each select="//efg:name">
33 28
								<xsl:value-of select="concat(.,' ')"/>
......
35 30
						</h1>
36 31
					</xsl:when>
37 32

  
38
					<xsl:when test="$type ='corporate'">
39
						<h1 id="overview">
40
							<xsl:for-each select="//efg:name">
41
								<xsl:value-of select="concat(.,' ')"/>
42
							</xsl:for-each>
43
						</h1>
44
					</xsl:when>
45 33

  
46 34
				</xsl:choose>
47 35

  
modules/dnet-efg/trunk/src/main/resources/eu/dnetlib/efg/xslt/efg2edm.xslt
9 9
	<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
10 10
	<xsl:template match="/">
11 11
		<xsl:choose>
12
			<xsl:when test="count(//efg:efgEntity/efg:avcreation//efg:title) &gt; 0">
12
			<xsl:when test="count(//efg:efgEntity/efg:avcreation//efg:title) &gt; 0 and count(//efg:isShownBy) &gt; 0">
13 13
				<oai:record xmlns:dri="http://www.driver-repository.eu/namespace/dri"
14 14
				            xmlns:oai="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
15 15
					<oai:header>
......
35 35
				</oai:record>
36 36
			</xsl:when>
37 37

  
38
			<xsl:when test="count(//efg:efgEntity/efg:nonavcreation//efg:title) &gt; 0">
38
			<xsl:when test="count(//efg:efgEntity/efg:nonavcreation//efg:title) &gt; 0 and count(//efg:isShownBy) &gt; 0">
39 39
				<oai:record xmlns:dri="http://www.driver-repository.eu/namespace/dri"
40 40
				            xmlns:oai="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
41 41
					<oai:header>
......
100 100
				         xmlns:ore="http://www.openarchives.org/ore/terms/"
101 101
				         xmlns:dcterms="http://purl.org/dc/terms/"
102 102
				         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
103
				         xsi:schemaLocation="http://www.w3.org/1999/02/22-rdf-syntax-ns# EDM-INTERNAL.xsd"
104
				>
103
				         xsi:schemaLocation="http://www.w3.org/1999/02/22-rdf-syntax-ns# EDM-INTERNAL.xsd">
105 104

  
106 105
					<xsl:variable name="efg_provider" select="//efg:provider"/>
107 106

  
108 107

  
109 108
					<ore:Aggregation>
110 109
						<xsl:attribute name="rdf:about">
111
							<xsl:value-of select="concat('AGGR::', $efg_provider, //efg:sourceID)"/>
110
							<xsl:value-of select="//efg:sourceID"/>
112 111
						</xsl:attribute>
113 112

  
114 113
						<edm:aggregatedCHO>
......
134 133

  
135 134
									<edm:aggregatedCHO>
136 135
										<xsl:attribute name="rdf:resource">
137
											<xsl:value-of select=".//efg:identifier"/>
136
											<xsl:value-of select=".//efg:isShownBy"/>
138 137
										</xsl:attribute>
139 138
									</edm:aggregatedCHO>
139
									<xsl:variable name="rightStatus">
140
										<xsl:value-of
141
												select="translate(normalize-space(.//efg:rightsStatus), $upper, $small)"
142
										/>
143
									</xsl:variable>
144
									<xsl:choose>
145
										<xsl:when test="$rightStatus = 'copyright protected'">
146
											<edm:rights>http://www.europeana.eu/rights/rr-f/</edm:rights>
147
										</xsl:when>
148
										<xsl:when test="$rightStatus = 'not copyright protected'">
149
											<edm:rights>http://creativecommons.org/publicdomain/mark/1.0/</edm:rights>
150
										</xsl:when>
151
										<xsl:when test="$rightStatus = 'public domain'">
152
											<edm:rights>http://creativecommons.org/publicdomain/mark/1.0/</edm:rights>
153
										</xsl:when>
154
										<xsl:when test="$rightStatus = 'orphan'">
155
											<edm:rights>http://www.europeana.eu/rights/orphan-work-eu/</edm:rights>
156
										</xsl:when>
157
										<xsl:when
158
												test="$rightStatus = 'no known copyright / orphan work'">
159
											<edm:rights>http://www.europeana.eu/rights/orphan-work-eu/</edm:rights>
160
										</xsl:when>
161
										<xsl:otherwise>
162
											<edm:rights>http://www.europeana.eu/rights/rr-f/</edm:rights>
163
										</xsl:otherwise>
164
									</xsl:choose>
165

  
140 166
									<dc:rights>
141 167
										<xsl:value-of select=".//efg:rightsHolder"/>
142 168
									</dc:rights>
169

  
143 170
									<xsl:choose>
144 171
										<xsl:when test="string-length($rightStatus) &gt; 0">
145 172
											<edm:rights>
......
157 184
											<xsl:value-of select="."/>
158 185
										</edm:isShownAt>
159 186
									</xsl:for-each>
160
									<xsl:for-each select="//efg:thumbnail">
161
										<edm:isShownBy>
162
											<xsl:value-of select="."/>
163
										</edm:isShownBy>
164
									</xsl:for-each>
165 187

  
188
									<xsl:choose>
189
										<xsl:when test="count(//efg:thumbnail) &gt; 0">
190
											<xsl:for-each select="//efg:thumbnail">
191
												<edm:object>
192
													<xsl:value-of select="."/>
193
												</edm:object>
194
											</xsl:for-each>
195
										</xsl:when>
196
										<xsl:otherwise>
197
											<xsl:for-each select="//efg:isShownBy">
198
												<edm:object>
199
													<xsl:value-of select="."/>
200
												</edm:object>
201
											</xsl:for-each>
202
										</xsl:otherwise>
203
									</xsl:choose>
166 204

  
205

  
167 206
								</xsl:when>
168 207
							</xsl:choose>
169 208

  
170 209
						</xsl:for-each>
171 210

  
172
						<xsl:for-each select="//efg:nonavManifestation">
211
						<xsl:for-each select="//efg:nonAVManifestation">
173 212
							<xsl:variable name="status">
174 213
								<xsl:value-of
175 214
										select="translate(normalize-space(.//efg:digitalFormat/efg:status), $upper, $small)"
......
186 225

  
187 226
									<edm:aggregatedCHO>
188 227
										<xsl:attribute name="rdf:resource">
189
											<xsl:value-of select=".//efg:identifier"/>
228
											<xsl:value-of select=".//efg:isShownBy"/>
190 229
										</xsl:attribute>
191 230
									</edm:aggregatedCHO>
192
									<dc:rights>
193
										<xsl:value-of select=".//efg:rightsHolder"/>
194
									</dc:rights>
231
									<xsl:variable name="rightStatus">
232
										<xsl:value-of
233
												select="translate(normalize-space(.//efg:rightsStatus), $upper, $small)"
234
										/>
235
									</xsl:variable>
195 236
									<xsl:choose>
196
										<xsl:when test="string-length($rightStatus) &gt; 0">
197
											<edm:rights>
198
												<xsl:value-of select="$status"/>
199
											</edm:rights>
237
										<xsl:when test="$rightStatus = 'copyright protected'">
238
											<edm:rights>http://www.europeana.eu/rights/rr-f/</edm:rights>
200 239
										</xsl:when>
240
										<xsl:when test="$rightStatus = 'not copyright protected'">
241
											<edm:rights>http://creativecommons.org/publicdomain/mark/1.0/</edm:rights>
242
										</xsl:when>
243
										<xsl:when test="$rightStatus = 'public domain'">
244
											<edm:rights>http://creativecommons.org/publicdomain/mark/1.0/</edm:rights>
245
										</xsl:when>
246
										<xsl:when test="$rightStatus = 'orphan'">
247
											<edm:rights>http://www.europeana.eu/rights/orphan-work-eu/</edm:rights>
248
										</xsl:when>
249
										<xsl:when
250
												test="$rightStatus = 'no known copyright / orphan work'">
251
											<edm:rights>http://www.europeana.eu/rights/orphan-work-eu/</edm:rights>
252
										</xsl:when>
253
										<xsl:otherwise>
254
											<edm:rights>http://www.europeana.eu/rights/rr-f/</edm:rights>
255
										</xsl:otherwise>
201 256
									</xsl:choose>
202 257
									<xsl:for-each select="//efg:isShownBy">
203 258
										<edm:isShownBy>
......
209 264
											<xsl:value-of select="."/>
210 265
										</edm:isShownAt>
211 266
									</xsl:for-each>
212
									<xsl:for-each select="//efg:thumbnail">
213
										<edm:isShownBy>
214
											<xsl:value-of select="."/>
215
										</edm:isShownBy>
216
									</xsl:for-each>
267
									<dc:rights>
268
										<xsl:value-of select=".//efg:rightsHolder"/>
269
									</dc:rights>
270
									<xsl:choose>
271
										<xsl:when test="count(//efg:thumbnail) &gt; 0">
272
											<xsl:for-each select="//efg:thumbnail">
273
												<edm:object>
274
													<xsl:value-of select="."/>
275
												</edm:object>
276
											</xsl:for-each>
277
										</xsl:when>
278
										<xsl:otherwise>
279
											<xsl:for-each select="//efg:isShownBy">
280
												<edm:object>
281
													<xsl:value-of select="."/>
282
												</edm:object>
283
											</xsl:for-each>
284
										</xsl:otherwise>
285
									</xsl:choose>
217 286

  
218 287

  
219 288
								</xsl:when>
......
232 301

  
233 302
					<edm:ProvidedCHO>
234 303
						<xsl:attribute name="rdf:about">
235
							<xsl:value-of select="//efg:avcreation/efg:recordSource/efg:sourceID"/>
304
							<xsl:value-of select="//efg:recordSource[1]/efg:sourceID"/>
236 305
						</xsl:attribute>
237 306
						<xsl:for-each select="//efg:sourceID">
238
							<dc:idenetifier>
307
							<dc:identifier>
239 308
								<xsl:value-of select="."/>
240
							</dc:idenetifier>
309
							</dc:identifier>
241 310
						</xsl:for-each>
242 311
						<xsl:for-each select="//efg:language">
243 312
							<dc:language>
......
245 314
							</dc:language>
246 315
						</xsl:for-each>
247 316

  
248
						<xsl:for-each select="//efg:relPerson">
317
						<xsl:for-each select="//efg:avcreation//efg:relPerson">
249 318
							<xsl:variable name="person_type"
250 319
							              select="translate(normalize-space(./efg:type), $upper, $small)"/>
251 320
							<xsl:choose>
......
272 341
								</xsl:when>
273 342
							</xsl:choose>
274 343
						</xsl:for-each>
344

  
345

  
346
						<xsl:for-each select="//efg:nonavcreation//efg:relPerson">
347
							<xsl:variable name="person_type"
348
							              select="translate(normalize-space(./efg:type), $upper, $small)"/>
349
							<xsl:choose>
350
								<xsl:when
351
										test="
352
									$person_type = 'creator' or $person_type = 'designer' or $person_type = 'photographer'
353
									or $person_type = 'lithographer' or $person_type = 'book designer' or $person_type = 'author'
354
									or $person_type = 'lyrics' or $person_type = 'composer' or $person_type = 'illustrator' or $person_type = 'artist'
355
									or $person_type = 'manufacturer' or $person_type = 'attributed to' or $person_type = 'stills photographer'">
356
									<dc:creator>
357
										<xsl:value-of select="./efg:name"/>
358
									</dc:creator>
359
								</xsl:when>
360
							</xsl:choose>
361
						</xsl:for-each>
362

  
363

  
275 364
						<xsl:for-each select="//efg:relCorporate">
276 365
							<xsl:variable name="corporate_type"
277 366
							              select="translate(normalize-space(./efg:type), $upper, $small)"/>
......
335 424
						</xsl:for-each>
336 425
						<xsl:for-each select="//efg:nonavcreation//efg:keywords">
337 426
							<dcterms:subject>
427
								<xsl:attribute name="xml:lang">
428
									<xsl:value-of select="@lang"/>
429
								</xsl:attribute>
338 430
								<xsl:value-of select="./efg:term"/>
339 431
							</dcterms:subject>
340 432
						</xsl:for-each>
341 433

  
342
						<xsl:for-each select="//efg:avcreation//efg:title">
343
							<xsl:variable name="title_rel"
344
							              select="translate(normalize-space(./efg:relation), $upper, $small)"/>
345
							<xsl:choose>
346
								<xsl:when test="$title_rel = 'original title'">
347
									<dc:title>
348
										<xsl:attribute name="xml:lang">
349
											<xsl:value-of select="@lang"/>
350
										</xsl:attribute>
351
										<xsl:value-of select="./efg:text"/>
352
									</dc:title>
353
								</xsl:when>
354 434

  
355
								<xsl:otherwise>
356
									<dcterms:alternative>
357
										<xsl:attribute name="xml:lang">
358
											<xsl:value-of select="@lang"/>
359
										</xsl:attribute>
360
										<xsl:value-of select="./efg:text"/>
361
									</dcterms:alternative>
362
								</xsl:otherwise>
363
							</xsl:choose>
364
						</xsl:for-each>
435
						<xsl:choose>
436
							<xsl:when test="count(//efg:avManifestation//efg:title) &gt; 0">
437
								<xsl:for-each select="//efg:avManifestation//efg:title">
438
									<xsl:variable name="title_rel"
439
									              select="translate(normalize-space(./efg:relation), $upper, $small)"/>
440
									<xsl:choose>
441
										<xsl:when test="$title_rel = 'original title'">
442
											<dc:title>
443
												<xsl:attribute name="xml:lang">
444
													<xsl:value-of select="@lang"/>
445
												</xsl:attribute>
446
												<xsl:value-of select="./efg:text"/>
447
											</dc:title>
448
										</xsl:when>
449
										<xsl:when test="$title_rel = 'main title'">
450
											<dc:title>
451
												<xsl:attribute name="xml:lang">
452
													<xsl:value-of select="@lang"/>
453
												</xsl:attribute>
454
												<xsl:value-of select="./efg:text"/>
455
											</dc:title>
456
										</xsl:when>
457
										<xsl:otherwise>
458
											<dcterms:alternative>
459
												<xsl:attribute name="xml:lang">
460
													<xsl:value-of select="@lang"/>
461
												</xsl:attribute>
462
												<xsl:value-of select="./efg:text"/>
463
											</dcterms:alternative>
464
										</xsl:otherwise>
465
									</xsl:choose>
466
								</xsl:for-each>
467
							</xsl:when>
468
							<xsl:otherwise>
469
								<xsl:for-each select="//efg:avcreation//efg:title">
470
									<xsl:variable name="title_rel"
471
									              select="translate(normalize-space(./efg:relation), $upper, $small)"/>
472
									<xsl:choose>
473
										<xsl:when test="$title_rel = 'original title'">
474
											<dc:title>
475
												<xsl:attribute name="xml:lang">
476
													<xsl:value-of select="@lang"/>
477
												</xsl:attribute>
478
												<xsl:value-of select="./efg:text"/>
479
											</dc:title>
480
										</xsl:when>
481
										<xsl:when test="$title_rel = 'main title'">
482
											<dc:title>
483
												<xsl:attribute name="xml:lang">
484
													<xsl:value-of select="@lang"/>
485
												</xsl:attribute>
486
												<xsl:value-of select="./efg:text"/>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff