diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java
index b14ac6092eb852c23ff9473e5db15411877ccf83..c056b12afadb3668e7bca26bb821f8cdc89cee77 100644
--- a/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java
+++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBTechnicalMetadataExtractorMediaConchPlugin.java
@@ -186,27 +186,7 @@ public class SLUBTechnicalMetadataExtractorMediaConchPlugin implements MDExtract
     }
 
     private void transform_mediainfo_output(File temp_media_outputfile, File temp_media_transformed_outputfile) throws Exception {
-                /* write xsd */
-        File temp_xsdfile = File.createTempFile("mediainfo_style", ".xsd");
-        InputStream stylestream = getClass().getResourceAsStream(TRANSFORMER_XSL);
-        if (stylestream == null) {
-            throw new Exception("stylestream not found!");
-        }
-        /*
-        OutputStream out = new FileOutputStream(temp_xsdfile);
-        int read = 0;
-        byte[] buffer = new byte[8192];
-        assert(stylestream != null);
-        stylestream.read( buffer );
-        while((read =stylestream.read( buffer)) != -1) {
-            out.write(buffer, 0, read);
-        }
-        out.flush();
-        out.close();
-        */
-
-        Files.copy(stylestream, Path.of(String.valueOf(temp_xsdfile)), StandardCopyOption.REPLACE_EXISTING);
-        stylestream.close();
+        File temp_xsdfile = create_temp_xsd_file();
         /* xslt transform */
         String exec_xsltproc_string = xsltproc_binary_path + " -o " + temp_media_transformed_outputfile + " " + temp_xsdfile + " " + temp_media_outputfile;
         System.out.println("executing: " + exec_xsltproc_string);
@@ -224,6 +204,18 @@ public class SLUBTechnicalMetadataExtractorMediaConchPlugin implements MDExtract
         }
     }
 
