Index: cats/ISOcat/trunk/mod-ISOcat-interface-rest/representations/dcs2/openskos.xsl
===================================================================
--- cats/ISOcat/trunk/mod-ISOcat-interface-rest/representations/dcs2/openskos.xsl	(revision 6496)
+++ cats/ISOcat/trunk/mod-ISOcat-interface-rest/representations/dcs2/openskos.xsl	(revision 6497)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- 
-  Copyright 2013 The Language Archive, Max Planck Institute for Psycholinguistics (MPIP)
+  Copyright 2013-2015 The Language Archive, Max Planck Institute for Psycholinguistics (MPIP)
 
   This code is part of ISOcat (www.isocat.org). 
@@ -22,4 +22,5 @@
     <xsl:param name="props"/>
 	<xsl:param name="approve" select="('CLARIN-NL/VL','Athens Core')"/>
+	<xsl:param name="do-uniq-notation" select="false()"/>
 	<xsl:variable name="doc" select="/"/>
     <xsl:template match="text()"/>
@@ -29,5 +30,6 @@
                 <xsl:attribute name="xml:base" select="concat($base,'#')"/>
             </xsl:if>
-        	<openskos:skosCollection rdf:about="tmp:S-{replace(@owner,'\s','')}-{replace(@name,'\s','')}">
+        	<rdf:Description rdf:about="tmp:S-{replace(@owner,'\s','')}-{replace(@name,'\s','')}">
+        	    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Collection"/>
         		<dc:title>
         			<xsl:value-of select="@name"/>
@@ -36,8 +38,9 @@
         			<skos:member rdf:resource="tmp:C-{substring-after(@pid,'DC-')}"/>
         		</xsl:for-each>
-        	</openskos:skosCollection>
+        	</rdf:Description>
             <xsl:for-each select="distinct-values(//dcif:profile)">
             	<xsl:variable name="prof" select="."/>
-                <skos:ConceptScheme rdf:about="tmp:P-{replace(.,'\s','')}">
+                <rdf:Description rdf:about="tmp:P-{replace(.,'\s','')}">
+                    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#ConceptScheme"/>
                     <dc:title>
                         <xsl:value-of select="."/>
@@ -46,5 +49,5 @@
                 		<skos:hasTopConcept rdf:resource="tmp:C-{substring-after(@pid,'DC-')}"/>
                 	</xsl:for-each>
-                </skos:ConceptScheme>
+                </rdf:Description>
             </xsl:for-each>
             <xsl:apply-templates/>
@@ -52,7 +55,10 @@
     </xsl:template>
     <xsl:template match="dcif:dataCategory">
+    	<xsl:variable name="dc" select="."/>
+    	<xsl:variable name="key" select="substring-after(@pid,'DC-')"/>
         <xsl:variable name="name" select="@isocat:name"/>
         <xsl:variable name="concept">
-        	<skos:Concept rdf:about="tmp:C-{substring-after(@pid,'DC-')}">
+        	<rdf:Description rdf:about="tmp:C-{$key}">
+        	    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Collection"/>
         		<!-- link back to the collection -->
         		<xsl:for-each select="ancestor::dcif:dataCategorySelection">
@@ -93,7 +99,17 @@
                 <!-- xsl:for-each to change context, but there will be only one Administration Record -->
                 <xsl:for-each select="dcif:administrationInformationSection/dcif:administrationRecord">
+                	<xsl:variable name="id" select="dcif:identifier"/>
                     <skos:notation>
-                        <xsl:value-of select="dcif:identifier"/>
+                        <xsl:value-of select="$id"/>
+                    	<xsl:if test="$do-uniq-notation">
+                    		<xsl:if test="exists($dc/preceding-sibling::dcif:dataCategory[dcif:administrationInformationSection/dcif:administrationRecord/dcif:identifier=$id])">
+                    			<xsl:text>-</xsl:text>
+                    			<xsl:value-of select="$key"/>
+                    		</xsl:if>
+                    	</xsl:if>
                     </skos:notation>
+                	<skos:altLabel>
+                		<xsl:value-of select="$id"/>
+                	</skos:altLabel>
                 </xsl:for-each>
 
@@ -111,7 +127,7 @@
                     <xsl:for-each-group select="dcif:dataElementNameSection" group-by="dcif:dataElementName">
                         <xsl:if test="normalize-space(current-grouping-key())!=''">
-                            <skos:notation>
+                        	<skos:altLabel>
                                 <xsl:value-of select="normalize-space(current-grouping-key())"/>
-                            </skos:notation>
+                            </skos:altLabel>
                         </xsl:if>
                     </xsl:for-each-group>
@@ -129,12 +145,17 @@
                     -->
 
-                    <xsl:for-each select="dcif:languageSection[dcif:language='en']">
+                	<skos:prefLabel xml:lang="en">
+                		<xsl:choose>
+                			<xsl:when test="normalize-space($name)=''">
+                				<xsl:value-of select="normalize-space(ancestor::dcif:dataCategory/dcif:administrationInformationSection/dcif:administrationRecord/dcif:identifier)"/>
+                			</xsl:when>
+                			<xsl:otherwise>
+                				<xsl:value-of select="normalize-space($name)"/>
+                			</xsl:otherwise>
+                		</xsl:choose>
+                	</skos:prefLabel>
+
+                	<xsl:for-each select="dcif:languageSection[dcif:language='en']">
                         <xsl:variable name="lang" select="dcif:language"/>
-
-                        <xsl:if test="$lang='en'">
-                            <skos:prefLabel xml:lang="{$lang}">
-                                <xsl:value-of select="normalize-space($name)"/>
-                            </skos:prefLabel>
-                        </xsl:if>
 
                         <xsl:for-each-group select="dcif:nameSection[not($lang='en' and dcif:name=$name)]" group-by="dcif:nameStatus">
@@ -228,5 +249,5 @@
                 -->
 
-            </skos:Concept>
+            </rdf:Description>
         </xsl:variable>
         <xsl:apply-templates select="$concept" mode="cleanup"/>
@@ -265,3 +286,12 @@
         </xsl:if>
     </xsl:template>
+	<xsl:template match="skos:Concept[normalize-space(skos:prefLabel)='']" mode="cleanup">
+		<xsl:copy>
+			<xsl:apply-templates select="@*" mode="#current"/>
+			<skos:prefLabel xml:lang="en">
+				<xsl:value-of select="skos:notation"/>
+			</skos:prefLabel>
+			<xsl:apply-templates select="node() except skos:prefLabel" mode="#current"/>
+		</xsl:copy>
+	</xsl:template>
 </xsl:stylesheet>
