Instantly share code, notes, and snippets.
Created
September 6, 2018 09:46
-
Star
1
(1)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
Save eulereadgbe/02ae98825362b4f5b56db122ae9ca392 to your computer and use it in GitHub Desktop.
Additional sidebar menu
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
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/ | |
--> | |
<!-- | |
Rendering specific to the navigation (options) | |
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:xlink="http://www.w3.org/TR/xlink/" | |
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" | |
xmlns:dim="http://www.dspace.org/xmlns/dspace/dim" | |
xmlns:xhtml="http://www.w3.org/1999/xhtml" | |
xmlns:mods="http://www.loc.gov/mods/v3" | |
xmlns:dc="http://purl.org/dc/elements/1.1/" | |
xmlns="http://www.w3.org/1999/xhtml" | |
exclude-result-prefixes="i18n dri mets xlink xsl dim xhtml mods dc"> | |
<xsl:output indent="yes"/> | |
<!-- | |
The template to handle dri:options. Since it contains only dri:list tags (which carry the actual | |
information), the only things than need to be done is creating the ds-options div and applying | |
the templates inside it. | |
In fact, the only bit of real work this template does is add the search box, which has to be | |
handled specially in that it is not actually included in the options div, and is instead built | |
from metadata available under pageMeta. | |
--> | |
<!-- TODO: figure out why i18n tags break the go button --> | |
<xsl:template match="dri:options"> | |
<div id="ds-options" class="word-break hidden-print"> | |
<xsl:if test="not(contains(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='request'][@qualifier='URI'], 'discover'))"> | |
<div id="ds-search-option" class="ds-option-set"> | |
<!-- The form, complete with a text box and a button, all built from attributes referenced | |
from under pageMeta. --> | |
<form id="ds-search-form" class="" method="post"> | |
<xsl:attribute name="action"> | |
<xsl:value-of select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath']"/> | |
<xsl:value-of | |
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"/> | |
</xsl:attribute> | |
<fieldset> | |
<div class="input-group"> | |
<input class="ds-text-field form-control" type="text" placeholder="xmlui.general.search" | |
i18n:attr="placeholder"> | |
<xsl:attribute name="name"> | |
<xsl:value-of | |
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='queryField']"/> | |
</xsl:attribute> | |
</input> | |
<span class="input-group-btn"> | |
<button class="ds-button-field btn btn-primary" title="xmlui.general.go" i18n:attr="title"> | |
<span class="glyphicon glyphicon-search" aria-hidden="true"/> | |
<xsl:attribute name="onclick"> | |
<xsl:text> | |
var radio = document.getElementById("ds-search-form-scope-container"); | |
if (radio != undefined && radio.checked) | |
{ | |
var form = document.getElementById("ds-search-form"); | |
form.action= | |
</xsl:text> | |
<xsl:text>"</xsl:text> | |
<xsl:value-of | |
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='contextPath']"/> | |
<xsl:text>/handle/" + radio.value + "</xsl:text> | |
<xsl:value-of | |
select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='search'][@qualifier='simpleURL']"/> | |
<xsl:text>" ; </xsl:text> | |
<xsl:text> | |
} | |
</xsl:text> | |
</xsl:attribute> | |
</button> | |
</span> | |
</div> | |
<xsl:if test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='focus'][@qualifier='container']"> | |
<div class="radio"> | |
<label> | |
<input id="ds-search-form-scope-all" type="radio" name="scope" value="" | |
checked="checked"/> | |
<i18n:text>xmlui.dri2xhtml.structural.search</i18n:text> | |
</label> | |
</div> | |
<div class="radio"> | |
<label> | |
<input id="ds-search-form-scope-container" type="radio" name="scope"> | |
<xsl:attribute name="value"> | |
<xsl:value-of | |
select="substring-after(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='focus'][@qualifier='container'],':')"/> | |
</xsl:attribute> | |
</input> | |
<xsl:choose> | |
<xsl:when | |
test="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='focus'][@qualifier='containerType']/text() = 'type:community'"> | |
<i18n:text>xmlui.dri2xhtml.structural.search-in-community</i18n:text> | |
</xsl:when> | |
<xsl:otherwise> | |
<i18n:text>xmlui.dri2xhtml.structural.search-in-collection</i18n:text> | |
</xsl:otherwise> | |
</xsl:choose> | |
</label> | |
</div> | |
</xsl:if> | |
</fieldset> | |
</form> | |
</div> | |
</xsl:if> | |
<xsl:apply-templates/> | |
<xsl:call-template name="addRelatedLinks"/> | |
<!-- DS-984 Add RSS Links to Options Box --> | |
<xsl:if test="count(/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='feed']) != 0"> | |
<div> | |
<h2 class="ds-option-set-head h6"> | |
<i18n:text>xmlui.feed.header</i18n:text> | |
</h2> | |
<div id="ds-feed-option" class="ds-option-set list-group"> | |
<xsl:call-template name="addRSSLinks"/> | |
</div> | |
</div> | |
</xsl:if> | |
</div> | |
</xsl:template> | |
<!-- Add each RSS feed from meta to a list --> | |
<xsl:template name="addRSSLinks"> | |
<xsl:for-each select="/dri:document/dri:meta/dri:pageMeta/dri:metadata[@element='feed']"> | |
<a class="list-group-item"> | |
<xsl:attribute name="href"> | |
<xsl:value-of select="."/> | |
</xsl:attribute> | |
<img src="{concat($context-path, '/static/icons/feed.png')}" class="btn-xs" alt="xmlui.mirage2.navigation.rss.feed" i18n:attr="alt"/> | |
<xsl:choose> | |
<xsl:when test="contains(., 'rss_1.0')"> | |
<xsl:text>RSS 1.0</xsl:text> | |
</xsl:when> | |
<xsl:when test="contains(., 'rss_2.0')"> | |
<xsl:text>RSS 2.0</xsl:text> | |
</xsl:when> | |
<xsl:when test="contains(., 'atom_1.0')"> | |
<xsl:text>Atom</xsl:text> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:value-of select="@qualifier"/> | |
</xsl:otherwise> | |
</xsl:choose> | |
</a> | |
</xsl:for-each> | |
</xsl:template> | |
<xsl:template match="dri:options//dri:list"> | |
<xsl:apply-templates select="dri:head"/> | |
<xsl:apply-templates select="dri:item"/> | |
<xsl:apply-templates select="dri:list"/> | |
</xsl:template> | |
<xsl:template match="dri:options/dri:list" priority="3"> | |
<xsl:apply-templates select="dri:head"/> | |
<div> | |
<xsl:call-template name="standardAttributes"> | |
<xsl:with-param name="class">list-group</xsl:with-param> | |
</xsl:call-template> | |
<xsl:apply-templates select="dri:item"/> | |
<xsl:apply-templates select="dri:list"/> | |
</div> | |
</xsl:template> | |
<xsl:template match="dri:options//dri:item"> | |
<div> | |
<xsl:call-template name="standardAttributes"> | |
<xsl:with-param name="class">list-group-item ds-option</xsl:with-param> | |
</xsl:call-template> | |
<xsl:apply-templates /> | |
</div> | |
</xsl:template> | |
<xsl:template match="dri:options//dri:item[dri:xref]"> | |
<a href="{dri:xref/@target}"> | |
<xsl:call-template name="standardAttributes"> | |
<xsl:with-param name="class">list-group-item ds-option</xsl:with-param> | |
</xsl:call-template> | |
<xsl:choose> | |
<xsl:when test="dri:xref/node()"> | |
<xsl:apply-templates select="dri:xref/node()"/> | |
</xsl:when> | |
<xsl:otherwise> | |
<xsl:value-of select="dri:xref"/> | |
</xsl:otherwise> | |
</xsl:choose> | |
</a> | |
</xsl:template> | |
<xsl:template match="dri:options/dri:list/dri:head" priority="3"> | |
<xsl:call-template name="renderHead"> | |
<xsl:with-param name="class">ds-option-set-head</xsl:with-param> | |
</xsl:call-template> | |
</xsl:template> | |
<xsl:template match="dri:options/dri:list//dri:list/dri:head" priority="3"> | |
<a class="list-group-item active"> | |
<span> | |
<xsl:call-template name="standardAttributes"> | |
<xsl:with-param name="class"> | |
<xsl:value-of select="@rend"/> | |
<xsl:text> list-group-item-heading</xsl:text> | |
</xsl:with-param> | |
</xsl:call-template> | |
<xsl:apply-templates/> | |
</span> | |
</a> | |
</xsl:template> | |
<xsl:template match="dri:list[count(child::*)=0]"/> | |
<xsl:template name="addRelatedLinks"> | |
<div id="related-links" class="list-group"> | |
<a class="list-group-item active"> | |
<span class="h5 list-group-item-heading">SEAFDEC Departments</span> | |
</a> | |
<a class="list-group-item ds-option"> | |
<xsl:attribute name="href"> | |
<xsl:text>http://www.seafdec.org</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="title"> | |
<xsl:text>SEAFDEC Secretariat</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="target">_blank</xsl:attribute> | |
<xsl:text>Secretariat (SEC)</xsl:text> | |
</a> | |
<a class="list-group-item ds-option"> | |
<xsl:attribute name="href"> | |
<xsl:text>http://www.seafdec.or.th</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="title"> | |
<xsl:text>SEAFDEC/Training Department</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="target">_blank</xsl:attribute> | |
<xsl:text>SEAFDEC/TD</xsl:text> | |
</a> | |
<a class="list-group-item ds-option"> | |
<xsl:attribute name="href"> | |
<xsl:text>http://www.seafdec.org/mfrd</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="title"> | |
<xsl:text>SEAFDEC/Marine Fisheries Research Department</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="target">_blank</xsl:attribute> | |
<xsl:text>SEAFDEC/MFRD</xsl:text> | |
</a> | |
<a class="list-group-item ds-option"> | |
<xsl:attribute name="href"> | |
<xsl:text>http://www.seafdec.org.ph</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="title"> | |
<xsl:text>SEAFDEC/Aquaculture Department</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="target">_blank</xsl:attribute> | |
<xsl:text>SEAFDEC/AQD</xsl:text> | |
</a> | |
<a class="list-group-item ds-option"> | |
<xsl:attribute name="href"> | |
<xsl:text>http://www.seafdec.org.my</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="title"> | |
<xsl:text>SEAFDEC/Marine Fishery Resources Development and Management Department</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="target">_blank</xsl:attribute> | |
<xsl:text>SEAFDEC/MFRDMD</xsl:text> | |
</a> | |
<a class="list-group-item ds-option"> | |
<xsl:attribute name="href"> | |
<xsl:text>http://www.seafdec.id</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="title"> | |
<xsl:text>SEAFDEC/Inland Fishery Resources Development and Management Department</xsl:text> | |
</xsl:attribute> | |
<xsl:attribute name="target">_blank</xsl:attribute> | |
<xsl:text>SEAFDEC/IFRDMD</xsl:text> | |
</a> | |
</div> | |
</xsl:template> | |
</xsl:stylesheet> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment