Edit C:\dspace\webapps\xmlui\themes\dri2xhtml-alt\aspect\artifactbrowser\common.xsl
<!-- The contents of this file are subject to the license and copyright detailed in the LICENSE and NOTICE files at the root of the source tree and available online at http://www.dspace.org/license/ --> <!-- Parts of the artifactbrowser which are not specific to a single listing or page. These will not frequently be adapted in a theme Author: art.lowel at atmire.com Author: lieven.droogmans at atmire.com Author: ben at atmire.com Author: Alexey Maslov --> <xsl:stylesheet xmlns:i18n="http://apache.org/cocoon/i18n/2.1" xmlns:dri="http://di.tamu.edu/DRI/1.0/" xmlns:mets="http://www.loc.gov/METS/" xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" xmlns:xlink="http://www.w3.org/TR/xlink/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:ore="http://www.openarchives.org/ore/terms/" xmlns:oreatom="http://www.openarchives.org/ore/atom/" xmlns="http://www.w3.org/1999/xhtml" xmlns:xalan="http://xml.apache.org/xalan" xmlns:encoder="xalan://java.net.URLEncoder" xmlns:confman="org.dspace.core.ConfigurationManager" exclude-result-prefixes="i18n dri mets dim xlink xsl xalan encoder confman"> <xsl:output indent="yes"/> <!-- These templates are devoted to handling the referenceSet and reference elements. Although they are considered structural elements, neither of the two contains actual content. Instead, references contain references to object metadata under objectMeta, while referenceSets group references together. --> <!-- Starting off easy here, with a summaryList --> <!-- Current issues: 1. There is no check for the repository identifier. Need to fix that by concatenating it with the object identifier and using the resulting string as the key on items and reps. 2. The use of a key index across the object store is cryptic and counterintuitive and most likely could benefit from better documentation. --> <!-- When you come to an referenceSet you have to make a decision. Since it contains objects, and each object is its own entity (and handled in its own template) the decision of the overall structure would logically (and traditionally) lie with this template. However, to accomplish this we would have to look ahead and check what objects are included in the set, which involves resolving the references ahead of time and getting the information from their METS profiles directly. Since this approach creates strong coupling between the set and the objects it contains, and we have tried to avoid that, we use the "pioneer" method. --> <!-- Summarylist case. This template used to apply templates to the "pioneer" object (the first object in the set) and let it figure out what to do. This is no longer the case, as everything has been moved to the list model. A special theme, called TableTheme, has beeen created for the purpose of preserving the pioneer model. --> <xsl:template match="dri:referenceSet[@type = 'summaryList']" priority="2"> <xsl:apply-templates select="dri:head"/> <!-- Here we decide whether we have a hierarchical list or a flat one --> <xsl:choose> <xsl:when test="descendant-or-self::dri:referenceSet/@rend='hierarchy' or ancestor::dri:referenceSet/@rend='hierarchy'"> <ul> <xsl:apply-templates select="*[not(name()='head')]" mode="summaryList"/> </ul> </xsl:when> <xsl:otherwise> <ul class="ds-artifact-list"> <xsl:apply-templates select="*[not(name()='head')]" mode="summaryList"/> </ul> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- First, the detail list case --> <xsl:template match="dri:referenceSet[@type = 'detailList']" priority="2"> <xsl:apply-templates select="dri:head"/> <ul class="ds-referenceSet-list"> <xsl:apply-templates select="*[not(name()='head')]" mode="detailList"/> </ul> </xsl:template> <!-- Next up is the summary view case that at this point applies only to items, since communities and collections do not have two separate views. --> <xsl:template match="dri:referenceSet[@type = 'summaryView']" priority="2"> <xsl:apply-templates select="dri:head"/> <xsl:apply-templates select="*[not(name()='head')]" mode="summaryView"/> </xsl:template> <!-- Finally, we have the detailed view case that is applicable to items, communities and collections. In DRI it constitutes a standard view of collections/communities and a complete metadata listing view of items. --> <xsl:template match="dri:referenceSet[@type = 'detailView']" priority="2"> <xsl:apply-templates select="dri:head"/> <xsl:apply-templates select="*[not(name()='head')]" mode="detailView"/> </xsl:template> <!-- The following options can be appended to the external metadata URL to request specific sections of the METS document: sections: A comma-separated list of METS sections to included. The possible values are: "metsHdr", "dmdSec", "amdSec", "fileSec", "structMap", "structLink", "behaviorSec", and "extraSec". If no list is provided then *ALL* sections are rendered. dmdTypes: A comma-separated list of metadata formats to provide as descriptive metadata. The list of avaialable metadata types is defined in the dspace.cfg, disseminationcrosswalks. If no formats are provided them DIM - DSpace Intermediate Format - is used. amdTypes: A comma-separated list of metadata formats to provide administative metadata. DSpace does not currently support this type of metadata. fileGrpTypes: A comma-separated list of file groups to render. For DSpace a bundle is translated into a METS fileGrp, so possible values are "THUMBNAIL","CONTENT", "METADATA", etc... If no list is provided then all groups are rendered. structTypes: A comma-separated list of structure types to render. For DSpace there is only one structType: LOGICAL. If this is provided then the logical structType will be rendered, otherwise none will. The default operation is to render all structure types. --> <!-- Then we resolve the reference tag to an external mets object --> <xsl:template match="dri:reference" mode="summaryList"> <xsl:variable name="externalMetadataURL"> <xsl:text>cocoon:/</xsl:text> <xsl:value-of select="@url"/> <!-- Since this is a summary only grab the descriptive metadata, and the thumbnails --> <xsl:text>?sections=dmdSec,fileSec&fileGrpTypes=THUMBNAIL</xsl:text> <!-- An example of requesting a specific metadata standard (MODS and QDC crosswalks only work for items)-> <xsl:if test="@type='DSpace Item'"> <xsl:text>&dmdTypes=DC</xsl:text> </xsl:if>--> </xsl:variable> <xsl:comment> External Metadata URL: <xsl:value-of select="$externalMetadataURL"/> </xsl:comment> <li> <xsl:attribute name="class"> <xsl:text>ds-artifact-item </xsl:text> <xsl:choose> <xsl:when test="position() mod 2 = 0">even</xsl:when> <xsl:otherwise>odd</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:apply-templates select="document($externalMetadataURL)" mode="summaryList"/> <xsl:apply-templates /> </li> </xsl:template> <xsl:template match="dri:reference" mode="detailList"> <xsl:variable name="externalMetadataURL"> <xsl:text>cocoon:/</xsl:text> <xsl:value-of select="@url"/> <!-- No options selected, render the full METS document --> </xsl:variable> <xsl:comment> External Metadata URL: <xsl:value-of select="$externalMetadataURL"/> </xsl:comment> <li> <xsl:apply-templates select="document($externalMetadataURL)" mode="detailList"/> <xsl:apply-templates /> </li> </xsl:template> <xsl:template match="dri:reference" mode="summaryView"> <!-- simplified check to verify whether access rights are available in METS --> <xsl:variable name='METSRIGHTS-enabled' select="contains(confman:getProperty('plugin.named.org.dspace.content.crosswalk.DisseminationCrosswalk'), 'METSRIGHTS')" /> <xsl:variable name="externalMetadataURL"> <xsl:text>cocoon:/</xsl:text> <xsl:value-of select="@url"/> <!-- If this is an Item, display the METSRIGHTS section, so we know which files have access restrictions. This requires the METSRightsCrosswalk to be enabled! --> <xsl:if test="@type='DSpace Item' and $METSRIGHTS-enabled"> <xsl:text>?rightsMDTypes=METSRIGHTS</xsl:text> </xsl:if> </xsl:variable> <!-- This comment just displays the full URL in an HTML comment, for easy reference. --> <xsl:comment> External Metadata URL: <xsl:value-of select="$externalMetadataURL"/> </xsl:comment> <xsl:apply-templates select="document($externalMetadataURL)" mode="summaryView"/> <xsl:apply-templates /> </xsl:template> <xsl:template match="dri:reference" mode="detailView"> <xsl:variable name="externalMetadataURL"> <xsl:text>cocoon:/</xsl:text> <xsl:value-of select="@url"/> <!-- No options selected, render the full METS document --> </xsl:variable> <xsl:comment> External Metadata URL: <xsl:value-of select="$externalMetadataURL"/> </xsl:comment> <xsl:apply-templates select="document($externalMetadataURL)" mode="detailView"/> <xsl:apply-templates /> </xsl:template> <!-- The summaryList display type; used to generate simple surrogates for the item involved --> <xsl:template match="mets:METS[mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']]" mode="summaryList"> <xsl:choose> <xsl:when test="@LABEL='DSpace Item'"> <xsl:call-template name="itemSummaryList-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Collection'"> <xsl:call-template name="collectionSummaryList-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Community'"> <xsl:call-template name="communitySummaryList-DIM"/> </xsl:when> <xsl:otherwise> <i18n:text>xmlui.dri2xhtml.METS-1.0.non-conformant</i18n:text> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- The detailList display type; used to generate simple surrogates for the item involved, but with a slightly higher level of information provided. Not commonly used. --> <xsl:template match="mets:METS[mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']]" mode="detailList"> <xsl:choose> <xsl:when test="@LABEL='DSpace Item'"> <xsl:call-template name="itemDetailList-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Collection'"> <xsl:call-template name="collectionDetailList-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Community'"> <xsl:call-template name="communityDetailList-DIM"/> </xsl:when> <xsl:otherwise> <i18n:text>xmlui.dri2xhtml.METS-1.0.non-conformant</i18n:text> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- The summaryView display type; used to generate a near-complete view of the item involved. It is currently not applicable to communities and collections. --> <xsl:template match="mets:METS[mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']]" mode="summaryView"> <xsl:choose> <xsl:when test="@LABEL='DSpace Item'"> <xsl:call-template name="itemSummaryView-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Collection'"> <xsl:call-template name="collectionSummaryView-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Community'"> <xsl:call-template name="communitySummaryView-DIM"/> </xsl:when> <xsl:otherwise> <i18n:text>xmlui.dri2xhtml.METS-1.0.non-conformant</i18n:text> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- The detailView display type; used to generate a complete view of the object involved. It is currently used with the "full item record" view of items as well as the default views of communities and collections. --> <xsl:template match="mets:METS[mets:dmdSec/mets:mdWrap[@OTHERMDTYPE='DIM']]" mode="detailView"> <xsl:choose> <xsl:when test="@LABEL='DSpace Item'"> <xsl:call-template name="itemDetailView-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Collection'"> <xsl:call-template name="collectionDetailView-DIM"/> </xsl:when> <xsl:when test="@LABEL='DSpace Community'"> <xsl:call-template name="communityDetailView-DIM"/> </xsl:when> <xsl:otherwise> <i18n:text>xmlui.dri2xhtml.METS-1.0.non-conformant</i18n:text> </xsl:otherwise> </xsl:choose> </xsl:template> <!-- Generate the logo, if present, from the file section --> <xsl:template match="mets:fileGrp[@USE='LOGO']"> <div class="ds-logo-wrapper"> <img src="{mets:file/mets:FLocat[@LOCTYPE='URL']/@xlink:href}" class="logo"> <xsl:attribute name="alt">xmlui.dri2xhtml.METS-1.0.collection-logo-alt</xsl:attribute> <xsl:attribute name="attr" namespace="http://apache.org/cocoon/i18n/2.1">alt</xsl:attribute> </img> </div> </xsl:template> </xsl:stylesheet>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de