Index: webapps/dnet-openaire_dli-container/trunk/pom.xml
===================================================================
--- webapps/dnet-openaire_dli-container/trunk/pom.xml	(revision 40968)
+++ webapps/dnet-openaire_dli-container/trunk/pom.xml	(revision 40969)
@@ -4,7 +4,7 @@
 	<parent>
 		<groupId>eu.dnetlib</groupId>
 		<artifactId>dnet-container-parent</artifactId>
-		<version>1.0.0-SNAPSHOT</version>
+		<version>1.0.0</version>
 		<relativePath></relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
@@ -181,7 +181,7 @@
 		<dependency>
 			<groupId>eu.dnetlib</groupId>
 			<artifactId>dnet-index-solr-service</artifactId>
-			<version>2.9.0-SNAPSHOT</version>
+			<version>2.3.0</version>
 		</dependency>
 
 		<dependency>
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/feeding/DatabaseFeederWorker.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/feeding/DatabaseFeederWorker.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/feeding/DatabaseFeederWorker.java	(revision 40969)
@@ -8,6 +8,9 @@
 import eu.dnetlib.msro.dli.workflows.nodes.transform.DLIUtils;
 import eu.dnetlib.msro.workflows.dli.manager.DLIDBManager;
 import eu.dnetlib.msro.workflows.dli.model.*;
+import eu.dnetlib.msro.workflows.dli.publisher.PublisherConfigurationParameters;
+import eu.dnetlib.msro.workflows.dli.publisher.PublisherResolver;
+import eu.dnetlib.msro.workflows.dli.publisher.PublisherResolverRule;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -59,6 +62,8 @@
      */
     private final String terminatorQueue;
 
+    private final PublisherResolver publisherResolver;
+
     /**
      * Instantiates a new enrich feeder.
      *
@@ -69,7 +74,7 @@
      * @param terminatorQueue the terminator queue
      */
     public DatabaseFeederWorker(final BlockingQueue<String> inputQueue, final DLIRecordParser parser, final DLIDBManager manager, final String namespace,
-                                final String terminatorQueue) {
+                                final String terminatorQueue, final PublisherResolver resolver) {
         super();
         this.inputQueue = inputQueue;
         this.parser = parser;
@@ -77,6 +82,7 @@
         this.namespace = namespace;
         this.terminatorQueue = terminatorQueue;
         this.buffer = Lists.newArrayList();
+        this.publisherResolver = resolver;
     }
 
     /**
@@ -103,16 +109,17 @@
         while (nextRecord != null && nextRecord != terminatorQueue) {
             try {
                 final DLIObject extractedObject = parser.parseRecord(nextRecord);
-                if (extractedObject.getDatasourceProvenance() != null) {
-                    for (DLIProvenance prov : extractedObject.getDatasourceProvenance()) {
-                        extractedObject.fixContribution(prov);
+                if (extractedObject != null) {
+                    if (extractedObject.getDatasourceProvenance() != null) {
+                        for (DLIProvenance prov : extractedObject.getDatasourceProvenance()) {
+                            extractedObject.fixContribution(prov);
+                        }
                     }
-                }
-                if (extractedObject != null) {
                     if (extractedObject.getCompletionStatus() == null) {
                         extractedObject.setCompletionStatus(DLICompletionStatus.complete.toString());
                     }
                     fixRecordProvenance(extractedObject);
+                    fixRecordPublisher(extractedObject, publisherResolver.getParameters().getSource());
                     normalizeDOI(extractedObject);
                     if (extractRelation(extractedObject)) {
                         buffer.add(extractedObject);
@@ -143,6 +150,46 @@
         return true;
     }
 
+    private void fixRecordPublisher(final DLIObject extractedObject, final List<PublisherResolverRule> source) {
+        if (publisherResolver== null || publisherResolver.getParameters()==null)
+            return;
+        if(source !=null && source.size()>0){
+            for (PublisherResolverRule item : source ) {
+                if(item.getField()==null) {
+                    extractedObject.getDatasourceProvenance().get(0).setPublisher(item.getKey());
+                }
+                else {
+                    String inputValue = "";
+                    if (PublisherResolver.PID_TYPE.equals(item.getField())) {
+                        inputValue = extractedObject.getPidType();
+                    }
+
+                    if (PublisherResolver.OBJECT_TYPE.equals(item.getField())) {
+                        inputValue = extractedObject.getType().toString();
+                    }
+                    if (PublisherResolver.PID.equals(item.getField())) {
+                        inputValue = extractedObject.getPid();
+                    }
+                    if(checkConditionForPublisher(inputValue, item.getRegExp(), extractedObject, item.getKey())== true)
+                        return;
+                }
+            }
+        }
+    }
+
+
+
+    private boolean checkConditionForPublisher(final String value, final String regExp, final DLIObject inputObject, final String key) {
+        if(value== null)
+            return false;
+        if(value.toLowerCase().trim().matches(regExp)) {
+            inputObject.getDatasourceProvenance().get(0).setPublisher(key);
+            return true;
+        }
+        return  false;
+    }
+
+
     /**
      * Extract relation.
      *
@@ -156,6 +203,7 @@
             for (DLIRelation relation : relations) {
                 DLIObject currentObject = extractRecordFromRelation(input, relation);
                 if (currentObject != null) {
+                    fixRecordPublisher(currentObject, publisherResolver.getParameters().getTarget());
                     buffer.add(currentObject);
                     addedOne = true;
                 }
@@ -209,7 +257,7 @@
 
         // SET THE PROVENANCE STATUS INCOMPLETE, PROVISION MODE COLLECTED
         DLIProvenance dbObjectProvenance =
-                new DLIProvenance(namespace, DLIProvisionMode.collected.toString(), DLICompletionStatus.incomplete.toString(), null, null, true);
+                new DLIProvenance(input.getDatasourceProvenance().get(0).getDatasource(), DLIProvisionMode.collected.toString(), DLICompletionStatus.incomplete.toString(), null, null, true);
         dbObject.setDatasourceProvenance(Lists.newArrayList(dbObjectProvenance));
         dbObject.fixContribution(dbObjectProvenance);
 
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/ObtainDataSourceParamsJobNode.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/ObtainDataSourceParamsJobNode.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/ObtainDataSourceParamsJobNode.java	(revision 40969)
@@ -1,42 +1,48 @@
 package eu.dnetlib.msro.dli.workflows.nodes;
 
-import javax.annotation.Resource;
-
 import com.googlecode.sarasvati.Arc;
 import com.googlecode.sarasvati.NodeToken;
-
 import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
 import eu.dnetlib.enabling.locators.UniqueServiceLocator;
 import eu.dnetlib.miscutils.datetime.DateUtils;
 import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
+import eu.dnetlib.msro.workflows.util.WorkflowsConstants;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
+import javax.annotation.Resource;
+
 public class ObtainDataSourceParamsJobNode extends SimpleJobNode {
 
-	private String providerId;
 
-	@Resource
-	private UniqueServiceLocator serviceLocator;
+    private static final Log log = LogFactory.getLog(ObtainDataSourceParamsJobNode.class);
+    private String providerId;
 
-	@Override
-	protected String execute(final NodeToken token) throws Exception {
-		final String query = "let $x := /*[.//RESOURCE_IDENTIFIER/@value='" + providerId + "']//EXTRA_FIELDS\n"
-				+ "return concat($x/FIELD[./key='DataSourceId']/value, ' @@@ ', $x/FIELD[./key='NamespacePrefix']/value)";
+    @Resource
+    private UniqueServiceLocator serviceLocator;
 
-		final String[] arr = serviceLocator.getService(ISLookUpService.class).getResourceProfileByQuery(query).split("@@@");
+    @Override
+    protected String execute(final NodeToken token) throws Exception {
+        final String query = "let $x := /*[.//RESOURCE_IDENTIFIER/@value='" + providerId + "']//EXTRA_FIELDS\n"
+                + "return concat($x/FIELD[./key='DataSourceId']/value, ' @@@ ', $x/FIELD[./key='NamespacePrefix']/value)";
 
-		token.getEnv().setAttribute("parentDatasourceId", arr[0].trim());
-		token.getEnv().setAttribute("namespacePrefix", arr[1].trim());
-		token.getEnv().setAttribute("dateOfCollection", DateUtils.now_ISO8601());
+        final String[] arr = serviceLocator.getService(ISLookUpService.class).getResourceProfileByQuery(query).split("@@@");
 
-		return Arc.DEFAULT_ARC;
-	}
+        token.getEnv().setAttribute("parentDatasourceId", arr[0].trim());
+        token.getEnv().setAttribute("namespacePrefix", arr[1].trim());
+        token.getEnv().setAttribute("dateOfCollection", DateUtils.now_ISO8601());
 
-	public String getProviderId() {
-		return providerId;
-	}
+        log.info(WorkflowsConstants.DATAPROVIDER_ID + " : " + token.getFullEnv().getAttribute(WorkflowsConstants.DATAPROVIDER_ID));
 
-	public void setProviderId(final String providerId) {
-		this.providerId = providerId;
-	}
+        return Arc.DEFAULT_ARC;
+    }
 
+    public String getProviderId() {
+        return providerId;
+    }
+
+    public void setProviderId(final String providerId) {
+        this.providerId = providerId;
+    }
+
 }
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/CrossRefParser.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/CrossRefParser.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/CrossRefParser.java	(revision 40969)
@@ -27,7 +27,7 @@
 	private static final Log log = LogFactory.getLog(CrossRefParser.class); // NOPMD by marko on 11/24/08 5:02 PM
 
 	/** The Constant CROSSREF_NS_PREFIX. */
-	public static final String CROSSREF_NS_PREFIX = "crs";
+	public static final String CROSSREF_NS_PREFIX = "dli::crossref";
 
 	/**
 	 * Parses the record.
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/DataciteDOIResolver.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/DataciteDOIResolver.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/DataciteDOIResolver.java	(revision 40969)
@@ -28,7 +28,7 @@
  */
 public class DataciteDOIResolver implements DOIResolver {
 
-	public static final String DATACITE_NS_PREFIX = "dctr";
+	public static final String DATACITE_NS_PREFIX = "dli::dataciteResolver";
 
 	/** The cache. */
 	@Resource(name = "dataciteDOICache")
@@ -38,7 +38,7 @@
 	private static final Log log = LogFactory.getLog(DataciteDOIResolver.class); // NOPMD by marko on 11/24/08 5:02 PM
 
 	/** The Constant baseURL. */
-	private final static String baseURL = "http://search.datacite.org/api?wt=json&fl=doi,title,contributor,creator&q=doi:";
+	private final static String baseURL = "http://search.datacite.org/api?wt=json&fl=doi,title,contributor,creator,publisher&q=doi:";
 
 	@Override
 	public DLIObject retrieveDOI(final String doi, final String doiType) {
@@ -135,12 +135,16 @@
 				responseObj.setAuthors(authors.toArray(new String[0]));
 
 				DLIProvenance provenance = new DLIProvenance(DATACITE_NS_PREFIX, "resolved", "complete", null, null, true);
+
+				JsonElement publisherElement = ((JsonObject) elem).get("publisher");
+				if (publisherElement != null && !publisherElement.isJsonNull()) {
+					provenance.setPublisher(publisherElement.getAsString());
+				}
 				responseObj.fixContribution(provenance);
 				responseObj.setDatasourceProvenance(Lists.newArrayList(provenance));
 				return responseObj;
+	 			}
 
-			}
-
 			return null;
 		}
 		return null;
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/PubMedResolver.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/PubMedResolver.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/PubMedResolver.java	(revision 40969)
@@ -32,7 +32,7 @@
 
 	private static final String query = "http://www.ebi.ac.uk/europepmc/webservices/rest/search/query=%s&format=json";
 
