diff --git a/src/main/resources/xsl/biocol2oai_dc.xsl b/src/main/resources/xsl/biocol2oai_dc.xsl
index f4183bf1c0aea050cc65ec8778ef6016f8d7f590..fd6aeb4c20db7e087090ce8ed0d45637817e584b 100644
--- a/src/main/resources/xsl/biocol2oai_dc.xsl
+++ b/src/main/resources/xsl/biocol2oai_dc.xsl
@@ -26,7 +26,7 @@
     <oai_dc:dc>
       
       <!-- dc:title - title -->
-      <xsl:element name="dc:title">
+      <dc:title>
         <xsl:choose>
           <xsl:when test="./metadata/def.biocol09/biocol09"> 
             <xsl:value-of select="./metadata/def.biocol09/biocol09/text()" />
@@ -35,87 +35,108 @@
             <xsl:value-of select="concat(./metadata/def.biocol30/biocol30/text(), ' | ', ./metadata/def.biocol31/biocol31/text())" />
           </xsl:otherwise>   
         </xsl:choose>  
-      </xsl:element>
+      </dc:title>
       
-      <!-- dc:creator - author of record -->
-      <xsl:element name="dc:creator">
-        <xsl:for-each select="./metadata/def.biocol06/biocol06">
-          <xsl:if test="position() != 1">
-            <xsl:value-of select="' ; '"/>
-          </xsl:if>
-          <xsl:value-of select="."/>
-        </xsl:for-each>
-      </xsl:element>
-      
-      <!-- dc:publisher - collection -->
-      <xsl:element name="dc:publisher">
-        <xsl:value-of select="concat(./metadata/def.biocol02/biocol02/text(), ' ; ', 'Universität Leipzig')"/>
-      </xsl:element>
- 
+      <!-- dc:type - objectType -->
+      <xsl:for-each select="./metadata/def.biocol07/biocol07">
+        <dc:type>
+          <xsl:variable name="subjectlinkURL">
+            <xsl:call-template name="linkClassQueryURL">
+              <xsl:with-param name="classid" select="@classid"/>
+              <xsl:with-param name="categid" select="@categid"/>
+            </xsl:call-template>
+          </xsl:variable>
+          <xsl:for-each select="document($subjectlinkURL)/mycoreclass/categories/category/label[lang($DefaultLang)]">
+                <xsl:value-of select="@text"/>
+          </xsl:for-each>      
+        </dc:type>
+      </xsl:for-each>
+
       <!-- dc:format - format -->
       <xsl:choose>
         <xsl:when test="./metadata/def.biocol07/biocol07[@categid='objecttype_otolith']">
-          <xsl:element name="dc:format">biogenes Kalkkonkrement</xsl:element>
+          <dc:format>biogenes Kalkkonkrement</dc:format>
         </xsl:when>
         <xsl:when test="./metadata/def.biocol07/biocol07[@categid='objecttype_herbar']">
-          <xsl:element name="dc:format">Plantea</xsl:element>
+          <dc:format>Plantea</dc:format>
         </xsl:when>      
         <xsl:otherwise>
-          <xsl:element name="dc:format">unknown</xsl:element>
+          <dc:format>unknown</dc:format>
         </xsl:otherwise>
-      </xsl:choose>
-                
-      <!-- dc:type - objectType -->
-      <xsl:element name="dc:type">
-        <xsl:value-of select="./metadata/def.biocol07/biocol07"/>
-      </xsl:element>
+      </xsl:choose>      
       
-     
+      <!-- dc:coverage - places -->
+      <xsl:if test="./metadata/def.biocol61/biocol61 or ./metadata/def.biocol62/biocol62 or ./metadata/def.biocol63/biocol63">
+        <dc:coverage>
+          <xsl:value-of select="concat(./metadata/def.biocol61/biocol61, ' | ', ./metadata/def.biocol62/biocol62, ' | ', 
+                                       ./metadata/def.biocol63/biocol63)" />
+        </dc:coverage>
+      </xsl:if>              
+
       <!-- dc:subject - genre and type -->
       <xsl:if test="./metadata/def.biocol20/biocol20 or ./metadata/def.biocol21/biocol21 or ./metadata/def.biocol22/biocol22
                  or ./metadata/def.biocol23/biocol23 or ./metadata/def.biocol24/biocol24 or ./metadata/def.biocol25/biocol25
                  or ./metadata/def.biocol26/biocol26 or ./metadata/def.biocol27/biocol27 or ./metadata/def.biocol28/biocol28
                  or ./metadata/def.biocol29/biocol29">
