view software/eXist/webapp/mpdl/presentation/functions-mpdl.xsl @ 11:d6f528ad5d96

TEI Unterst?tzung, Fehlerbehebungen, externe Objekte
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Fri, 11 Mar 2011 13:34:02 +0100
parents 5589d865af7a
children 469d927b9ca7
line wrap: on
line source

<?xml version="1.0"?>
<xsl:stylesheet version="2.0" 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
 xmlns:xlink="http://www.w3.org/1999/xlink"
 xmlns:mpdl="http://www.mpiwg-berlin.mpg.de/ns/mpdl">

<xsl:function name="mpdl:showFigure">
  <xsl:param name="digilibAvailable"/>
  <xsl:param name="figureFileName"/>
  <xsl:param name="figureNumber"/>
  <xsl:param name="figureCaption"/>
  <xsl:param name="figureDescription"/>
  <xsl:param name="figureVariables"/>
  <xsl:param name="class"/>
  <xsl:variable name="fullFigureFileName">
    <xsl:choose>
      <xsl:when test="$figureFileName != ''"><xsl:value-of select="concat($figuresImageDirectory, '/', $figureFileName)"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="$figuresImageDirectory"/></xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="nausikaaURLDlInfo" select="concat('http://nausikaa2.mpiwg-berlin.mpg.de/digitallibrary/dlInfo-xml.jsp?fn=', $fullFigureFileName)"/>
  <xsl:variable name="testFigureResult">
    <xsl:choose>
      <xsl:when test="$digilibAvailable = 'true'"><xsl:value-of select="unparsed-text($nausikaaURLDlInfo)"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="''"/></xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="testFigureResultParamImgFn" select="substring-before(substring-after($testFigureResult, 'parameter name=&quot;img.fn&quot; value=&quot;'), '&quot;')"/>
  <xsl:variable name="figureIsAvailable">
    <xsl:choose>
      <xsl:when test="$testFigureResultParamImgFn = ''"><xsl:value-of select="'false'"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="'true'"/></xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="figureWidth">
    <xsl:choose>
      <xsl:when test="$collectionName = 'archimedes' or contains($class, 'float none')"><xsl:value-of select="'400'"/></xsl:when>
      <xsl:when test="$collectionName = 'echo'"><xsl:value-of select="'200'"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="'200'"/></xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="figureHeight">
    <xsl:choose>
      <xsl:when test="$collectionName = 'archimedes' or contains($class, 'float none')"><xsl:value-of select="'400'"/></xsl:when>
      <xsl:when test="$collectionName = 'echo'"><xsl:value-of select="'200'"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="'200'"/></xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="figureBorder" select="'border:1px;'"/>
  <xsl:variable name="style">
    <xsl:choose>
      <xsl:when test="$figureIsAvailable = 'true'"><xsl:value-of select="$figureBorder"/></xsl:when>
      <xsl:otherwise><xsl:value-of select="concat($figureBorder, 'width:', $figureWidth, ';')"/></xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:if test="$collectionName = 'archimedes'"><br/></xsl:if>
  <xsl:variable name="figureContent">
    <xsl:choose>
      <xsl:when test="$digilibAvailable = 'false'">
        <img title="Could not fetch figure by nausikaa2.rz-berlin.mpg.de: please try again later" alt="Could not fetch figure by nausikaa2.rz-berlin.mpg.de: please try again later" src="images/camera.png" width="30" height="30" border="0"/>
      </xsl:when>
      <xsl:when test="$figureIsAvailable = 'true' and $figureFileName != ''">
        <a href="http://echo.mpiwg-berlin.mpg.de/zogilib?fn={$fullFigureFileName}"><img alt="figure: {$figureNumber}" src="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler?fn={$fullFigureFileName}&amp;dh={$figureHeight}&amp;dw={$figureWidth}"/></a>
      </xsl:when>
      <xsl:when test="$figureIsAvailable = 'true' and $figureFileName = ''">
        <a href="http://echo.mpiwg-berlin.mpg.de/zogilib?fn={$fullFigureFileName}&amp;pn={$figureNumber}"><img alt="figure: {$figureNumber}" src="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler?fn={$fullFigureFileName}&amp;pn={$figureNumber}&amp;dh={$figureHeight}&amp;dw={$figureWidth}"/></a>
      </xsl:when>
      <xsl:otherwise>
        <img title="Figure: {$fullFigureFileName} not scanned" alt="Figure: {$fullFigureFileName} not scanned" src="images/camera.png" width="30" height="30" border="0"/>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:variable>
  <xsl:variable name="figureText" select="concat('[Figure: ', $figureNumber, ']')"/>
  <div class="{$class}" style="{$style}">
    <xsl:if test="$figureCaption != ''"><xsl:sequence select="$figureCaption"/><br/></xsl:if>
    <xsl:sequence select="$figureContent"/>
    <br/>
    <xsl:value-of select="$figureText"/>
    <xsl:if test="$figureDescription != ''"><xsl:value-of select="': '"/><xsl:sequence select="$figureDescription"/></xsl:if>
    <xsl:if test="$figureVariables != ''"><xsl:value-of select="'(Variables: '"/><xsl:sequence select="$figureVariables"/><xsl:value-of select="')'"/></xsl:if>
  </div>
</xsl:function>

<xsl:function name="mpdl:showHandwritten">
  <xsl:param name="fileName"/>
  <xsl:param name="href"/>
  <xsl:variable name="handwrittenText" select="'[Handwritten]'"/>
  <div class="handwritten">
    <img title="Handwritten: {$href} not scanned" alt="Handwritten: {$href} not scanned" src="images/camera.png" width="30" height="30" border="0"/>
    <br/>
    <xsl:value-of select="$handwrittenText"/>
    <p/>
  </div>
</xsl:function>


</xsl:stylesheet>