Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    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
    • Was this article helpful?