Open smurp opened 11 years ago
The quick answer. The multiple commas indicate how to turn the standard name (i.e. authority list identifier and representation for sorting) into a display format. Years are only added if needed to differentiate 2 people with the same name. Titles such as royal titles are included in the standard name when applicable.
Here is a quick coded example for turning the standard name into a readable form. There is another way if for a sortable list.
<xsl:template name="name_standard_to_readible_with_param">
<xsl:param name="standard_name" />
<!-- <xsl:variable name="standard_name"><xsl:value-of select="@STANDARD" /></xsl:variable> -->
<xsl:variable name="last_bit" select="substring-before($standard_name,',')" />
<xsl:variable name="first" select="substring-after ($standard_name,',')" />
<xsl:variable name="tmp">
<xsl:choose>
<xsl:when test="contains($standard_name, ',,,')">
<xsl:value-of select="substring-before($first,',,,')" />
<xsl:text>, </xsl:text>
<xsl:value-of select="substring-after($first,',,,')" />
<xsl:text> </xsl:text>
<xsl:value-of select="$last_bit" />
</xsl:when>
<xsl:when test="contains($standard_name, ',,')">
<xsl:value-of select="substring-before($first,',,')" />
<xsl:text> </xsl:text>
<xsl:value-of select="$last_bit" />
<xsl:text>, </xsl:text>
<xsl:value-of select="substring-after($first,',,')" />
</xsl:when>
<xsl:when test="contains($standard_name, ',')">
<xsl:value-of select="$first" />
<xsl:text> </xsl:text>
<xsl:value-of select="$last_bit" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$standard_name" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:value-of select="normalize-space($tmp)" />
</xsl:template>
Here are some examples of where the_name has more than one comma:
Based on the above it looks like the format is:
Could someone confirm this? This stuff could be turned into knowledge as appropriate.