-	private static final String PUBMED_NS_PREFIX = "pbmed";
+	private static final String PUBMED_NS_PREFIX = "dli::pbmedResolver";
 
 	/**
 	 * {@inheritDoc}
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/manager/DLIDBIterator.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/manager/DLIDBIterator.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/manager/DLIDBIterator.java	(revision 40969)
@@ -36,6 +36,7 @@
     private ResultSet inputResutlSet;
     private DLIObject dliObject;
     private Map<String, Pair<String, Boolean>> datasourceMap;
+    private Map<String, String> publisherByNameMap;
     private Function<DLIObject, T> converter;
     private boolean exportIntersection = false;
 
@@ -46,7 +47,8 @@
         this.manager = manager;
         this.inputDatasource = inputDatasource;
         this.exportIntersection = exportIntersection;
-        datasourceMap = manager.getDataSourceByNameMaps();
+        this.datasourceMap = manager.getDataSourceByIDMaps();
+        this.publisherByNameMap = manager.getPublisherByNameMap();
         this.limitRelation = limitRelation;
         this.converter = converter;
         nextObject = constructNextObject();
@@ -205,11 +207,9 @@
         JsonElement jElement = new JsonParser().parse("[" + fixedInput + "]");
         if (jElement.isJsonNull()) return null;
         JsonArray datasourcesArray = jElement.getAsJsonArray();
-
         if (datasourcesArray.size() == 0)
             return null;
         Map<String, DLIProvenance> provenanceMaps = Maps.newHashMap();
-
         for (JsonElement currentDatasource : datasourcesArray) {
             String ds_id = getObject(currentDatasource, "ds_id");
             String provision_mode = getObject(currentDatasource, "provision_mode");
@@ -216,11 +216,18 @@
             String completion_status_prov = getObject(currentDatasource, "completion_status");
             String contribution = getObject(currentDatasource, "contribution");
             String collection_date = getObject(currentDatasource, "collection_date");
+            String publisher = getObject(currentDatasource, "publisher");
+            String publisherId = null;
+            if(publisher!=null && !"null".equals(publisher)) {
+                if(publisherByNameMap.containsKey(publisher.toLowerCase().trim())) {
+                    publisherId = publisherByNameMap.get(publisher.toLowerCase().trim());
+                }
+            }
             Pair<String, Boolean> ds_info = datasourceMap.get(ds_id);
             ds_id = ds_info.getKey();
             final boolean visible = ds_info.getValue();
             if (visible || exportIntersection) {
-                provenanceMaps.put(ds_id, new DLIProvenance(ds_id, provision_mode, completion_status_prov, contribution, collection_date, visible));
+                provenanceMaps.put(ds_id, new DLIProvenance(ds_id, provision_mode, completion_status_prov, contribution, collection_date, visible,publisherByNameMap.get(ds_id.toLowerCase().trim()), publisher, publisherId));
             }
 
         }
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverRule.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverRule.java	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverRule.java	(revision 40969)
@@ -0,0 +1,46 @@
+package eu.dnetlib.msro.workflows.dli.publisher;
+
+/**
+ * Created by Sandro La Bruzzo on 1/13/16.
+ */
+public class PublisherResolverRule {
+
+    private String field;
+    private String regExp;
+    private int priority;
+    private String key;
+
+
+    public String getField() {
+        return field;
+    }
+
+    public void setField(String field) {
+        this.field = field;
+    }
+
+    public String getRegExp() {
+        return regExp;
+    }
+
+    public void setRegExp(String regExp) {
+        this.regExp = regExp;
+    }
+
+    public int getPriority() {
+        return priority;
+    }
+
+    public void setPriority(int priority) {
+        this.priority = priority;
+    }
+
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+}
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverRuleDeserializer.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverRuleDeserializer.java	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverRuleDeserializer.java	(revision 40969)
@@ -0,0 +1,58 @@
+package eu.dnetlib.msro.workflows.dli.publisher;
+
+import com.google.gson.*;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by Sandro La Bruzzo on 1/13/16.
+ */
+public class PublisherResolverRuleDeserializer implements JsonDeserializer<PublisherConfigurationParameters> {
+
+    private final static String PRIORITY_KEY = "priority";
+    private final static String FIELD_KEY = "field";
+    private final static String REGEXP_KEY = "regExp";
+    private final static String RESULT_KEY = "key";
+
+
+    @Override
+    public PublisherConfigurationParameters deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
+        try {
+            final JsonObject root = json.getAsJsonObject();
+            final JsonArray source = root.get("source").getAsJsonArray();
+            final JsonArray target = root.get("target").getAsJsonArray();
+            final List<PublisherResolverRule> sourceResolver = new ArrayList<PublisherResolverRule>();
+            final List<PublisherResolverRule> targetResolver = new ArrayList<PublisherResolverRule>();
+            populateResolver(source, sourceResolver);
+            populateResolver(target, targetResolver);
+            PublisherConfigurationParameters parameters = new PublisherConfigurationParameters();
+            parameters.setSource(sourceResolver);
+            parameters.setTarget(targetResolver);
+            return parameters;
+
+
+        } catch (Throwable e) {
+            throw new JsonParseException("Error on parsing json", e);
+        }
+
+    }
+
+    protected void populateResolver(JsonArray source, List<PublisherResolverRule> sourceResolver) {
+        for (JsonElement item : source) {
+            PublisherResolverRule currentResolver = new PublisherResolverRule();
+
+            final JsonObject currentObject = item.getAsJsonObject();
+            if (currentObject.get(PRIORITY_KEY) != null && !currentObject.get(PRIORITY_KEY).isJsonNull())
+                currentResolver.setPriority(currentObject.get(PRIORITY_KEY).getAsInt());
+            if (currentObject.get(FIELD_KEY) != null && !currentObject.get(FIELD_KEY).isJsonNull())
+                currentResolver.setField(currentObject.get(FIELD_KEY).getAsString());
+            if (currentObject.get(REGEXP_KEY) != null && !currentObject.get(REGEXP_KEY).isJsonNull())
+                currentResolver.setRegExp(currentObject.get(REGEXP_KEY).getAsString());
+            if (currentObject.get(RESULT_KEY) != null && !currentObject.get(RESULT_KEY).isJsonNull())
+                currentResolver.setKey(currentObject.get(RESULT_KEY).getAsString());
+            sourceResolver.add(currentResolver);
+        }
+    }
+}
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolver.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolver.java	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolver.java	(revision 40969)
@@ -0,0 +1,36 @@
+package eu.dnetlib.msro.workflows.dli.publisher;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * Created by Sandro La Bruzzo on 1/13/16.
+ */
+public class PublisherResolver {
+
+
+    public static String PID_TYPE    = "pidType";
+    public static String PID         = "pid";
+    public static String OBJECT_TYPE = "objectType";
+
+
+
+    private PublisherConfigurationParameters parameters;
+
+    private static final String queryTemplate = "//RESOURCE_PROFILE[.//RESOURCE_IDENTIFIER/@value/string()='%s']//FIELD[key = 'provConfigParameters']/value/text()";
+
+    public PublisherConfigurationParameters getParameters() {
+        return parameters;
+    }
+
+    public void setParameters(PublisherConfigurationParameters parameters) {
+        this.parameters = parameters;
+    }
+
+}
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherConfigurationParameters.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherConfigurationParameters.java	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherConfigurationParameters.java	(revision 40969)
@@ -0,0 +1,29 @@
+package eu.dnetlib.msro.workflows.dli.publisher;
+
+import java.util.List;
+
+/**
+ * Created by Sandro La Bruzzo on 1/13/16.
+ */
+public class PublisherConfigurationParameters {
+
+    private List<PublisherResolverRule> source;
+    private List<PublisherResolverRule> target;
+
+
+    public List<PublisherResolverRule> getSource() {
+        return source;
+    }
+
+    public void setSource(List<PublisherResolverRule> source) {
+        this.source = source;
+    }
+
+    public List<PublisherResolverRule> getTarget() {
+        return target;
+    }
+
+    public void setTarget(List<PublisherResolverRule> target) {
+        this.target = target;
+    }
+}
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/TransformationRuleDSResources/oai_datacite_transform.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/TransformationRuleDSResources/oai_datacite_transform.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/TransformationRuleDSResources/oai_datacite_transform.xml	(revision 40969)
@@ -53,7 +53,7 @@
                                 <datasource>
                                     <xsl:attribute name="completionStatus">complete</xsl:attribute>
                                     <xsl:attribute name="provisionMode">collected</xsl:attribute>
-                                    <xsl:value-of select="$namespacePrefix" />
+                                    <xsl:value-of select="//*[local-name()='header']/*[local-name()='datasourceID']" />
                                 </datasource>
                             </provenance>
 
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_oai.xslt
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_oai.xslt	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_oai.xslt	(revision 40969)
@@ -10,6 +10,8 @@
     <xsl:param name="repositoryId" />
     <xsl:param name="namespacePrefix"></xsl:param>
     <xsl:param name="dataprovider_id"></xsl:param>
+    <xsl:param name="parentDatasourceId"></xsl:param>
+
     <xsl:variable name="status" select="/*[local-name() = 'record']/*[local-name() = 'header']/@status" />
     <xsl:variable name="doi" select="//*[local-name()='header']/*[local-name()='identifier']"></xsl:variable>  
     <xsl:template match="/">
@@ -27,7 +29,8 @@
                 <dri:recordIdentifier><xsl:value-of select="$doi"/></dri:recordIdentifier>
                 <dri:dateOfCollection><xsl:value-of select="datetime:dateTime()"/></dri:dateOfCollection>
                 <dri:repositoryId><xsl:value-of select="$dataprovider_id"/></dri:repositoryId>
-                <dri:datasourceprefix><xsl:value-of select="$namespacePrefix"/></dri:datasourceprefix>                
+                <dri:datasourceprefix><xsl:value-of select="$namespacePrefix"/></dri:datasourceprefix>
+                <dri:datasourceID><xsl:value-of select="$parentDatasourceId"/></dri:datasourceID>
                 <!-- Bulk copy of old header -->
                 <xsl:for-each select="/*[local-name() = 'record']/*[local-name() = 'header']//*[namespace-uri()='http://www.openarchives.org/OAI/2.0/']">
                     <xsl:copy-of select="." />
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_oai_datacite.xslt
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_oai_datacite.xslt	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_oai_datacite.xslt	(revision 40969)
@@ -10,6 +10,7 @@
     <xsl:param name="repositoryId" />
     <xsl:param name="namespacePrefix"></xsl:param>
     <xsl:param name="dataprovider_id"></xsl:param>
+    <xsl:param name="parentDatasourceId"></xsl:param>
     <xsl:variable name="status" select="/*[local-name() = 'record']/*[local-name() = 'header']/@status" />
     <xsl:variable name="doi" select="//*[local-name()='resource']/*[local-name()='identifier']"></xsl:variable>  
     <xsl:template match="/">
@@ -27,7 +28,8 @@
                 <dri:recordIdentifier><xsl:value-of select="$doi"/></dri:recordIdentifier>
                 <dri:dateOfCollection><xsl:value-of select="datetime:dateTime()"/></dri:dateOfCollection>
                 <dri:repositoryId><xsl:value-of select="$dataprovider_id"/></dri:repositoryId>
