IIIF and Universal Viewer METADATA customization
- Product: Rosetta
- Product Version: 5.5
Question
How to configure the Metadata shown in the IIIF Viewer?
Answer
Modify the mets2manifest.xsl available in Deposits: Delivery XSL Files
The xsl mets2manifest has a section called IE_METADATA. The viewer takes all the md defined here and presents it in viewer.
For example below we added the dc:type section:
<xsl:template name="IE_METADATA">
<xsl:for-each select="/mets:mets/mets:dmdSec[@ID=$IE_DMD_ID]/mets:mdWrap/mets:xmlData/dc:record/dc:creator |
/mets:mets/mets:dmdSec[@ID=$IE_DMD_ID]/mets:mdWrap/mets:xmlData/dc:record/dcterms:creator ">
{<xsl:value-of select="$LABEL" />Author", <xsl:value-of select="$VALUE" />
<xsl:value-of select="." />"}
<xsl:if test="position()!=last() or count(//dc:type) > 0 or count(//dcterms:type) > 0">, </xsl:if>
</xsl:for-each>
<xsl:for-each select="/mets:mets/mets:dmdSec[@ID=$IE_DMD_ID]/mets:mdWrap/mets:xmlData/dc:record/dc:type |
/mets:mets/mets:dmdSec[@ID=$IE_DMD_ID]/mets:mdWrap/mets:xmlData/dc:record/dcterms:type ">
{<xsl:value-of select="$LABEL" />Type", <xsl:value-of select="$VALUE" />
<xsl:value-of select="." />"}
<xsl:if test="position()!=last() or count(//dc:subject) > 0 or count(//dcterms:subject) > 0">, </xsl:if>
</xsl:for-each>
<xsl:for-each select="/mets:mets/mets:dmdSec[@ID=$IE_DMD_ID]/mets:mdWrap/mets:xmlData/dc:record/dc:subject |
/mets:mets/mets:dmdSec[@ID=$IE_DMD_ID]/mets:mdWrap/mets:xmlData/dc:record/dcterms:subject">
{<xsl:value-of select="$LABEL" />Subject", <xsl:value-of select="$VALUE" />
<xsl:value-of select="." />"}
<xsl:if test="position()!=last()">, </xsl:if>
</xsl:for-each>
]
</xsl:template>
- Article last edited: 20-Nov-2018