diff --git a/src/main/java/com/smartharvester/controller/SmartHarvesterTransformerController.java b/src/main/java/com/smartharvester/controller/SmartHarvesterTransformerController.java
new file mode 100644
index 0000000000000000000000000000000000000000..8709a892b93a2147a36264ed472edc589e888c6e
--- /dev/null
+++ b/src/main/java/com/smartharvester/controller/SmartHarvesterTransformerController.java
@@ -0,0 +1,33 @@
+package com.smartharvester.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.smartharvester.service.MappingFromIsoService;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+
+@CrossOrigin(origins = "*")
+@RequestMapping("/harvester/api/transform")
+@Tag(name = "Harvest",description = "transform xml iso 19115 to RDF")
+@RestController
+public class SmartHarvesterTransformerController {
+	
+	@Autowired
+	private MappingFromIsoService mappingService;
+	
+	@GetMapping
+	public ResponseEntity<String> transformXmlToRdf(@RequestParam  (value="url") String url, @RequestParam  (value="catalogId") String catalogId) {
+		try {
+			return ResponseEntity.ok().body(this.mappingService.mapfromCWStoRDF(url, catalogId));
+		} catch (Exception e) {
+			return ResponseEntity.badRequest().body("ERROR " +  e.getMessage());
+		}
+	}
+
+}
diff --git a/src/main/java/com/smartharvester/service/MappingFromIsoService.java b/src/main/java/com/smartharvester/service/MappingFromIsoService.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd732d37788cedb0658cd180109cd0ad0c43788a
--- /dev/null
+++ b/src/main/java/com/smartharvester/service/MappingFromIsoService.java
@@ -0,0 +1,39 @@
+package com.smartharvester.service;
+
+
+import java.io.StringWriter;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+
+import org.springframework.stereotype.Service;
+
+@Service
+public class MappingFromIsoService {
+
+	public String mapfromCWStoRDF(String url, String catalogId) throws Exception {
+
+		StreamSource xslt = new StreamSource("https://raw.githubusercontent.com/baptiste-Cines/tesXsl/master/test.xsl");
+
+		
+		StreamSource xml = new StreamSource(url);
+		TransformerFactory factory = TransformerFactory.newInstance();
+
+		Transformer transformer = factory.newTransformer(xslt);
+		transformer.setParameter("catalogId", catalogId);
+		transformer.setParameter("outputSchema", "extended");
+		
+		StringWriter writer = new StringWriter();
+		StreamResult result = new StreamResult(writer);
+		
+
+		transformer.transform(xml, result);
+		
+		
+		return writer.toString();
+	}
+	
+	
+
+}