]> Pierre Choffet | Git repositories - banq_wikidata.git/commitdiff
Fix two bugs in descriptions deduplication
authorPierre Choffet <peuc@wanadoo.fr>
Fri, 27 Mar 2026 17:28:51 +0000 (13:28 -0400)
committerPierre Choffet <peuc@wanadoo.fr>
Fri, 27 Mar 2026 17:28:51 +0000 (13:28 -0400)
fix_label_description_duplicates.xslt

index 47d9bfcc4693b476e796cf9cccca028ec6e673af..ccbc0aa71132b5eb684dc46689cd948735bafeed 100644 (file)
        </xsl:template>
        
        <xsl:template match="/wdef:knowledge/wdef:element/wdef:description">
-               <xsl:variable name="language" select="@interface-lang" />
+               <xsl:variable name="language" select="@wdef:interface-lang" />
                <xsl:variable name="element" select=".." />
                        
                <xsl:variable name="label-description-has-duplicate">
                        <!-- If we have no label and description in the same language, no requirement exist in Wikibase -->
                        <xsl:choose>
-                               <xsl:when test="$element/wdef:label[@interface-lang = $language]">
-                                       <xsl:variable name="label" select="$element/wdef:label[@interface-lang = $language]" />
-                                       <xsl:variable name="same-label" select="key('element-from-label', $label)[wdef:label[@interface-lang = $language]]" />
-                                       <xsl:variable name="same-description" select="key('element-from-description', current())[wdef:description[@interface-lang = $language]]" />
+                               <xsl:when test="$element/wdef:label[@wdef:interface-lang = $language]">
+                                       <xsl:variable name="label" select="$element/wdef:label[@wdef:interface-lang = $language]" />
+                                       <xsl:variable name="same-label" select="key('element-from-label', $label)[wdef:label[@wdef:interface-lang = $language]]" />
+                                       <xsl:variable name="same-description" select="key('element-from-description', current())[wdef:description[@wdef:interface-lang = $language]]" />
                                        
                                        <xsl:choose>
                                                <xsl:when test="count($same-label[@wdef:id = $same-description/@wdef:id]/@wdef:id) &gt; 1">
                                <xsl:copy-of select="current()" />
                        </xsl:when>
                        <xsl:otherwise>
-                               <wdef:label>
-                                       <xsl:attribute name="interface-lang">
+                               <wdef:description>
+                                       <xsl:attribute name="wdef:interface-lang">
                                                <xsl:value-of select="$language" />
                                        </xsl:attribute>
                                        <xsl:value-of select="current()" />
                                        <xsl:text> (ID BAnQ : </xsl:text>
                                        <xsl:value-of select="$element/@marc:controlfield-001" />
                                        <xsl:text>)</xsl:text>
-                               </wdef:label>
+                               </wdef:description>
                        </xsl:otherwise>
                </xsl:choose>
        </xsl:template>