-                <dri:datasourceprefix><xsl:value-of select="$namespacePrefix"/></dri:datasourceprefix>                
+                <dri:datasourceprefix><xsl:value-of select="$namespacePrefix"/></dri:datasourceprefix>
+                <dri:datasourceID><xsl:value-of select="$parentDatasourceId"/></dri:datasourceID>
                 <!-- Bulk copy of old header -->
                 <xsl:for-each select="/*[local-name() = 'record']/*[local-name() = 'header']//*[namespace-uri()='http://www.openarchives.org/OAI/2.0/']">
                     <xsl:copy-of select="." />
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/MDFormatDSResources/DLIF.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/MDFormatDSResources/DLIF.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/MDFormatDSResources/DLIF.xml	(revision 40969)
@@ -24,7 +24,8 @@
                         <!-- DLI object identifier -->
                         <FIELD indexable="true" multivalued="false" name="dnetresourceidentifier" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='dliObject']/*[local-name()='dnetResourceIdentifier']"/>
                         <!-- Free text indexed fields -->
-                        <FIELD indexable="true" multivalued="true" name="provenance" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='datasourceInfo']/*[local-name()='datasource']"/>
+                        <FIELD indexable="true" multivalued="true" name="provenance" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='datasourceInfo']/*[local-name()='provider']"/>
+                        <FIELD indexable="true" multivalued="true" name="publisher" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='datasourceInfo']/*[local-name()='publisher']"/>
                         <FIELD indexable="true" multivalued="true" name="relationprovenance" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='relationProvenance']/*[local-name()='datasource']"/>
                         <FIELD indexable="true" multivalued="false" name="localidentifier" result="false" stat="false" stored="true" tokenizable="true" xpath="//*[local-name()='dliObject']/*[local-name()='originalIdentifier']"/>
                         <FIELD indexable="true" multivalued="false" name="completionstatus" result="false" stat="false" stored="true" tokenizable="true" xpath="//*[local-name()='dliObject']/*[local-name()='completionStatus']"/>
@@ -32,9 +33,9 @@
                         <FIELD indexable="true" multivalued="false" name="entitytype" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='objectType']"/>
                         <FIELD indexable="true" multivalued="true" name="title" result="false" stat="false" stored="true" tokenizable="true" xpath="//*[local-name()='dliObject']/*[local-name()='title']"/>
                         <FIELD indexable="true" name="date" result="false" stat="false" tokenizable="false" value="//*[local-name()='dliObject']/*[local-name()='date']"/>
-                        <FIELD indexable="true" name="relatedobjtype" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='relation']/*[local-name()='entitytype']"/>
+                        <FIELD indexable="true" name="relatedobjtype" result="false" stat="false" stored="false" tokenizable="false" xpath="//*[local-name()='relation']/*[local-name()='entitytype']"/>
                         <FIELD indexable="true" name="relatedObjPID" result="false" stat="false" tokenizable="false" xpath="//*[local-name()='relation']/*[local-name()='pid']"/>
-                        <FIELD indexable="true" name="relatedobjpidtype" result="false" stat="false" stored="true" tokenizable="false" xpath="//*[local-name()='relation']/*[local-name()='pid']/@type"/>
+                        <FIELD indexable="true" name="relatedobjpidtype" result="false" stat="false" stored="false" tokenizable="false" xpath="//*[local-name()='relation']/*[local-name()='pid']/@type"/>
                         <FIELD indexable="false" name="dliobject" result="true" stat="false" tokenizable="true" xpath="//*[local-name()='dliObject']"/>
                         <FIELD indexable="true" multivalued="true" name="author" result="false" stat="false" stored="true" tokenizable="true" xpath="//*[local-name()='dliObject']/*[local-name()='authors']//*[local-name()='author']/*[local-name()='fullname']"/>
                         
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/icpsr.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/icpsr.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/icpsr.xml	(revision 40969)
@@ -1,76 +1,76 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="icpsr_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>ICPSR</OFFICIAL_NAME>
-            <ENGLISH_NAME>ICPSR</ENGLISH_NAME>
-            <ICON_URI>https://www.icpsr.umich.edu</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>https://www.icpsr.umich.edu</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::icpsr::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL header="true" identifier="1" quote="" separator=",">fileCSV</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/icpsr.csv</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>icpsr</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>icpsr</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="icpsr_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010255
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>ICPSR</OFFICIAL_NAME>
+			<ENGLISH_NAME>ICPSR</ENGLISH_NAME>
+			<ICON_URI>https://www.icpsr.umich.edu</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>https://www.icpsr.umich.edu</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::icpsr::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL header="true" identifier="1" quote="" separator=",">fileCSV</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/icpsr.csv</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010255</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>icpsr</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/npg.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/npg.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/npg.xml	(revision 40969)
@@ -1,79 +1,79 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="npg_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Nature Publishing Group</OFFICIAL_NAME>
-            <ENGLISH_NAME>Nature Publishing Group</ENGLISH_NAME>
-            <ICON_URI>http://www.nature.com/npg_/index_npg.html</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.nature.com/npg_/index_npg.html</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli"
-                           contentDescription="metadata" id="api_________::npg::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL extensions="xml">filesystem</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/npg</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date"/>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>npg</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>npg</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="npg_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">nature
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Springer Nature</OFFICIAL_NAME>
+			<ENGLISH_NAME>Springer Nature</ENGLISH_NAME>
+			<ICON_URI>http://www.nature.com/npg_/index_npg.html</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.nature.com/npg_/index_npg.html</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli"
+						   contentDescription="metadata" id="api_________::npg::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL extensions="xml">filesystem</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/npg</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::nature</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>npg</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ands.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ands.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ands.xml	(revision 40969)
@@ -1,78 +1,77 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="ands_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Australian National Data Service</OFFICIAL_NAME>
-            <ENGLISH_NAME>Australian National Data Service</ENGLISH_NAME>
-            <ICON_URI>http://www.ands.org.au</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.ands.org.au/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::ands" label="Links provider"
-                           typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL format="rif" set="class:collection">oai</ACCESS_PROTOCOL>
-                    <BASE_URL>https://researchdata.ands.org.au/registry/services/oai</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date"/>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>ands</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>ands</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="ands_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010464</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataCatalogue</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Australian National Data Service</OFFICIAL_NAME>
+			<ENGLISH_NAME>Australian National Data Service</ENGLISH_NAME>
+			<ICON_URI>http://www.ands.org.au</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.ands.org.au/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::ands" label="Links provider"
+						   typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL format="rif" set="class:collection">oai</ACCESS_PROTOCOL>
+					<BASE_URL>https://researchdata.ands.org.au/registry/services/oai</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010464</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>ands</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/crs.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/crs.xml	(nonexistent)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/crs.xml	(revision 40969)
@@ -0,0 +1,63 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="crs_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">crossref</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationCatalogue</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Crossref</OFFICIAL_NAME>
+			<ENGLISH_NAME>Crossref</ENGLISH_NAME>
+			<ICON_URI>http://www.crossref.org/imagesHeader/cr_logotype.gif</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.crossref.org/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES/>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::crossref</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>3tu</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/thomson.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/thomson.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/thomson.xml	(revision 40969)
@@ -1,76 +1,76 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="7dce5a33-4afa-4da5-8d22-35dfacc0c3c8_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">Thomson Reuters
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Thomson Reuters</OFFICIAL_NAME>
-            <ENGLISH_NAME>Thomson Reuters</ENGLISH_NAME>
-            <ICON_URI>http://thomsonreuters.com/img/logo_header.png</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://thomsonreuters.com</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>nigel.robinson@thomsonreuters.com</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::thomson::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL header="true" identifier="1" quote="" separator="@">fileCSV</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/thomson.csv</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>ThomsonReuters</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>trs</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="7dce5a33-4afa-4da5-8d22-35dfacc0c3c8_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">thomsonreuters
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Thomson Reuters</OFFICIAL_NAME>
+			<ENGLISH_NAME>Thomson Reuters</ENGLISH_NAME>
+			<ICON_URI>http://thomsonreuters.com/img/logo_header.png</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://thomsonreuters.com</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>nigel.robinson@thomsonreuters.com</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::thomson::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL header="true" identifier="1" quote="" separator="@">fileCSV</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/thomson.csv</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::thomsonreuters</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>trs</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/rcsb.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/rcsb.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/rcsb.xml	(revision 40969)
@@ -1,83 +1,83 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="e6be5d88-4120-47f8-8d7b-dd14946e02ac_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-04-08T12:39:42+02:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">RCBS
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>RCSB</OFFICIAL_NAME>
-            <ENGLISH_NAME>RCSB</ENGLISH_NAME>
-            <ICON_URI>http://rcsb.org/pdb/v2/common/images/rcsb_logo.png
-            </ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://rcsb.org/pdb/home/home.do
-            </REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@rcsb.org</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli"
-                           contentDescription="metadata" id="api_________::rcbs::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL header="true" identifier="0"
-                                     quote="" separator="@">fileCSV
-                    </ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/rcbs.csv</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column'
-                        and @isID='true']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>RCSB</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>rcsb</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="e6be5d88-4120-47f8-8d7b-dd14946e02ac_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-04-08T12:39:42+02:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010327
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>RCSB</OFFICIAL_NAME>
+			<ENGLISH_NAME>RCSB</ENGLISH_NAME>
+			<ICON_URI>http://rcsb.org/pdb/v2/common/images/rcsb_logo.png
+			</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://rcsb.org/pdb/home/home.do
+			</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@rcsb.org</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli"
+						   contentDescription="metadata" id="api_________::rcbs::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL header="true" identifier="0"
+									 quote="" separator="@">fileCSV
+					</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/rcbs.csv</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column'
+						and @isID='true']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010327</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>rcsb</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/pangaea.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/pangaea.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/pangaea.xml	(revision 40969)
@@ -1,78 +1,93 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="aaadf8b3-01a8-4cc2-9964-63cfb19df3b4_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">Pangaea
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Pangaea</OFFICIAL_NAME>
-            <ENGLISH_NAME>Pangaea</ENGLISH_NAME>
-            <ICON_URI>http://www.pangaea.de</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.pangaea.de/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO></ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::pangaea::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL format="datacite3" set="">oai</ACCESS_PROTOCOL>
-                    <BASE_URL>http://ws.pangaea.de/oai/provider?</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date"/>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>pangaea</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>png</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="aaadf8b3-01a8-4cc2-9964-63cfb19df3b4_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010134
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Pangaea</OFFICIAL_NAME>
+			<ENGLISH_NAME>Pangaea</ENGLISH_NAME>
+			<ICON_URI>http://www.pangaea.de</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.pangaea.de/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO></ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::pangaea::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL format="datacite3" set="">oai</ACCESS_PROTOCOL>
+					<BASE_URL>http://ws.pangaea.de/oai/provider</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010134</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>png</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+				<FIELD>
+					<key>provConfigParameters</key>
+					<value><![CDATA[ {
+						source: [{priority: 0, field:"objectType", regExp:"dataset", key:'PANGAEA'}],
+						target: [{priority: 0, field:"pid", regExp:".*pangaea.*", key:'PANGAEA'}]
+						}]]>
+					</value>
+				</FIELD>
+				<FIELD>
+					<key>provConfigMap</key>
+					<value>
+						<![CDATA[ [ { key:["dataset", "pangaea", "dli::r3d100010134"], value: "dli::r3d100010134", "officialName":"Pangaea"}] ]]>
+					</value>
+				</FIELD>
+
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ccdc.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ccdc.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ccdc.xml	(revision 40969)
@@ -1,79 +1,78 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="af7be59e-78ec-4995-b7a1-00d98129bc3d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">Cambridge Crystallographic Data Centre
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Cambridge Crystallographic Data Centre</OFFICIAL_NAME>
-            <ENGLISH_NAME>Cambridge Crystallographic Data Centre</ENGLISH_NAME>
-            <ICON_URI>http://www.ccdc.cam.ac.uk/pages/Home.aspx
-            </ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.ccdc.cam.ac.uk/pages/Home.aspx</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@datacite.org</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::opendoar____::2367::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL format="oai_datacite" set="BL.CCDC">oai</ACCESS_PROTOCOL>
-                    <BASE_URL>http://oai.datacite.org/oai</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date"/>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>Cambridge Crystallographic Data Centre</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>ccdc</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="af7be59e-78ec-4995-b7a1-00d98129bc3d_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010197</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Cambridge Crystallographic Data Centre</OFFICIAL_NAME>
+			<ENGLISH_NAME>Cambridge Crystallographic Data Centre</ENGLISH_NAME>
+			<ICON_URI>http://www.ccdc.cam.ac.uk/pages/Home.aspx
+			</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.ccdc.cam.ac.uk/pages/Home.aspx</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@datacite.org</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::opendoar____::2367::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL format="oai_datacite" set="BL.CCDC">oai</ACCESS_PROTOCOL>
+					<BASE_URL>http://oai.datacite.org/oai</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010197</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>ccdc</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/openaire.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/openaire.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/openaire.xml	(revision 40969)
@@ -1,79 +1,79 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="openaire_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>OpenAIRE</OFFICIAL_NAME>
-            <ENGLISH_NAME>OpenAIRE</ENGLISH_NAME>
-            <ICON_URI>https://www.openaire.eu/
-            </ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>https://www.openaire.eu/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::opendoar____::openaire::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL format="oai_datacite" set="openaire_data">oai</ACCESS_PROTOCOL>
-                    <BASE_URL>http://beta.services.openaire.eu/provision/mvc/oai/oai.do</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date"/>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>OpenAIRE</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>opn</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="openaire_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">openaire
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationCatalogue</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>OpenAIRE</OFFICIAL_NAME>
+			<ENGLISH_NAME>OpenAIRE</ENGLISH_NAME>
+			<ICON_URI>https://www.openaire.eu/
+			</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>https://www.openaire.eu/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::opendoar____::openaire::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL format="oai_datacite" set="openaire_data">oai</ACCESS_PROTOCOL>
+					<BASE_URL>http://beta.services.openaire.eu/provision/mvc/oai/oai.do</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::openaire</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>opn</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ieda.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ieda.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ieda.xml	(revision 40969)
@@ -1,76 +1,76 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="ieda_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>IEDA</OFFICIAL_NAME>
-            <ENGLISH_NAME>IEDA</ENGLISH_NAME>
-            <ICON_URI>http://www.iedadata.org/sites/www.iedadata.org/files/arthemia_logo.jpg</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.iedadata.org/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::ieda::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL header="false" identifier="0" quote="" separator="\t">fileCSV</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/ieda.tsv</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>ieda</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>ieda</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="ieda_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010578
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>IEDA</OFFICIAL_NAME>
+			<ENGLISH_NAME>IEDA</ENGLISH_NAME>
+			<ICON_URI>http://www.iedadata.org/sites/www.iedadata.org/files/arthemia_logo.jpg</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.iedadata.org/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::ieda::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL header="false" identifier="0" quote="" separator="\t">fileCSV</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/ieda.tsv</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010578</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>ieda</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/chorus.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/chorus.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/chorus.xml	(revision 40969)
@@ -1,75 +1,75 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="039a3f6b-3d2f-421d-860c-6e2d78b573ff_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">Chorus</DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Chorus</OFFICIAL_NAME>
-            <ENGLISH_NAME>Chorus</ENGLISH_NAME>
-            <ICON_URI>http://www.chorusaccess.org/</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.chorusaccess.org/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@datacite.org</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::chrs::0"
-                           label="Links consumer" typology="links::consumer" removable="false">
-                    <ACCESS_PROTOCOL header="true" identifier="0" quote="" separator=",">fileCSV</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/chorus.csv</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>Chorus</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>chrs</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="039a3f6b-3d2f-421d-860c-6e2d78b573ff_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">chorus</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Chorus</OFFICIAL_NAME>
+			<ENGLISH_NAME>Chorus</ENGLISH_NAME>
+			<ICON_URI>http://www.chorusaccess.org/</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.chorusaccess.org/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@datacite.org</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::chrs::0"
+						   label="Links consumer" typology="links::consumer" removable="false">
+					<ACCESS_PROTOCOL header="true" identifier="0" quote="" separator=",">fileCSV</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/chorus.csv</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::chorus</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>chrs</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ieee.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ieee.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/ieee.xml	(revision 40969)
@@ -11,13 +11,13 @@
 	<BODY>
 		<CONFIGURATION>
 			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-			<DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">ieee
 			</DATASOURCE_ORIGINAL_ID>
 			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
 			<ENVIRONMENTS>
 				<ENVIRONMENT>DLI</ENVIRONMENT>
 			</ENVIRONMENTS>
-			<TYPOLOGY/>
+			<TYPOLOGY>publicationPublisher</TYPOLOGY>
 			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
 			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
 			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
@@ -49,7 +49,7 @@
 			<EXTRA_FIELDS>
 				<FIELD>
 					<key>DataSourceId</key>
-					<value>ieee</value>
+					<value>dli::ieee</value>
 				</FIELD>
 				<FIELD>
 					<key>NamespacePrefix</key>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/3tu.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/3tu.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/3tu.xml	(revision 40969)
@@ -1,77 +1,76 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="3tu_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">OpenAIRE
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>3TU.Datacentrum</OFFICIAL_NAME>
-            <ENGLISH_NAME>3TU.Datacentrum</ENGLISH_NAME>
-            <ICON_URI>https://pbs.twimg.com/profile_images/507441262274674688/m8GuM3M7_400x400.png</ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://datacentrum.3tu.nl/en/home/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::3tu"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL splitOnElement="dataset">fileGzip</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///data/var/lib/dli/3tu.zip</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date">2015-07-09T04:21:31+00:00</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>3tu</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>3tu</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="3tu_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">r3d100010216</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>3TU.Datacentrum</OFFICIAL_NAME>
+			<ENGLISH_NAME>3TU.Datacentrum</ENGLISH_NAME>
+			<ICON_URI>https://pbs.twimg.com/profile_images/507441262274674688/m8GuM3M7_400x400.png</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://datacentrum.3tu.nl/en/home/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::3tu"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL splitOnElement="dataset">fileGzip</ACCESS_PROTOCOL>
+					<BASE_URL>file:///data/var/lib/dli/3tu.zip</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date">2015-07-09T04:21:31+00:00</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::r3d100010216</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>3tu</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/pbm.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/pbm.xml	(nonexistent)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/pbm.xml	(revision 40969)
@@ -0,0 +1,78 @@
+<RESOURCE_PROFILE>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="pbm_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">pubmed</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>PubMed</OFFICIAL_NAME>
+			<ENGLISH_NAME>PubMed</ENGLISH_NAME>
+			<ICON_URI>https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/US-NLM-PubMed-Logo.svg/720px-US-NLM-PubMed-Logo.svg.png</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.ncbi.nlm.nih.gov/pubmed</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@openaire.eu</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli"
+						   contentDescription="metadata" id="api_________::pbm::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL extensions="xml">filesystem</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/pbm</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::pubmed</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>pbm</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
+</RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/elsevier.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/elsevier.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/elsevier.xml	(revision 40969)
@@ -1,77 +1,93 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="2d1245d4-c169-4247-9106-0f69f8d752eb_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">Elsevier
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Elsevier</OFFICIAL_NAME>
-            <ENGLISH_NAME>Elsevier</ENGLISH_NAME>
-            <ICON_URI>http://secure-ecsd.elsevier.com/covers/app/ELSHSBS/ukne/img/new_logo.png
-            </ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://www.eu.elsevierhealth.com/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@elsevierhealth.org</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::elsevier::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL header="true" identifier="3" quote="" separator="@">fileCSV</ACCESS_PROTOCOL>
-                    <BASE_URL>file:///var/lib/dli/elsevier.csv</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>elsevier</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>els</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="2d1245d4-c169-4247-9106-0f69f8d752eb_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">elsevier
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>publicationPublisher</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Elsevier</OFFICIAL_NAME>
+			<ENGLISH_NAME>Elsevier</ENGLISH_NAME>
+			<ICON_URI>http://secure-ecsd.elsevier.com/covers/app/ELSHSBS/ukne/img/new_logo.png
+			</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://www.eu.elsevierhealth.com/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@elsevierhealth.org</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::elsevier::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL header="true" identifier="3" quote="" separator="@">fileCSV</ACCESS_PROTOCOL>
+					<BASE_URL>file:///var/lib/dli/elsevier.csv</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='column' and @isID='true']</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::elsevier</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>els</value>
+				</FIELD>
+				<FIELD>
+					<key>provConfigParameters</key>
+					<value><![CDATA[
+							{
+								source: [],
+								target: [{priority: 0, field:"pidType", regExp:"doi", key:'Elsevier'}]
+							}
+						]]>
+					</value>
+				</FIELD>
+				<FIELD>
+					<key>provConfigMap</key>
+					<value>
+						<![CDATA[ [ { key:[Elsevier], value: "dli::elsevier", "officialName":"Elsevier"}] ]]>
+					</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>sandro.labruzzo@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/datacite.xml
===================================================================
--- modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/datacite.xml	(revision 40968)
+++ modules/dnet-openaire_dli-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/RepositoryServiceResources/datacite.xml	(revision 40969)
@@ -1,79 +1,79 @@
 <RESOURCE_PROFILE>
-    <HEADER>
-        <RESOURCE_IDENTIFIER
-                value="1ab23232-a569-447f-8e74-5d3238e2e3c8_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
-        <RESOURCE_TYPE value="RepositoryServiceResourceType"/>
-        <RESOURCE_KIND value="RepositoryServiceResources"/>
-        <RESOURCE_URI value=""/>
-        <DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
-        <PROTOCOL/>
-    </HEADER>
-    <BODY>
-        <CONFIGURATION>
-            <DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
-            <DATASOURCE_ORIGINAL_ID provenance="DLI">Datacite
-            </DATASOURCE_ORIGINAL_ID>
-            <DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
-            <ENVIRONMENTS>
-                <ENVIRONMENT>DLI</ENVIRONMENT>
-            </ENVIRONMENTS>
-            <TYPOLOGY/>
-            <MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
-            <AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
-            <MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
-            <OFFICIAL_NAME>Datasets in Datacite</OFFICIAL_NAME>
-            <ENGLISH_NAME>Datasets in Datacite</ENGLISH_NAME>
-            <ICON_URI>http://datacite.org/sites/default/files/DataCite_header_final1_1.png
-            </ICON_URI>
-            <COUNTRY/>
-            <LOCATION>
-                <LONGITUDE>0.0</LONGITUDE>
-                <LATITUDE>0.0</LATITUDE>
-                <TIMEZONE>0.0</TIMEZONE>
-            </LOCATION>
-            <REPOSITORY_WEBPAGE>http://datacite.org/</REPOSITORY_WEBPAGE>
-            <REPOSITORY_INSTITUTION/>
-            <ADMIN_INFO>contact@datacite.org</ADMIN_INFO>
-            <INTERFACES>
-                <INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::datacite::0"
-                           label="Links provider" typology="links::provider" removable="false">
-                    <ACCESS_PROTOCOL>mongoDump</ACCESS_PROTOCOL>
-                    <BASE_URL>/home/sandro/mongo_backup/datacite3000.json</BASE_URL>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_date"/>
-                    <INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
-                    </INTERFACE_EXTRA_FIELD>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
-                    <INTERFACE_EXTRA_FIELD name="last_collection_total"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
-                    <INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
-                </INTERFACE>
-            </INTERFACES>
-            <EXTRA_FIELDS>
-                <FIELD>
-                    <key>DataSourceId</key>
-                    <value>dct</value>
-                </FIELD>
-                <FIELD>
-                    <key>NamespacePrefix</key>
-                    <value>dct</value>
-                </FIELD>
-                <FIELD>
-                    <key>VERIFIED</key>
-                    <value>NO</value>
-                </FIELD>
-            </EXTRA_FIELDS>
-            <REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
-        </CONFIGURATION>
-        <STATUS>
-            <NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
-        </STATUS>
-        <QOS>
-            <AVAILABILITY>0</AVAILABILITY>
-            <CAPACITY/>
-            <THROUGHPUT>0.0</THROUGHPUT>
-        </QOS>
-        <SECURITY_PARAMETERS/>
-        <BLACKBOARD/>
-    </BODY>
+	<HEADER>
+		<RESOURCE_IDENTIFIER
+				value="1ab23232-a569-447f-8e74-5d3238e2e3c8_UmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZXMvUmVwb3NpdG9yeVNlcnZpY2VSZXNvdXJjZVR5cGU="/>
+		<RESOURCE_TYPE value="RepositoryServiceResourceType"/>
+		<RESOURCE_KIND value="RepositoryServiceResources"/>
+		<RESOURCE_URI value=""/>
+		<DATE_OF_CREATION value="2015-01-26T22:48:00+00:00"/>
+		<PROTOCOL/>
+	</HEADER>
+	<BODY>
+		<CONFIGURATION>
+			<DATASOURCE_TYPE>dli:contentprovider</DATASOURCE_TYPE>
+			<DATASOURCE_ORIGINAL_ID provenance="DLI">datacite
+			</DATASOURCE_ORIGINAL_ID>
+			<DATASOURCE_AGGREGATED>false</DATASOURCE_AGGREGATED>
+			<ENVIRONMENTS>
+				<ENVIRONMENT>DLI</ENVIRONMENT>
+			</ENVIRONMENTS>
+			<TYPOLOGY>dataCatalogue</TYPOLOGY>
+			<MAX_SIZE_OF_DATASTRUCTURE>0</MAX_SIZE_OF_DATASTRUCTURE>
+			<AVAILABLE_DISKSPACE>0</AVAILABLE_DISKSPACE>
+			<MAX_NUMBER_OF_DATASTRUCTURE>0</MAX_NUMBER_OF_DATASTRUCTURE>
+			<OFFICIAL_NAME>Datasets in Datacite</OFFICIAL_NAME>
+			<ENGLISH_NAME>Datasets in Datacite</ENGLISH_NAME>
+			<ICON_URI>http://datacite.org/sites/default/files/DataCite_header_final1_1.png
+			</ICON_URI>
+			<COUNTRY/>
+			<LOCATION>
+				<LONGITUDE>0.0</LONGITUDE>
+				<LATITUDE>0.0</LATITUDE>
+				<TIMEZONE>0.0</TIMEZONE>
+			</LOCATION>
+			<REPOSITORY_WEBPAGE>http://datacite.org/</REPOSITORY_WEBPAGE>
+			<REPOSITORY_INSTITUTION/>
+			<ADMIN_INFO>contact@datacite.org</ADMIN_INFO>
+			<INTERFACES>
+				<INTERFACE active="true" compliance="dli" contentDescription="metadata" id="api_________::datacite::0"
+						   label="Links provider" typology="links::provider" removable="false">
+					<ACCESS_PROTOCOL>mongoDump</ACCESS_PROTOCOL>
+					<BASE_URL>/home/sandro/mongo_backup/datacite3000.json</BASE_URL>
+					<INTERFACE_EXTRA_FIELD name="last_collection_date"/>
+					<INTERFACE_EXTRA_FIELD name="metadata_identifier_path">//*[local-name()='header']/*[local-name()='identifier']
+					</INTERFACE_EXTRA_FIELD>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_mdId"/>
+					<INTERFACE_EXTRA_FIELD name="last_collection_total"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_date"/>
+					<INTERFACE_EXTRA_FIELD name="last_aggregation_mdId"/>
+				</INTERFACE>
+			</INTERFACES>
+			<EXTRA_FIELDS>
+				<FIELD>
+					<key>DataSourceId</key>
+					<value>dli::datacite</value>
+				</FIELD>
+				<FIELD>
+					<key>NamespacePrefix</key>
+					<value>dct</value>
+				</FIELD>
+				<FIELD>
+					<key>VERIFIED</key>
+					<value>NO</value>
+				</FIELD>
+			</EXTRA_FIELDS>
+			<REGISTERED_BY>andrea.mannocci@isti.cnr.it</REGISTERED_BY>
+		</CONFIGURATION>
+		<STATUS>
+			<NUMBER_OF_OBJECTS>0</NUMBER_OF_OBJECTS>
+		</STATUS>
+		<QOS>
+			<AVAILABILITY>0</AVAILABILITY>
+			<CAPACITY/>
+			<THROUGHPUT>0.0</THROUGHPUT>
+		</QOS>
+		<SECURITY_PARAMETERS/>
+		<BLACKBOARD/>
+	</BODY>
 </RESOURCE_PROFILE>
Index: modules/dli-service-portal/trunk/DLI.py
===================================================================
--- modules/dli-service-portal/trunk/DLI.py	(revision 40968)
+++ modules/dli-service-portal/trunk/DLI.py	(revision 40969)
@@ -116,7 +116,7 @@
     if action == 'query' and query is not None:
         q = QueryResolver(host, base_dnet_url)
         try:
-            result = q.query(q=query, browse_fields=["entitytype", "provenance"], start=start, only_result=only_result,
+            result = q.query(q=query, browse_fields=["entitytype", "provenance", "publisher"], start=start, only_result=only_result,
                              filter_query=filter_query)
         except Exception as e:
             print e
Index: modules/dli-service-portal/trunk/DLIQueryResolver.py
===================================================================
--- modules/dli-service-portal/trunk/DLIQueryResolver.py	(revision 40968)
+++ modules/dli-service-portal/trunk/DLIQueryResolver.py	(revision 40969)
@@ -12,7 +12,8 @@
         self.solr_server = pysolr.Solr(self.solr_url)
         self.base_url_dnet = base_url_dnet
         self.facet_renaming = {'entitytype': "Typology", 'provenance': "Content Provider",
-                               "Content Provider": 'provenance', "Typology": 'entitytype'}
+                               "Content Provider": 'provenance', "Typology": 'entitytype',
+                               "publisher":"publisher"}
 
     def get_facet(self, facet, query=None):
         data = []
@@ -29,6 +30,10 @@
         data.append({'facet': self.facet_renaming[f], 'query_name': f,
                      'values': [{'key': facet[f][i], 'value': facet[f][i + 1]} for i in range(0, len(facet[f]), 2)]})
 
+        f = 'publisher'
+        data.append({'facet': self.facet_renaming[f], 'query_name': f,
+                     'values': [{'key': facet[f][i], 'value': facet[f][i + 1]} for i in range(0, len(facet[f]), 2)]})
+
         return data
 
     def get_item(self, persistent_identifier):
Index: modules/dli-service-portal/trunk/DLI_ObjectResolver.py
===================================================================
--- modules/dli-service-portal/trunk/DLI_ObjectResolver.py	(revision 40968)
+++ modules/dli-service-portal/trunk/DLI_ObjectResolver.py	(revision 40969)
@@ -58,7 +58,7 @@
 
             if "titles" in data:
                 if len(data['titles']) > 0:
-                    self.title = data['titles'][0]
+                    self.title = data['titles'][0].replace('["','').replace('"]','')
             self.authors = data['authors']
             if 'type' in data:
                 self.objectType = data['type']
@@ -70,6 +70,15 @@
                     item = {'name': provenance['datasource'], 'completionStatus': provenance['completionStatus'],
                             'provisionMode': provenance['provisionMode'],
                             'collectionDate': provenance['collectionDate']}
+
+                    if 'datasourceId' in provenance:
+                        item['datasourceId'] = provenance['datasourceId']
+
+                    if 'publisher' in provenance:
+                        item['publisher'] =provenance['publisher']
+                    if 'publisherId' in provenance:
+                        item['publisherId'] =provenance['publisherId']
+
                     self.provenance_record.append(item)
             if 'relations' in data:
                 for rels in data['relations']:
Index: modules/dli-service-portal/trunk/static/partials/detail.html
===================================================================
--- modules/dli-service-portal/trunk/static/partials/detail.html	(revision 40968)
+++ modules/dli-service-portal/trunk/static/partials/detail.html	(revision 40969)
@@ -57,23 +57,24 @@
                             <thead>
                             <tr>
                                 <th class="center-align" style="width: 20%">Date Of Collection</th>
-                                <th class="center-align" style="width: 20%">Datasource</th>
-                                <th class="center-align" style="width: 60%">Action</th>
+                                <th class="center-align" style="width: 80%">Action</th>
                             </tr>
                             </thead>
                             <tbody>
                             <tr ng-repeat="d in item.provenance_record">
                                 <td class="centered">{{ d.collectionDate }}</td>
-                                <td class="centered">{{ d.name }}</td>
                                 <td class="centered">
                                     <div ng-show="d.completionStatus==='complete' && d.provisionMode==='collected'">
-                                        Object PID collected from {{ d.name }}
+                                        Full Metadata collected from <a href="#/datasource/id/{{d.datasourceId}}">{{ d.name }}</a>  <f ng-show="d.publisher">and Published by
+                                        <k ng-show="d.publisherId"><a href="#/datasource/id/{{d.publisherId}}"> {{d.publisher}}</a></k> <k ng-hide="d.publisherId">{{d.publisher}}</k></f>
                                     </div>
                                     <div ng-show="d.completionStatus==='incomplete'">Object PID collected from
-                                        {{ d.name }}
+                                        <a href="#/datasource/id/{{d.datasourceId}}">{{ d.name }}</a> <f ng-show="d.publisher">and Published by
+                                            <k ng-show="d.publisherId"><a href="#/datasource/id/{{d.publisherId}}"> {{d.publisher}}</a></k> <k ng-hide="d.publisherId">{{d.publisher}}</k></f>
                                     </div>
                                     <div ng-show="d.completionStatus==='complete' && d.provisionMode==='resolved'">
-                                        Full-metadata record collected from {{ d.name }}
+                                        Full-metadata record collected from <a href="#/datasource/id/{{d.datasourceId}}">{{ d.name }}</a> <f ng-show="d.publisher">and Published by
+                                        <k ng-show="d.publisherId"><a href="#/datasource/id/{{d.publisherId}}"> {{d.publisher}}</a></k> <k ng-hide="d.publisherId">{{d.publisher}}</k></f>
                                     </div>
                                 </td>
 
Index: modules/dnet-openaire_dli-workflows/trunk/src/test/java/PublisherResolverTest.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/test/java/PublisherResolverTest.java	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/test/java/PublisherResolverTest.java	(revision 40969)
@@ -0,0 +1,17 @@
+import eu.dnetlib.msro.workflows.dli.publisher.PublisherResolver;
+import junit.framework.Assert;
+import org.junit.Test;
+
+/**
+ * Created by Sandro La Bruzzo on 1/13/16.
+ */
+public class PublisherResolverTest {
+
+    private final String jsonInput = "{source: [{priority: 0, field:\"any\",  key:'elsevier'}], target: [{priority: 0, field:\"pidType\", regExp:\"doi\", key:'elsevier'}]}";
+
+    @Test
+    public void testJson() {
+
+    }
+
+}
Index: modules/dnet-openaire_dli-workflows/trunk/src/test/java/eu/dnetlib/functionality/modular/ui/stastdli/StatsStoreTest.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/test/java/eu/dnetlib/functionality/modular/ui/stastdli/StatsStoreTest.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/test/java/eu/dnetlib/functionality/modular/ui/stastdli/StatsStoreTest.java	(revision 40969)
@@ -1,10 +1,9 @@
 package eu.dnetlib.functionality.modular.ui.stastdli;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