+    private File create_temp_xsd_file() throws Exception {
+        /* write xsd */
+        File temp_xsdfile = File.createTempFile("mediainfo_style", ".xsd");
+        InputStream stylestream = getClass().getResourceAsStream(TRANSFORMER_XSL);
+        if (stylestream == null) {
+            throw new Exception("stylestream not found!");
+        }
+        Files.copy(stylestream, Path.of(String.valueOf(temp_xsdfile)), StandardCopyOption.REPLACE_EXISTING);
+        stylestream.close();
+        return temp_xsdfile;
+    }
+
     private void extract_attributes_of_transformed_result(File temp_media_transformed_outputfile) throws Exception {
         checkFileExists(String.valueOf(temp_media_transformed_outputfile));
         XPathFactory xPathfactory = XPathFactory.newInstance();
@@ -361,112 +353,25 @@ public class SLUBTechnicalMetadataExtractorMediaConchPlugin implements MDExtract
     public List<String> getSupportedAttributeNames() {
         //return new ArrayList<String>(attributes.keySet());
         List<String> available = new ArrayList<>();
-        available.add("mediainfo.track.Audio.BitDepth");
-        available.add("mediainfo.track.Audio.BitRate");
-        available.add("mediainfo.track.Audio.BitRate_Mode");
-        available.add("mediainfo.track.Audio.Channels");
-        available.add("mediainfo.track.Audio.CodecID");
-        available.add("mediainfo.track.Audio.Commercial_Name");
-        available.add("mediainfo.track.Audio.Compression_Mode");
-        available.add("mediainfo.track.Audio.Default");
-        available.add("mediainfo.track.Audio.Duration");
-        available.add("mediainfo.track.Audio.encoded_library");
-        available.add("mediainfo.track.Audio.Forced");
-        available.add("mediainfo.track.Audio.Format");
-        available.add("mediainfo.track.Audio.Format_Profile");
-        available.add("mediainfo.track.Audio.Format_Settings_Wrapping");
-        available.add("mediainfo.track.Audio.Format_Settings_Sign");
-        available.add("mediainfo.track.Audio.Format_Version");
-        available.add("mediainfo.track.Audio.FrameRate");
-        available.add("mediainfo.track.Audio.ID");
-        available.add("mediainfo.track.Audio.SamplingRate");
-        available.add("mediainfo.track.Audio.ServiceKind");
-        available.add("mediainfo.track.Audio.StreamSize");
-        available.add("mediainfo.track.Audio.Title");
-        available.add("mediainfo.track.General.AudioCount");
-        available.add("mediainfo.track.General.CodecID");
-        available.add("mediainfo.track.General.CompleteName");
-        available.add("mediainfo.track.General.Description");
-        available.add("mediainfo.track.General.Duration");
-        available.add("mediainfo.track.General.Encoded_Application");
-        available.add("mediainfo.track.General.Encoded_Application_CompanyName");
-        available.add("mediainfo.track.General.Encoded_Application_Name");
-        available.add("mediainfo.track.General.Encoded_Application_Version");
-        available.add("mediainfo.track.General.Encoded_Date");
-        available.add("mediainfo.track.General.Encoded_Library");
-        available.add("mediainfo.track.General.Encoded_Library_Name");
-        available.add("mediainfo.track.General.Encoded_Library_Version");
-        available.add("mediainfo.track.General.extra.ErrorDetectionType");
-        available.add("mediainfo.track.General.extra.IsTruncated");
-        available.add("mediainfo.track.General.extra.bext_Present");
-        available.add("mediainfo.track.General.FileSize");
-        available.add("mediainfo.track.General.Format");
-        available.add("mediainfo.track.General.Format_Profile");
-        available.add("mediainfo.track.General.Format_Settings");
-        available.add("mediainfo.track.General.Format_Version");
-        available.add("mediainfo.track.General.IsStreamable");
-        available.add("mediainfo.track.General.MenuCount");
-        available.add("mediainfo.track.General.OtherCount");
-        available.add("mediainfo.track.General.OverallBitRate");
-        available.add("mediainfo.track.General.OverallBitRateMode");
-        available.add("mediainfo.track.General.PackageName");
-        available.add("mediainfo.track.General.Producer");
-        available.add("mediainfo.track.General.StreamSize");
-        available.add("mediainfo.track.General.TextCount");
-        available.add("mediainfo.track.General.Title");
-        available.add("mediainfo.track.General.UniqueID");
-        available.add("mediainfo.track.General.VideoCount");
-        available.add("mediainfo.track.Image.BitDepth");
-        available.add("mediainfo.track.Image.ColorSpace");
-        available.add("mediainfo.track.Image.colour_primaries");
-        available.add("mediainfo.track.Image.Compression_Mode");
-        available.add("mediainfo.track.Image.DisplayAspectRatio");
-        available.add("mediainfo.track.Image.Encoded_Date");
-        available.add("mediainfo.track.Image.Encoded_Library");
-        available.add("mediainfo.track.Image.Format");
-        available.add("mediainfo.track.Image.Format_Version");
-        available.add("mediainfo.track.Image.FrameRate");
-        available.add("mediainfo.track.Image.Height");
-        available.add("mediainfo.track.Image.StreamSize");
-        available.add("mediainfo.track.Image.transfer_characteristics");
-        available.add("mediainfo.track.Image.Width");
-        available.add("mediainfo.track.Video.BitDepth");
-        available.add("mediainfo.track.Video.BitRate");
-        available.add("mediainfo.track.Video.BitRate_Mode");
-        available.add("mediainfo.track.Video.ChromaSubsampling");
-        available.add("mediainfo.track.Video.CodecID");
-        available.add("mediainfo.track.Video.ColorSpace");
-        available.add("mediainfo.track.Video.BitsPixel_Frame");
-        available.add("mediainfo.track.Video.Compression_Mode");
-        available.add("mediainfo.track.Video.Default");
-        available.add("mediainfo.track.Video.DisplayAspectRatio");
-        available.add("mediainfo.track.Video.Duration");
-        available.add("mediainfo.track.Video.Encoded_Library");
-        available.add("mediainfo.track.Video.extra.coder_type");
-        available.add("mediainfo.track.Video.extra.ErrorDetectionType");
-        available.add("mediainfo.track.Video.extra.MaxSlicesCount");
-        available.add("mediainfo.track.Video.extra.OriginalSourceMedium");
-        available.add("mediainfo.track.Video.Forced");
-        available.add("mediainfo.track.Video.Format");
-        available.add("mediainfo.track.Video.Format_Profile");
-        available.add("mediainfo.track.Video.Format_Settings_GOP");
-        available.add("mediainfo.track.Video.Format_Settings_Wrapping");
-        available.add("mediainfo.track.Video.Format_Version");
-        available.add("mediainfo.track.Video.FrameCount");
-        available.add("mediainfo.track.Video.FrameRate");
-        available.add("mediainfo.track.Video.Height");
-        available.add("mediainfo.track.Video.ID");
-        available.add("mediainfo.track.Video.PixelAspectRatio");
-        available.add("mediainfo.track.Video.PixelAspectRatioOriginal");
-        available.add("mediainfo.track.Video.ScanOrder");
-        available.add("mediainfo.track.Video.ScanType");
-        available.add("mediainfo.track.Video.Standard");
-        available.add("mediainfo.track.Video.StreamSize");
-        available.add("mediainfo.track.Video.TimeCode_FirstFrame");
-        available.add("mediainfo.track.Video.TimeCode_Source");
-        available.add("mediainfo.track.Video.Title");
-        available.add("mediainfo.track.Video.transfer_characteristics");
-        available.add("mediainfo.track.Video.Width");
+         try {
+            XPathFactory xPathfactory = XPathFactory.newInstance();
+            XPath xpath = xPathfactory.newXPath();
+            XPathExpression expr = xpath.compile("//*[local-name()='properties']/*[local-name()='property']");
+            //XPathExpression expr = xpath.compile("//text()");
+            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+            DocumentBuilder db = dbf.newDocumentBuilder();
+            InputStream stylestream = getClass().getResourceAsStream(TRANSFORMER_XSL);
+            Document temp_property_list_xml = db.parse(stylestream);
+            NodeList nl = (NodeList) expr.evaluate(temp_property_list_xml, XPathConstants.NODESET);
+            int len = nl.getLength();
+            for (int i = 0; i < len; i++) {
+                Node node = nl.item(i);
+                String value = node.getTextContent();
+                available.add(value);
+            }
+        } catch (Exception e) {
+            System.out.println("error in getSupportedAttributeNaes, " + e.getMessage());
+        }
         return available;
     }