-        <xsl:element name="dc:subject">
+        <dc:subject>
           <xsl:value-of select="concat(./metadata/def.biocol20/biocol20, ' | ', ./metadata/def.biocol21/biocol21, ' | ', ./metadata/def.biocol22/biocol22,
                  ' | ', ./metadata/def.biocol23/biocol23, ' | ', ./metadata/def.biocol24/biocol24, ' | ', ./metadata/def.biocol25/biocol25,
                  ' | ', ./metadata/def.biocol26/biocol26, ' | ', ./metadata/def.biocol27/biocol27, ' | ', ./metadata/def.biocol28/biocol28,
                  ' | ', ./metadata/def.biocol29/biocol29)" />
-        </xsl:element>
-      </xsl:if>      
-            
+        </dc:subject>
+      </xsl:if>
+
       <!-- dc:language - language -->
-      <xsl:element name="dc:language">Deutsch</xsl:element>
+      <dc:language>ger</dc:language>       
+               
+      <!-- dc:creator - author of record -->
+      <dc:creator>
+        <xsl:for-each select="./metadata/def.biocol06/biocol06">
+          <xsl:if test="position() != 1">
+            <xsl:value-of select="' ; '"/>
+          </xsl:if>
+          <xsl:value-of select="."/>
+        </xsl:for-each>
+      </dc:creator>
       
-      <!-- dc:coverage - places -->
-      <xsl:if test="./metadata/def.biocol61/biocol61 or ./metadata/def.biocol62/biocol62 or ./metadata/def.biocol63/biocol63">
-        <xsl:element name="dc:coverage">
-          <xsl:value-of select="concat(./metadata/def.biocol61/biocol61, ' | ', ./metadata/def.biocol62/biocol62, ' | ', 
-                                       ./metadata/def.biocol63/biocol63)" />
-        </xsl:element>
-      </xsl:if>      
+      <!-- dc:publisher - collection -->
+      <xsl:for-each select="./metadata/def.biocol02/biocol02">
+        <xsl:variable name="subjectlinkURL">
+          <xsl:call-template name="linkClassQueryURL">
+            <xsl:with-param name="classid" select="@classid"/>
+            <xsl:with-param name="categid" select="@categid"/>
+          </xsl:call-template>
+        </xsl:variable>
+        <xsl:for-each select="document($subjectlinkURL)/mycoreclass/categories/category/label[lang($DefaultLang)]">
+          <dc:publisher>
+            <xsl:value-of select="concat(@text, ' ; ', 'Universität Leipzig')"/>
+          </dc:publisher>
+        </xsl:for-each>
+      </xsl:for-each>     
+      
+       
             
       <!-- dc:identifier - inventory number, alternate ID and @ID -->
-      <xsl:element name="dc:identifier">
+      <dc:identifier>
         <xsl:value-of select="./metadata/def.biocol01/biocol01"/>
         <xsl:value-of select="' ; '"/>
         <xsl:value-of select="concat($WebApplicationBaseURL,'receive/',@ID)"/>
-      </xsl:element>
+      </dc:identifier>
             
       <!-- dc:date - createdate -->
-      <xsl:element name="dc:date">
+      <dc:date>
         <xsl:value-of select="substring-before(./service/servdates/servdate[@type='createdate'], 'T')"/>
-      </xsl:element>
+      </dc:date>
       
       <!-- dc:contributor -->
-      <xsl:element name="dc:contributor">
+      <dc:contributor>
         <xsl:text>Jens Kupferschmidt; Universitätsrechenzentrum Leipzig; Deutschland</xsl:text>
-      </xsl:element>
+      </dc:contributor>
       
       <!-- dc:rights - license -->
-      <xsl:element name="dc:rights">
+      <dc:rights>
         <xsl:value-of select="i18n:translate('module.dptbase.license.shorttext')"/>
-      </xsl:element> 
+      </dc:rights> 
       
     </oai_dc:dc>
   </xsl:template>