+import eu.dnetlib.dli.openaire.transform.ConfigurationTestConfig;
+import eu.dnetlib.msro.workflows.dli.manager.StatsInfo;
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,34 +10,34 @@
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
-import eu.dnetlib.dli.openaire.transform.ConfigurationTestConfig;
-import eu.dnetlib.msro.workflows.dli.manager.StatsInfo;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 @RunWith(SpringJUnit4ClassRunner.class)
 @ContextConfiguration(classes = ConfigurationTestConfig.class)
 public class StatsStoreTest {
 
-	@Autowired
-	private StatsStore store;
+    @Autowired
+    private StatsStore store;
 
-	@Test
-	public void test() {
+    @Ignore
+    @Test
+    public void test() {
+        Map<Date, List<StatsInfo>> map = store.getAllStats();
+        for (Date key : map.keySet()) {
 
-		Map<Date, List<StatsInfo>> map = store.getAllStats();
+            List<StatsInfo> lastStats = map.get(key);
+            Assert.assertTrue(lastStats.size() > 0);
+            for (StatsInfo info : lastStats) {
+                Assert.assertNotNull(info.getDatasource());
+                System.out.println(String.format("Date: %s %s  D:%d P:%d, O:%d, R:%d", key, info.getDatasource(), info.getNumberOfDatasets(),
+                        info.getNumberOfPublication(),
+                        info.getNumberOfObjects(), info.getNumberOfRelations()));
 
-		for (Date key : map.keySet()) {
+            }
+        }
 
-			List<StatsInfo> lastStats = map.get(key);
-			Assert.assertTrue(lastStats.size() > 0);
-			for (StatsInfo info : lastStats) {
-				Assert.assertNotNull(info.getDatasource());
-				System.out.println(String.format("Date: %s %s  D:%d P:%d, O:%d, R:%d", key, info.getDatasource(), info.getNumberOfDatasets(),
-						info.getNumberOfPublication(),
-						info.getNumberOfObjects(), info.getNumberOfRelations()));
+    }
 
-			}
-		}
-
-	}
-
 }
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/feeding/AggregateObjectJobNode.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/feeding/AggregateObjectJobNode.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/dli/workflows/nodes/feeding/AggregateObjectJobNode.java	(revision 40969)
@@ -9,9 +9,12 @@
 import eu.dnetlib.msro.dli.workflows.nodes.feeding.utility.DLIRecordParser;
 import eu.dnetlib.msro.dli.workflows.nodes.transform.DLIUtils;
 import eu.dnetlib.msro.workflows.dli.manager.DLIDBManager;
+import eu.dnetlib.msro.workflows.dli.publisher.PublisherResolver;
+import eu.dnetlib.msro.workflows.dli.publisher.PublisherResolverFactory;
 import eu.dnetlib.msro.workflows.nodes.ProgressJobNode;
 import eu.dnetlib.msro.workflows.nodes.SimpleJobNode;
 import eu.dnetlib.msro.workflows.util.ProgressProvider;
+import eu.dnetlib.msro.workflows.util.WorkflowsConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,6 +59,10 @@
      */
     private BlockingQueue<String> inputBlockingQueue;
 
+
+    @Autowired
+    PublisherResolverFactory publisherResolverFactory;
+
     /**
      * The result set client factory.
      */
@@ -74,6 +81,8 @@
     @Autowired
     private DLIDBManager manager;
 
+
+
     /**
      * The added elemtents.
      */
@@ -92,14 +101,19 @@
         inputBlockingQueue = new ArrayBlockingQueue<String>(1000);
         final List<Future<Boolean>> responses = Lists.newArrayList();
         final ExecutorService executor = Executors.newFixedThreadPool(numberOfThread);
-        String nameSpacePrefix = token.getEnv().getAttribute("namespacePrefix");
-        responses.add(executor.submit(new DatabaseFeederWorker(inputBlockingQueue, new DLIRecordParser(), manager, nameSpacePrefix, END_QUEUE)));
-        int addedElemtents = 0;
+        final String datasourceId = token.getFullEnv().getAttribute(WorkflowsConstants.DATAPROVIDER_ID);
+        PublisherResolver resolver = publisherResolverFactory.getInstance(datasourceId);
+        String nameSpacePrefix = token.getEnv().getAttribute("parentDatasourceId");
+        responses.add(executor.submit(new DatabaseFeederWorker(inputBlockingQueue, new DLIRecordParser(), manager, nameSpacePrefix, END_QUEUE, resolver)));
+
+
+
+        int addedElements = 0;
         for (String s : input) {
             try {
                 inputBlockingQueue.put(s);
                 this.addedElemtents++;
-                log.debug("Added " + addedElemtents);
+                log.debug("Added " + addedElements);
             } catch (InterruptedException e) {
                 log.error("Error on put item on blocking Queue.\n item:" + s, e);
             }
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/model/DLIProvenance.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/model/DLIProvenance.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/model/DLIProvenance.java	(revision 40969)
@@ -6,6 +6,7 @@
 import org.apache.commons.lang.StringEscapeUtils;
 
 // TODO: Auto-generated Javadoc
+
 /**
  * The Class DLIProvenance.
  *
@@ -13,184 +14,268 @@
  */
 public class DLIProvenance {
 
-	/** The datasource. */
-	private String datasource;
+    /**
+     * The datasource.
+     */
+    private String datasource;
 
-	/** The provision mode. */
-	private String provisionMode;
 
-	/** The completion status. */
-	private String completionStatus;
+    private String datasourceId;
 
-	/** The visible. */
-	private boolean visible;
+    /**
+     * The publisher.
+     */
+    private String publisher;
 
-	/** The datasource contribution. */
-	private String datasourceContribution;
 
-	/** The collection date. */
-	private String collectionDate;
+    /**
+     * The publisher identifier can be null
+     */
+    private String publisherId;
 
-	/**
-	 * Instantiates a new DLI provenance.
-	 *
-	 * @param datasource
-	 *            the datasource
-	 * @param provisionMode
-	 *            the provision mode
-	 * @param completionStatus
-	 *            the completion status
-	 * @param contribution
-	 *            the contribution
-	 */
-	public DLIProvenance(final String datasource, final String provisionMode, final String completionStatus, final String contribution,
-			final String collectionDate, final boolean visible) {
-		super();
-		this.datasource = datasource;
-		this.provisionMode = provisionMode;
-		this.completionStatus = completionStatus;
-		this.datasourceContribution = contribution;
-		this.collectionDate = collectionDate;
-		this.visible = visible;
-	}
+    /**
+     * The provision mode.
+     */
+    private String provisionMode;
 
-	/**
-	 * Instantiates a new DLI provenance.
-	 */
-	public DLIProvenance() {
+    /**
+     * The completion status.
+     */
+    private String completionStatus;
 
-	}
+    /**
+     * The visible.
+     */
+    private boolean visible;
 
-	/**
-	 * Gets the datasource.
-	 *
-	 * @return the datasource
-	 */
-	public String getDatasource() {
-		return datasource;
-	}
+    /**
+     * The datasource contribution.
+     */
+    private String datasourceContribution;
 
-	/**
-	 * Gets the escaped datasource.
-	 *
-	 * @return the escaped datasource
-	 */
-	public String getEscapedDatasource() {
-		return StringEscapeUtils.escapeXml(this.datasource);
-	}
+    /**
+     * The collection date.
+     */
+    private String collectionDate;
 
-	/**
-	 * Sets the datasource.
-	 *
-	 * @param datasource
-	 *            the new datasource
-	 */
-	public void setDatasource(final String datasource) {
-		this.datasource = datasource;
-	}
+    /**
+     * Instantiates a new DLI provenance.
+     *
+     * @param datasource       the datasource
+     * @param provisionMode    the provision mode
+     * @param completionStatus the completion status
+     * @param contribution     the contribution
+     */
+    public DLIProvenance(final String datasource, final String provisionMode, final String completionStatus, final String contribution,
+                         final String collectionDate, final boolean visible) {
+        super();
+        this.datasource = datasource;
+        this.provisionMode = provisionMode;
+        this.completionStatus = completionStatus;
+        this.datasourceContribution = contribution;
+        this.collectionDate = collectionDate;
+        this.visible = visible;
+    }
 
-	/**
-	 * Gets the provision mode.
-	 *
-	 * @return the provision mode
-	 */
-	public String getProvisionMode() {
-		return provisionMode;
-	}
 
-	/**
-	 * Sets the provision mode.
-	 *
-	 * @param provisionMode
-	 *            the new provision mode
-	 */
-	public void setProvisionMode(final String provisionMode) {
-		this.provisionMode = provisionMode;
-	}
+    public DLIProvenance(final String datasource, final String provisionMode, final String completionStatus, final String contribution,
+                         final String collectionDate, final boolean visible, final String datasourceId, final String publisher, final String publisherId) {
+        this(datasource, provisionMode, completionStatus, contribution, collectionDate, visible);
+        this.publisher = publisher;
+        this.publisherId = publisherId;
+        this.datasourceId = datasourceId;
+    }
 
-	/**
-	 * Gets the completion status.
-	 *
-	 * @return the completion status
-	 */
-	public String getCompletionStatus() {
-		return completionStatus;
-	}
 
-	/**
-	 * Sets the completion status.
-	 *
-	 * @param completionStatus
-	 *            the new completion status
-	 */
-	public void setCompletionStatus(final String completionStatus) {
-		this.completionStatus = completionStatus;
-	}
+    /**
+     * Instantiates a new DLI provenance.
+     */
+    public DLIProvenance() {
 
-	/**
-	 * {@inheritDoc}
-	 *
-	 * @see java.lang.Object#toString()
-	 */
-	@Override
-	public String toString() {
-		String s = "\n\t\t%s \t Completion Status:%s \t Provision Mode:%s";
-		return String.format(s, this.getDatasource(), this.getCompletionStatus(), this.getProvisionMode());
-	}
+    }
 
-	/**
-	 * Gets the datasource contribution.
-	 *
-	 * @return the datasource contribution
-	 */
-	public String getDatasourceContribution() {
-		return datasourceContribution;
-	}
+    /**
+     * Get the Publisher identifier
+     *
+     * @return the publisher
+     */
+    public String getPublisherId() {
+        return publisherId;
+    }
 
-	/**
-	 * Gets the escaped xml datasource contribution.
-	 *
-	 * @return the escaped xml datasource contribution
-	 */
-	public String getEscapedXMLDatasourceContribution() {
-		return datasourceContribution.replaceAll("\"", "");
-	}
 
-	/**
-	 * Sets the datasource contribution.
-	 *
-	 * @param datasourceContribution
-	 *            the new datasource contribution
-	 */
-	public void setDatasourceContribution(final String datasourceContribution) {
-		this.datasourceContribution = datasourceContribution;
-	}
+    /**
+     * Set the Publisher identifier
+     *
+     * @param publisher
+     */
+    public void setPublisherId(String publisherId) {
+        this.publisherId = publisherId;
+    }
 
-	/**
-	 * Gets the collection date.
-	 *
-	 * @return the collection date
-	 */
-	public String getCollectionDate() {
-		return collectionDate;
-	}
 
-	/**
-	 * Sets the collection date.
-	 *
-	 * @param collectionDate
-	 *            the new collection date
-	 */
-	public void setCollectionDate(final String collectionDate) {
-		this.collectionDate = collectionDate;
-	}
+    /**
+     * Get the Publisher
+     *
+     * @return the publisher
+     */
+    public String getPublisher() {
+        return publisher;
+    }
 
-	public boolean isVisible() {
-		return visible;
-	}
 
-	public void setVisible(final boolean visible) {
-		this.visible = visible;
-	}
+    public String getEscapedPublisher() {
+        return  StringEscapeUtils.escapeXml(this.publisher);
+    }
 
+
+    /**
+     * Set the Publisher
+     *
+     * @param publisher
+     */
+    public void setPublisher(String publisher) {
+        this.publisher = publisher;
+    }
+
+    /**
+     * Gets the datasource.
+     *
+     * @return the datasource
+     */
+    public String getDatasource() {
+        return datasource;
+    }
+
+    /**
+     * Sets the datasource.
+     *
+     * @param datasource the new datasource
+     */
+    public void setDatasource(final String datasource) {
+        this.datasource = datasource;
+    }
+
+    /**
+     * Gets the escaped datasource.
+     *
+     * @return the escaped datasource
+     */
+    public String getEscapedDatasource() {
+        return StringEscapeUtils.escapeXml(this.datasource);
+    }
+
+
+    public String getDatasourceId() {
+        return datasourceId;
+    }
+
+    public void setDatasourceId(String datasourceId) {
+        this.datasourceId = datasourceId;
+    }
+
+    public String getEscapedDatasourceId() {
+        return StringEscapeUtils.escapeXml(this.datasourceId);
+    }
+
+    /**
+     * Gets the provision mode.
+     *
+     * @return the provision mode
+     */
+    public String getProvisionMode() {
+        return provisionMode;
+    }
+
+    /**
+     * Sets the provision mode.
+     *
+     * @param provisionMode the new provision mode
+     */
+    public void setProvisionMode(final String provisionMode) {
+        this.provisionMode = provisionMode;
+    }
+
+    /**
+     * Gets the completion status.
+     *
+     * @return the completion status
+     */
+    public String getCompletionStatus() {
+        return completionStatus;
+    }
+
+    /**
+     * Sets the completion status.
+     *
+     * @param completionStatus the new completion status
+     */
+    public void setCompletionStatus(final String completionStatus) {
+        this.completionStatus = completionStatus;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        String s = "\n\t\t%s \t Completion Status:%s \t Provision Mode:%s";
+        return String.format(s, this.getDatasource(), this.getCompletionStatus(), this.getProvisionMode());
+    }
+
+    /**
+     * Gets the datasource contribution.
+     *
+     * @return the datasource contribution
+     */
+    public String getDatasourceContribution() {
+        return datasourceContribution;
+    }
+
+    /**
+     * Sets the datasource contribution.
+     *
+     * @param datasourceContribution the new datasource contribution
+     */
+    public void setDatasourceContribution(final String datasourceContribution) {
+        this.datasourceContribution = datasourceContribution;
+    }
+
+    /**
+     * Gets the escaped xml datasource contribution.
+     *
+     * @return the escaped xml datasource contribution
+     */
+    public String getEscapedXMLDatasourceContribution() {
+        return datasourceContribution.replaceAll("\"", "");
+    }
+
+    /**
+     * Gets the collection date.
+     *
+     * @return the collection date
+     */
+    public String getCollectionDate() {
+        return collectionDate;
+    }
+
+    /**
+     * Sets the collection date.
+     *
+     * @param collectionDate the new collection date
+     */
+    public void setCollectionDate(final String collectionDate) {
+        this.collectionDate = collectionDate;
+    }
+
+    public boolean isVisible() {
+        return visible;
+    }
+
+    public void setVisible(final boolean visible) {
+        this.visible = visible;
+    }
+
 }
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/RCSBParser.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/RCSBParser.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/RCSBParser.java	(revision 40969)
@@ -31,7 +31,7 @@
 	private static final Log log = LogFactory.getLog(RCSBParser.class); // NOPMD by marko on 11/24/08 5:02 PM
 
 	/** The Constant CROSSREF_NS_PREFIX. */
-	public static final String RCBS_NS_PREFIX = "rcsb";
+	public static final String RCBS_NS_PREFIX = "dli::r3d100010327";
 
 	/**
 	 * Parses the record.
@@ -91,7 +91,7 @@
 				}
 			}
 			if (object.getPid() != null && object.getPidType() != null) {
-				DLIProvenance provenance = new DLIProvenance(RCBS_NS_PREFIX, "resolved", "complete", null, null, true);
+				DLIProvenance provenance = new DLIProvenance(RCBS_NS_PREFIX, "resolved", "complete", null, null, true, "RCSB", "",RCBS_NS_PREFIX);
 				object.setDatasourceProvenance(Lists.newArrayList(provenance));
 				object.fixContribution(provenance);
 				object.setType(DLIObjectType.dataset);
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/CrossRefParserJSON.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/CrossRefParserJSON.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/resolver/CrossRefParserJSON.java	(revision 40969)
@@ -27,7 +27,7 @@
     /**
      * The Constant CROSSREF_NS_PREFIX.
      */
-    public static final String CROSSREF_NS_PREFIX = "crs";
+    public static final String CROSSREF_NS_PREFIX = "dli::crossref";
     private static final Log log = LogFactory.getLog(CrossRefParserJSON.class); // NOPMD by marko on 11/24/08 5:02 PM
 
     public DLIObject parseRecord(final String record) {
@@ -35,8 +35,8 @@
         if (record == null) return null;
         JsonElement jElement = new JsonParser().parse(record);
         JsonObject mainObj = jElement.getAsJsonObject();
-        if (!mainObj.get("message").isJsonNull()) {
-            return new DLIObject();
+        if (mainObj.get("message").isJsonNull()) {
+            return null;
         }
         JsonObject message = mainObj.getAsJsonObject("message");
         DLIObject currentObject = new DLIObject();
@@ -54,7 +54,7 @@
             currentObject.setTitles(new String[]{message.get("title").toString()});
         }
 
-        if (!message.get("author").isJsonNull()) {
+        if (message.get("author") != null && !message.get("author").isJsonNull()) {
             JsonArray author = message.getAsJsonArray("author");
             List<String> authorList = Lists.newArrayList();
             for (JsonElement anAuthor : author) {
@@ -62,10 +62,10 @@
 
                 String family = "";
                 String given = "";
-                if (!currentAuth.get("family").isJsonNull()) {
+                if (currentAuth != null && currentAuth.get("family") != null && !currentAuth.get("family").isJsonNull()) {
                     family = currentAuth.get("family").getAsString();
                 }
-                if (!currentAuth.get("given").isJsonNull()) {
+                if (currentAuth != null && currentAuth.get("given") != null && !currentAuth.get("given").isJsonNull()) {
                     given = currentAuth.get("given").getAsString();
                 }
                 authorList.add(String.format("%s %s", family, given));
@@ -73,6 +73,9 @@
             currentObject.setAuthors(authorList.toArray(new String[]{}));
         }
         DLIProvenance provenance = new DLIProvenance(CROSSREF_NS_PREFIX, "resolved", "complete", null, null, true);
+        if(message.get("publisher") != null && !message.get("publisher").isJsonNull()) {
+            provenance.setPublisher(message.get("publisher").getAsString());
+        }
         currentObject.fixContribution(provenance);
         currentObject.setDatasourceProvenance(Lists.newArrayList(provenance));
         currentObject.setCompletionStatus(DLICompletionStatus.complete.toString());
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_pubmed.xslt
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_pubmed.xslt	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_pubmed.xslt	(revision 40969)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:datetime="http://exslt.org/dates-and-times"
+				xmlns:exslt="http://exslt.org/common" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
+				xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+				xmlns:dnet="eu.dnetlib.miscutils.functional.xml.DnetXsltFunctions"
+				version="1.0"
+				exclude-result-prefixes="xsl datetime exslt dnet">
+
+	<xsl:param name="repositoryId"/>
+	<xsl:param name="namespacePrefix"></xsl:param>
+	<xsl:param name="dataprovider_id"></xsl:param>
+	<xsl:variable name="status" select="/*[local-name() = 'record']/*[local-name() = 'header']/@status"/>
+	<xsl:variable name="pid" select="//*[local-name()='dliObject']/*[local-name()='localIdentifier']"></xsl:variable>
+	<xsl:variable name="pid_type" select="//*[local-name()='dliObject']/*[local-name()='localIdentifier']/@type"></xsl:variable>
+	<xsl:template match="/">
+		<oai:record xmlns="http://namespace.openaire.eu/"
+		>
+			<oai:header>
+				<dri:objIdentifier>
+					<xsl:value-of select="concat($namespacePrefix,'::', dnet:md5($pid),'::',dnet:md5($pid_type))"/>
+				</dri:objIdentifier>
+				<dri:recordIdentifier>
+					<xsl:value-of select="$pid"/>
+				</dri:recordIdentifier>
+				<dri:dateOfCollection>
+					<xsl:value-of select="datetime:dateTime()"/>
+				</dri:dateOfCollection>
+				<dri:repositoryId>
+					<xsl:value-of select="$dataprovider_id"/>
+				</dri:repositoryId>
+				<dri:datasourceprefix>
+					<xsl:value-of select="$namespacePrefix"/>
+				</dri:datasourceprefix>
+			</oai:header>
+			<xsl:choose>
+				<xsl:when test="count(//*[local-name() = 'dliObject']) &gt; 0">
+					<metadata>
+						<dliObject xmlns="http://www.dli.eu" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+							<xsl:copy-of select="//*[local-name() = 'dliObject']//*"/>
+							<provenance>
+								<datasource completionStatus="complete" provisionMode="collected">
+									<xsl:value-of select="$namespacePrefix"/>
+								</datasource>
+							</provenance>
+						</dliObject>
+					</metadata>
+				</xsl:when>
+			</xsl:choose>
+		</oai:record>
+	</xsl:template>
+</xsl:stylesheet>
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/DeductRelation.sql
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/DeductRelation.sql	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/DeductRelation.sql	(revision 40969)
@@ -4,7 +4,7 @@
   SET (target_type, target_authors, target_title, relationship_completion_status) = (o.type, o.authors, COALESCE(
       o.title [1], ''), 'complete') FROM dli_object o
   WHERE target_pid = o.pid AND relationship_completion_status <> 'complete' AND o.completion_status = 'complete'
-  RETURNING 'system' AS ds_id, id_relation AS id_rels, 'system_deducted', 'complete'
+  RETURNING 'dli::system' AS ds_id, id_relation AS id_rels, 'system_deducted', 'complete'
 ) INSERT INTO relation_provenance_tmp SELECT *
                                       FROM updated_rows;
 DELETE FROM relation_provenance
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/doimanager/xmlTemplate.st
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/doimanager/xmlTemplate.st	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/doimanager/xmlTemplate.st	(revision 40969)
@@ -19,7 +19,8 @@
       		<dli:provenance>      		
          		$object.datasourceProvenance:{
          		<dli:datasourceInfo>
-         			<dli:datasource completionStatus="$it.completionStatus$" provisionMode="$it.provisionMode$" visible="$it.visible$">$it.escapedDatasource$</dli:datasource>
+         			<dli:provider completionStatus="$it.completionStatus$" provisionMode="$it.provisionMode$" datasourceId="$it.escapedDatasourceId$" visible="$it.visible$">$it.escapedDatasource$</dli:provider>
+         			<dli:publisher datasourceId="$it.publisherId$" >$it.escapedPublisher$</dli:publisher>
          			<dli:contributedFields>$it.escapedXMLDatasourceContribution$</dli:contributedFields>
          			<dli:collectionDate>$it.collectionDate$</dli:collectionDate>
          		</dli:datasourceInfo>
Index: modules/dnet-openaire_dli-workflows/trunk/pom.xml
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/pom.xml	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/pom.xml	(revision 40969)
@@ -14,7 +14,7 @@
 	</scm>
 	<dependencies>
 
-		
+
 		<dependency>
 			<groupId>eu.dnetlib</groupId>
 			<artifactId>dnet-msro-service</artifactId>
@@ -68,7 +68,7 @@
 		<dependency>
 			<groupId>eu.dnetlib</groupId>
 			<artifactId>cnr-mongo-mdstore</artifactId>
-			<version>4.2.1-SNAPSHOT</version>
+			<version>[4.0.0, 5.0.0)</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.commons</groupId>
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/manager/DLIDBManager.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/manager/DLIDBManager.java	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/manager/DLIDBManager.java	(revision 40969)
@@ -126,7 +126,7 @@
         Connection connection = null;
         try {
             connection = datasource.getConnection();
-            final String query = "SELECT  name, web, icon_uri, ds_id, latitude, longitude FROM dli_datasource WHERE exportable=TRUE ";
+            final String query = "SELECT  name, web, icon_uri, ds_id, latitude, longitude FROM dli_datasource WHERE exportable=TRUE and typology<>'resolver'";
 
             PreparedStatement ps = connection.prepareStatement(query);
 
@@ -253,13 +253,11 @@
      *
      * @return the data source by name maps
      */
-    public Map<String, Pair<String, Boolean>> getDataSourceByNameMaps() {
-
+    public Map<String, Pair<String, Boolean>> getDataSourceByIDMaps() {
         Connection connection = null;
         try {
             connection = datasource.getConnection();
             connection.setAutoCommit(false);
-
             PreparedStatement ps = connection.prepareStatement("select ds_id, name, exportable from dli_datasource");
             ResultSet result = ps.executeQuery();
             Map<String, Pair<String, Boolean>> datasourceMap = Maps.newHashMap();
@@ -277,7 +275,33 @@
         } finally {
             closeConnection(connection);
         }
+    }
 
+
+
+    public Map<String, String> getPublisherByNameMap() {
+        Connection connection = null;
+        try {
+            connection = datasource.getConnection();
+            connection.setAutoCommit(false);
+            PreparedStatement ps = connection.prepareStatement("select name, ds_id from dli_datasource");
+            ResultSet result = ps.executeQuery();
+            Map<String, String> publisherMap = Maps.newHashMap();
+            while (result.next()) {
+                publisherMap.put(result.getString("name").toLowerCase().trim(), result.getString("ds_id"));
+            }
+            return publisherMap;
+        } catch (Exception e) {
+            try {
+                connection.rollback();
+            } catch (SQLException e1) {
+                log.error("Error on rollback ", e1);
+            }
+            return null;
+        } finally {
+            closeConnection(connection);
+        }
+
     }
 
     /**
@@ -328,7 +352,7 @@
     private void updateCompleteRelation(final Connection connection, final String type, final Array titles, final String pid, final Array authors)
             throws SQLException {
         PreparedStatement update = connection.prepareStatement(
-                "update dli_relation set target_type =?, target_title=?,  target_authors=?, relationship_completion_status=? where id_relation=?");
+                "update dli_relation set target_type =?, target_title=?,  target_authors=?, relationship_completion_status=? where target_pid=?");
         update.setString(1, type);
         update.setFetchSize(100);
         String title = null;
@@ -592,8 +616,8 @@
      * @throws SQLException the SQL exception
      */
     private void insertObjectProvenance(final DLIObject input, final Connection connection, final String table_name) throws SQLException {
-        String sql = "INSERT INTO " + table_name + " (ds_id, dli_id, provision_mode, completion_status, contribution) " +
-                "VALUES (?,?,?,?,?)";
+        String sql = "INSERT INTO " + table_name + " (ds_id, dli_id, provision_mode, completion_status, contribution, publisher) " +
+                "VALUES (?,?,?,?,?, ?)";
         if (input.getDatasourceProvenance() == null || input.getDatasourceProvenance().size() == 0) return;
         PreparedStatement statement = null;
         try {
@@ -605,6 +629,7 @@
                 statement.setString(3, provenance.getProvisionMode());
                 statement.setString(4, provenance.getCompletionStatus());
                 statement.setString(5, provenance.getDatasourceContribution());
+                statement.setString(6, provenance.getPublisher());
                 log.debug("executing statement " + statement.toString());
                 int totalUpdate = statement.executeUpdate();
                 log.debug("Updated " + totalUpdate + " record");
@@ -724,6 +749,8 @@
                 final Function<DLIObject, String> convertFunction = new Function<DLIObject, String>() {
                     @Override
                     public String apply(DLIObject input) {
+                        if (input.getIdentifier()== null || StringUtils.isEmpty(input.getIdentifier()))
+                            log.error("OGGETTO NULLO");
                         return extractXMLfromDLIObject(input);
                     }
                 };
@@ -889,7 +916,7 @@
             connection = datasource.getConnection();
 
             HashMap<String, StatsInfo> stats = Maps.newHashMap();
-            Map<String, Pair<String, Boolean>> datasourceMap = getDataSourceByNameMaps();
+            Map<String, Pair<String, Boolean>> datasourceMap = getDataSourceByIDMaps();
 
             PreparedStatement ps = connection.prepareStatement(getAllObjectByTypeSQL);
             ps.setString(1, DLIObjectType.publication.toString());
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverFactory.java
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverFactory.java	(nonexistent)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/java/eu/dnetlib/msro/workflows/dli/publisher/PublisherResolverFactory.java	(revision 40969)
@@ -0,0 +1,44 @@
+package eu.dnetlib.msro.workflows.dli.publisher;
+
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpException;
+import eu.dnetlib.enabling.is.lookup.rmi.ISLookUpService;
+import eu.dnetlib.enabling.locators.UniqueServiceLocator;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+ * Created by sandro on 15/01/16.
+ */
+public class PublisherResolverFactory {
+
+    private static final String queryTemplate = "//RESOURCE_PROFILE[.//RESOURCE_IDENTIFIER/@value/string()='%s']//FIELD[key = 'provConfigParameters']/value/text()";
+
+
+    @Autowired
+    private UniqueServiceLocator locator;
+
+
+    public PublisherResolver getInstance(final String datasourceId) throws ISLookUpException {
+        ISLookUpService lookupService = locator.getService(ISLookUpService.class);
+        List<String> results =lookupService.quickSearchProfile(String.format(queryTemplate, datasourceId));
+
+        if (results.size()==0) {
+            return null;
+        }
+        final String json = results.get(0);
+
+
+        GsonBuilder gsonBuilder = new GsonBuilder();
+        gsonBuilder.registerTypeAdapter(PublisherConfigurationParameters.class, new PublisherResolverRuleDeserializer());
+        Gson gson = gsonBuilder.create();
+        PublisherConfigurationParameters parameters = gson.fromJson(json, PublisherConfigurationParameters.class);
+
+        PublisherResolver resolver= new PublisherResolver();
+        resolver.setParameters(parameters);
+        return resolver;
+    }
+
+}
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/insertNewData.sql
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/insertNewData.sql	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/insertNewData.sql	(revision 40969)
@@ -1,5 +1,5 @@
 insert into dli_object(dli_id, pid, pid_type, creation_date, type, completion_status, authors, title) ( select p.dli_id, p.pid, p.pid_type, p.creation_date, p.type, p.status, p.authors, p.title from new_dli_records p join new_dli_record_to_add a on p.dli_id = a.dli_id);
 insert into dli_relation (id_relation , source_record, source_pid, target_type, target_pid, target_pid_type,  target_title, target_authors,  relation_semantic, relationship_completion_status) 
  ( select r.id_relation, r.source_record, r.source_pid,  r.target_type, r.target_pid, r.target_pid_type,  r.target_title, r.target_authors, r.relation_semantic, r.relationship_completion_status from new_dli_relation r join new_dli_relation_to_add a on r.id_relation = a.id_relation);
-insert into record_provenance (ds_id, dli_id, provision_mode, completion_status, contribution) ( select r.ds_id, r.dli_id, r.provision_mode, r.completion_status, r.contribution from new_record_provenance r join new_record_provenance_to_add a on (r.ds_id = a.ds_id and r.dli_id = a.dli_id));
+insert into record_provenance (ds_id, dli_id, provision_mode, completion_status, contribution, publisher) ( select r.ds_id, r.dli_id, r.provision_mode, r.completion_status, r.contribution, r.publisher from new_record_provenance r join new_record_provenance_to_add a on (r.ds_id = a.ds_id and r.dli_id = a.dli_id));
 insert into relation_provenance (ds_id, id_relation, provision_mode, completion_status) ( select r.ds_id, r.id_relation, r.provision_mode, r.completion_status from new_relation_provenance r join new_relation_provenance_to_add a on (r.id_relation = a.id_relation));
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_elsevier.xslt
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_elsevier.xslt	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/xslt/ingest_elsevier.xslt	(revision 40969)
@@ -1,60 +1,81 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:datetime="http://exslt.org/dates-and-times" xmlns:exslt="http://exslt.org/common"
-    xmlns:oai="http://www.openarchives.org/OAI/2.0/"    
-    xmlns:dnet="eu.dnetlib.miscutils.functional.xml.DnetXsltFunctions"
-    xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
-    xmlns:dli="http://www.dli.eu"
-    exclude-result-prefixes="xsl datetime dnet exslt">
-    <!--  " -->  
-    <xsl:param name="repositoryId" />
-    <xsl:param name="namespacePrefix"></xsl:param>
-    <xsl:param name="dataprovider_id"></xsl:param>
-    
-    <xsl:variable name="id" select="//*[local-name()='column' and ./@isID='true']"></xsl:variable>   
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+				xmlns:datetime="http://exslt.org/dates-and-times"
+				xmlns:exslt="http://exslt.org/common" xmlns:oai="http://www.openarchives.org/OAI/2.0/"
+				xmlns:dnet="eu.dnetlib.miscutils.functional.xml.DnetXsltFunctions"
+				xmlns:dri="http://www.driver-repository.eu/namespace/dri"
+				xmlns:dli="http://www.dli.eu"
+				version="1.0"
+				exclude-result-prefixes="xsl datetime dnet exslt">
+	<!--  " -->
+	<xsl:param name="repositoryId"/>
+	<xsl:param name="namespacePrefix"></xsl:param>
+	<xsl:param name="dataprovider_id"></xsl:param>
+	<xsl:param name="parentDatasourceId"></xsl:param>
+
+	<xsl:variable name="id" select="//*[local-name()='column' and ./@isID='true']"></xsl:variable>
 	<xsl:variable name="doitype" select="//*[local-name()='column' and ./@name='db']"></xsl:variable>
-	 <xsl:variable name="dnetId" select="concat($doitype,'::',$id)"></xsl:variable>    
-    <xsl:variable name="date" select="//*[local-name()='column' and ./@name='date']"></xsl:variable>        
-    <xsl:variable name="reldoi" select="//*[local-name()='column' and ./@name='ArticleID']"></xsl:variable>
-    <xsl:template match="/">
-        <oai:record xmlns="http://namespace.openaire.eu/"
-            xmlns:dc="http://purl.org/dc/elements/1.1/"
-            xmlns:dr="http://www.driver-repository.eu/namespace/dr"
-            xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance"
-            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-            
-            <oai:header> 
-                <xsl:if test=" string-length(normalize-space($id)) &gt; 0">
-                    <dri:objIdentifier><xsl:value-of select="concat($namespacePrefix,'::', dnet:md5($dnetId),'::', dnet:md5($reldoi))"/></dri:objIdentifier>
-                </xsl:if>               
-                
-                <dri:recordIdentifier><xsl:value-of select="$id"/></dri:recordIdentifier>
-                <dri:dateOfCollection><xsl:value-of select="datetime:dateTime()"/></dri:dateOfCollection>
-                <dri:repositoryId><xsl:value-of select="$dataprovider_id"/></dri:repositoryId>
-                <dri:datasourceprefix><xsl:value-of select="$namespacePrefix"/></dri:datasourceprefix>                
-            </oai:header>
-            <metadata>
-                <dli:dliObject>
-                    <dnetResourceIdentifier><xsl:value-of select="concat($namespacePrefix,'::', dnet:md5($dnetId),'::', dnet:md5($reldoi))"/></dnetResourceIdentifier>
-                    <localIdentifier>
-                    	<xsl:attribute name="type"><xsl:value-of select="$doitype"/></xsl:attribute>                        
-                        <xsl:value-of select="$id"/>
-                    </localIdentifier>               
-                    <objectType>dataset</objectType>
-                    <date ><xsl:value-of select="$date"></xsl:value-of></date>
-                    <provenance>
-         				<datasource completionStatus="incomplete" provisionMode="collected"><xsl:value-of select="$namespacePrefix"/></datasource>
-         			</provenance>
-         			<completionStatus>incomplete</completionStatus>
-                    <relations>
-                        <relation>
-                            <pid type="doi"><xsl:value-of select="$reldoi"/></pid>
-                            <typeOfRelation>unknown</typeOfRelation>
-                        </relation>
-                    </relations>
-                </dli:dliObject>                
-            </metadata>           
-        </oai:record>
-    </xsl:template>    
+	<xsl:variable name="dnetId" select="concat($doitype,'::',$id)"></xsl:variable>
+	<xsl:variable name="date" select="//*[local-name()='column' and ./@name='date']"></xsl:variable>
+	<xsl:variable name="reldoi" select="//*[local-name()='column' and ./@name='ArticleID']"></xsl:variable>
+	<xsl:template match="/">
+		<oai:record xmlns:dc="http://purl.org/dc/elements/1.1/"
+					xmlns:dr="http://www.driver-repository.eu/namespace/dr"
+					xmlns:prov="http://www.openarchives.org/OAI/2.0/provenance"
+					xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+					xmlns="http://namespace.openaire.eu/">
+
+			<oai:header>
+				<xsl:if test=" string-length(normalize-space($id)) &gt; 0">
+					<dri:objIdentifier>
+						<xsl:value-of select="concat($parentDatasourceId,'::', dnet:md5($dnetId),'::', dnet:md5($reldoi))"/>
+					</dri:objIdentifier>
+				</xsl:if>
+
+				<dri:recordIdentifier>
+					<xsl:value-of select="$id"/>
+				</dri:recordIdentifier>
+				<dri:dateOfCollection>
+					<xsl:value-of select="datetime:dateTime()"/>
+				</dri:dateOfCollection>
+				<dri:repositoryId>
+					<xsl:value-of select="$dataprovider_id"/>
+				</dri:repositoryId>
+				<dri:datasourceprefix>
+					<xsl:value-of select="$namespacePrefix"/>
+				</dri:datasourceprefix>
+			</oai:header>
+			<metadata>
+				<dli:dliObject>
+					<dnetResourceIdentifier>
+						<xsl:value-of select="concat($parentDatasourceId,'::', dnet:md5($dnetId),'::', dnet:md5($reldoi))"/>
+					</dnetResourceIdentifier>
+					<localIdentifier>
+						<xsl:attribute name="type">
+							<xsl:value-of select="$doitype"/>
+						</xsl:attribute>
+						<xsl:value-of select="$id"/>
+					</localIdentifier>
+					<objectType>dataset</objectType>
+					<date>
+						<xsl:value-of select="$date"></xsl:value-of>
+					</date>
+					<provenance>
+						<datasource completionStatus="incomplete" provisionMode="collected">
+							<xsl:value-of select="$parentDatasourceId"/>
+						</datasource>
+					</provenance>
+					<completionStatus>incomplete</completionStatus>
+					<relations>
+						<relation>
+							<pid type="doi">
+								<xsl:value-of select="$reldoi"/>
+							</pid>
+							<typeOfRelation>unknown</typeOfRelation>
+						</relation>
+					</relations>
+				</dli:dliObject>
+			</metadata>
+		</oai:record>
+	</xsl:template>
 </xsl:stylesheet>
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/applicationContext-repohi.xml
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/applicationContext-repohi.xml	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/applicationContext-repohi.xml	(revision 40969)
@@ -5,6 +5,9 @@
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 
 
+    <bean id="publisherResolverFactory" class="eu.dnetlib.msro.workflows.dli.publisher.PublisherResolverFactory" />
+
+
     <bean id="metaWfDLIAggregatorDatasetContent" class="eu.dnetlib.msro.workflows.metawf.DatasourceMetaWorkflow"
           p:destroyWorkflowTemplate="classpath:/eu/dnetlib/msro/dli_openaire/workflows/repo-hi/aggregatorDataRepository/repoBye.wf.st"
           scope="prototype">
Index: modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/DOIResolver.sql
===================================================================
--- modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/DOIResolver.sql	(revision 40968)
+++ modules/dnet-openaire_dli-workflows/trunk/src/main/resources/eu/dnetlib/templates/DOIResolver.sql	(revision 40969)
@@ -10,8 +10,9 @@
 );
 
 CREATE TABLE IF NOT EXISTS pid_tmp (
-  pid   VARCHAR(1000),
-  ds_id VARCHAR(250)
+  pid          VARCHAR(1000),
+  ds_id        VARCHAR(250),
+  publisher_id VARCHAR(250)
 );
 
 CREATE TABLE IF NOT EXISTS dli_object_tmp (
@@ -31,6 +32,7 @@
   name       VARCHAR(250) NOT NULL,
   web        VARCHAR(250),
   exportable BOOLEAN DEFAULT TRUE,
+  typology   VARCHAR(250),
   icon_uri   VARCHAR(250),
   latitude   DOUBLE PRECISION,
   longitude  DOUBLE PRECISION
@@ -50,6 +52,8 @@
   relationship_completion_status VARCHAR(50)
 );
 
+create index on dli_relation(target_pid);
+
 CREATE TABLE IF NOT EXISTS dli_relation_tmp (
   id_relation                    TEXT,
   source_record                  VARCHAR(1000),
@@ -70,6 +74,7 @@
   completion_status VARCHAR(50)  NOT NULL,
   contribution      TEXT         NOT NULL,
   collection_date   DATE DEFAULT CURRENT_DATE,
+  publisher         VARCHAR(250),
   PRIMARY KEY (ds_id, dli_id)
 );
 
@@ -87,7 +92,8 @@
   dli_id            VARCHAR(250),
   provision_mode    VARCHAR(50),
   contribution      TEXT,
-  completion_status VARCHAR(50)
+  completion_status VARCHAR(50),
+  publisher         VARCHAR(250)
 );
 
 CREATE TABLE IF NOT EXISTS relation_provenance_tmp (
@@ -98,6 +104,8 @@
 );
 
 
+
+
 CREATE MATERIALIZED VIEW new_dli_records AS
   SELECT
     dli_identifier                AS dli_id,
@@ -138,6 +146,7 @@
 CREATE MATERIALIZED VIEW new_record_provenance AS
   SELECT
     min(ds_id)             AS ds_id,
+    max(publisher)         AS publisher,
     dli_id                 AS dli_id,
     min(provision_mode)    AS provision_mode,
     min(completion_status) AS completion_status,
@@ -225,64 +234,103 @@
   WHERE n.relationship_completion_status = 'complete' AND r.relationship_completion_status = 'incomplete';
 
 
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('rcsb', 'RCSB', 'http://www.rcsb.org/pdb/home/home.do', TRUE,
-   'http://mgl.scripps.edu/people/goodsell/illustration/pdb/PDB-logo-small.jpg', 40.523677, -74.469108);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('ccdc', 'Cambridge Crystallographic Data Centre', 'http://www.ccdc.cam.ac.uk/pages/Home.aspx', TRUE,
-   'http://iycr2014.org/__data/assets/image/0019/82180/CCDC_logo.JPG', 52.19763, 0.1267);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('png', 'PANGAEA', 'http://pangaea.de', TRUE, 'http://pangaea.de/PICS/pangaea_logo_150x107.png', 53.16781, 8.64938);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('3tu', '3TU Datacentrum', 'http://datacentrum.3tu.nl/en/home', TRUE,
-   'https://pbs.twimg.com/profile_images/507441262274674688/m8GuM3M7_400x400.png', 52.0027092, 4.3731207);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('ieda', 'IEDA', 'http://www.iedadata.org', TRUE,
-   'http://www.iedadata.org/sites/www.iedadata.org/files/arthemia_logo.jpg', 41.0032789, -73.9110483);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('system', 'System Deduction', 'http://dliservice.research-infrastructures.eu/', TRUE,
-   'http://dliservice.research-infrastructures.eu/images/dli_logo_big.png', 43.7185687, 10.4202594);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('trs', 'Thomson Reuters', 'http://thomsonreuters.com', TRUE,
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010327', 'RCSB', 'http://www.rcsb.org/pdb/home/home.do', TRUE,
+   'http://mgl.scripps.edu/people/goodsell/illustration/pdb/PDB-logo-small.jpg', 40.523677, -74.469108,
+   'dataPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010197', 'Cambridge Crystallographic Data Centre', 'http://www.ccdc.cam.ac.uk/pages/Home.aspx', TRUE,
+   'http://iycr2014.org/__data/assets/image/0019/82180/CCDC_logo.JPG', 52.19763, 0.1267, 'dataPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010134', 'PANGAEA', 'http://pangaea.de', TRUE, 'http://pangaea.de/PICS/pangaea_logo_150x107.png',
+   53.16781, 8.64938,
+   'dataPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010216', '3TU Datacentrum', 'http://datacentrum.3tu.nl/en/home', TRUE,
+   'https://pbs.twimg.com/profile_images/507441262274674688/m8GuM3M7_400x400.png', 52.0027092, 4.3731207,
+   'dataPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010578', 'IEDA', 'http://www.iedadata.org', TRUE,
+   'http://www.iedadata.org/sites/www.iedadata.org/files/arthemia_logo.jpg', 41.0032789, -73.9110483, 'dataPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::system', 'System Deduction', 'http://dliservice.research-infrastructures.eu/', TRUE,
+   'http://dliservice.research-infrastructures.eu/images/dli_logo_big.png', 43.7185687, 10.4202594, 'resolver');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::thomsonreuters', 'Thomson Reuters', 'http://thomsonreuters.com', TRUE,
    'http://agency.reuters.com/content/dam/openweb/images/brand-assets/tr-logos/tr_ahz_rgb_pos.png/_jcr_content/renditions/original',
-   40.7564945, -73.9891776);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('ieee', 'IEEE', 'https://www.ieee.org/index.html', TRUE,
-   'https://www.ieee.org/ucm/groups/public/@ieee/@web/@org/@globals/documents/images/ieee_logo_mb_tagline.gif',
-   40.6954239, -74.039781);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('crs', 'CrossRef', 'http://www.crossref.org/', TRUE, 'http://www.crossref.org/imagesHeader/cr_logotype.gif',
-   51.749677, -1.270762);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('icpsr', 'ICPSR', 'https://www.icpsr.umich.edu', TRUE,
-   'http://www.icpsr.umich.edu/icpsrweb/AHRQMCC/images/icpsr-logo.png', 37.71859, -95.712891);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('chrs', 'Chorus', 'http://www.chorusaccess.org', FALSE,
-   'http://02c494f.netsolhost.com/_attachments/images/chorus%20logo1-web.jpg', 40.607428, -74.1536757);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('dctr', 'DataCite Resolver', 'http://datacite.org', TRUE,
-   'http://datacite.org/sites/default/files/DataCite_header_final1_1.png', 52.38142, 9.72007);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('dct', 'Datasets in DataCite', 'http://datacite.org', TRUE,
-   'http://datacite.org/sites/default/files/DataCite_header_final1_1.png', 52.38142, 9.72007);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('els', 'Elsevier', 'http://www.eu.elsevierhealth.com', TRUE,
-   'http://secure-ecsd.elsevier.com/covers/app/ELSHSBS/ukne/img/new_logo.png', 40.7420392, -73.9874114);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('npg', 'Springer Nature', 'http://www.nature.com/', TRUE,
-   'http://www.nature.com/npg_/images/section-images/company-info-big.jpg', 51.53434, -0.12139);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('ands', 'Australian National Data Service', 'http://www.ands.org.au/', TRUE,
-   'http://www.ands.org.au/assets/images/ands-full-b.png', -35.2854146, 149.1155786);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('opnres', 'OpenAIRE Resolver', 'https://www.openaire.eu/', TRUE,
-   'https://www.openaire.eu/images/site_images/OpenAIREplus_logo.png', 50.84348, 4.38256);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('opn', 'OpenAIRE', 'https://www.openaire.eu/', TRUE,
-   'https://www.openaire.eu/images/site_images/OpenAIREplus_logo.png', 50.84348, 4.38256);
-INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude) VALUES
-  ('pbmed', 'PubMed', 'http://www.ncbi.nlm.nih.gov/pubmed', TRUE,
+   40.7564945, -73.9891776, 'publicationPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::ieee', 'IEEE', 'https://www.ieee.org/ INDEX.html', TRUE,
+   'https://www.ieee.org/ucm/groups/ PUBLIC /@ieee/@web/@org/@globals/documents/images/ieee_logo_mb_tagline.gif',
+   40.6954239, -74.039781, 'publicationPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::crossref', 'CrossRef', 'http://www.crossref.org/', TRUE,
+   'http://www.crossref.org/imagesHeader/cr_logotype.gif',
+   51.749677, -1.270762, 'publicationCatalogue');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010255', 'ICPSR', 'https://www.icpsr.umich.edu', TRUE,
+   'http://www.icpsr.umich.edu/icpsrweb/AHRQMCC/images/icpsr-logo.png', 37.71859, -95.712891, 'dataPublisher');
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::chorus', 'Chorus', 'http://www.chorusaccess.org', FALSE,
+   'http://02c494f.netsolhost.com/_attachments/images/chorus%20logo1-web.jpg', 40.607428, -74.1536757,
+   'publicationIntersection');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::dataciteResolver', 'DataCite Resolver', 'http://datacite.org', TRUE,
+   'http://datacite.org/sites/ DEFAULT /files/DataCite_header_final1_1.png', 52.38142, 9.72007, 'resolver');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::datacite', 'Datasets IN DataCite', 'http://datacite.org', TRUE,
+   'http://datacite.org/sites/ DEFAULT /files/DataCite_header_final1_1.png', 52.38142, 9.72007, 'dataCatalogue');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::elsevier', 'Elsevier', 'http://www.eu.elsevierhealth.com', TRUE,
+   'http://secure-ecsd.elsevier.com/covers/app/ELSHSBS/ukne/img/new_logo.png', 40.7420392, -73.9874114,
+   'publicationPublisher');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::nature', 'Springer Nature', 'http://www.nature.com/', TRUE,
+   'http://www.nature.com/npg_/images/section-images/company- INFO -big.jpg', 51.53434, -0.12139,
+   'publicationPublisher');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::r3d100010464', 'Australian NATIONAL DATA Service', 'http://www.ands.org.au/', TRUE,
+   'http://www.ands.org.au/assets/images/ands- FULL -b.png', -35.2854146, 149.1155786, 'dataCatalogue');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::openaireResolver', 'OpenAIRE Resolver', 'https://www.openaire.eu/', TRUE,
+   'https://www.openaire.eu/images/site_images/OpenAIREplus_logo.png', 50.84348, 4.38256, 'resolver');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::openaire', 'OpenAIRE', 'https://www.openaire.eu/', TRUE,
+   'https://www.openaire.eu/images/site_images/OpenAIREplus_logo.png', 50.84348, 4.38256, 'publicationCatalogue');
+
+
+INSERT INTO dli_datasource (ds_id, name, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::pbmedResolver', 'PubMed Resolver', 'http://www.ncbi.nlm.nih.gov/pubmed', TRUE,
    'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/US-NLM-PubMed-Logo.svg/720px-US-NLM-PubMed-Logo.svg.png',
-   53.480759, -2.242631);
+   53.480759, -2.242631, 'resolver');
 
+INSERT INTO dli_datasource (ds_id, NAME, web, exportable, icon_uri, latitude, longitude, typology) VALUES
+  ('dli::pubmed', 'PubMed', 'http://www.ncbi.nlm.nih.gov/pubmed', TRUE,
+   'https://upload.wikimedia.org/wikipedia/commons/thumb/f/fb/US-NLM-PubMed-Logo.svg/720px-US-NLM-PubMed-Logo.svg.png',
+   53.480759, -2.242631, 'publicationPublisher');
 
+
