Changeset 26020


Ignore:
Timestamp:
2012-07-25T10:36:48+12:00 (12 years ago)
Author:
sjm84
Message:

A major rework of document templates so that the display templates are easier to modify

Location:
main/trunk/greenstone3/web/interfaces/default
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js

    r25936 r26020  
    1818    template +=   '<text>';
    1919    template +=     '<xsl:for-each select="/page/pageResponse/document//documentNode[@nodeID = \'' + sectionID + '\']">';
    20     template +=       '<xsl:call-template name="sectionImage"/>';
    21     template +=       '<div id="text' + sectionID + '">';
    22     template +=         '<xsl:call-template name="documentNodeText"/>';
    23     template +=       '</div>';
     20    template +=       '<xsl:call-template name="sectionContent"/>';
    2421    template +=     '</xsl:for-each>';
    2522    template +=   '</text>';
  • main/trunk/greenstone3/web/interfaces/default/transform/config_format.xsl

    r25941 r26020  
    4646
    4747    <xsl:template match="gsf:image">
    48         <img>
    49             <xslt:attribute name='src'>
    50                 <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name = 'httpPath']"/>
    51                 <xsl:text>/index/assoc/</xsl:text>
    52                 <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
    53                 <xsl:text>/</xsl:text>
    54                 <xsl:choose>
    55                     <xsl:when test="@type = 'thumb'">
    56                         <xslt:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'Thumb']"/>
    57                     </xsl:when>
    58                     <xsl:when test="@type = 'screen'">
    59                         <xslt:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'Screen']"/>
    60                     </xsl:when>
    61                     <xsl:when test="@type = 'source'">
    62                         <xslt:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'SourceFile']"/>
    63                     </xsl:when>
    64                 </xsl:choose>
    65             </xslt:attribute>
    66         </img>
     48        <xsl:variable name="metaName">
     49            <xsl:choose>
     50                <xsl:when test="@type = 'thumb'">Thumb</xsl:when>
     51                <xsl:when test="@type = 'screen'">Screen</xsl:when>
     52                <xsl:when test="@type = 'source'">SourceFile</xsl:when>
     53            </xsl:choose>
     54        </xsl:variable>
     55        <xsl:if test="(.//metadataList)[last()]/metadata[@name = $metaName]">
     56            <img>
     57                <xslt:attribute name='src'>
     58                    <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name = 'httpPath']"/>
     59                    <xsl:text>/index/assoc/</xsl:text>
     60                    <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/>
     61                    <xsl:text>/</xsl:text>
     62                    <xsl:choose>
     63                        <xsl:when test="@type = 'thumb'">
     64                            <xslt:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'Thumb']"/>
     65                        </xsl:when>
     66                        <xsl:when test="@type = 'screen'">
     67                            <xslt:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'Screen']"/>
     68                        </xsl:when>
     69                        <xsl:when test="@type = 'source'">
     70                            <xslt:value-of disable-output-escaping="yes" select="(.//metadataList)[last()]/metadata[@name = 'SourceFile']"/>
     71                        </xsl:when>
     72                    </xsl:choose>
     73                </xslt:attribute>
     74            </img>
     75        </xsl:if>
    6776    </xsl:template>
    6877
     
    267276 
    268277    <xsl:template match="gsf:text">
    269     <xslt:call-template name="documentNodeText"/>
     278        <xslt:call-template name="documentNodeText"/>
    270279    </xsl:template>
    271280 
  • main/trunk/greenstone3/web/interfaces/default/transform/pages/document.xsl

    r26014 r26020  
    5757    </xsl:template>
    5858   
     59    <xsl:template name="documentHeading">
     60        <b><gsf:metadata name="Title"/></b><br/>
     61    </xsl:template>
     62   
     63    <xsl:template name="documentContent">
     64        <xsl:choose>
     65            <xsl:when test="@docType='simple'">
     66                <div id="gs-document">
     67                    <xsl:call-template name="wrappedSectionImage"/>
     68                    <div id="gs-document-text">
     69                        <xsl:call-template name="documentNodeText"/>
     70                    </div>
     71                </div>
     72            </xsl:when>
     73            <xsl:otherwise>
     74                <xsl:call-template name="wrappedDocument"/>
     75            </xsl:otherwise>
     76        </xsl:choose>
     77    </xsl:template>
     78   
    5979    <xsl:template name="sectionHeader">
    6080        <xsl:call-template name="sectionTitle"/>
     81    </xsl:template>
     82   
     83    <xsl:template name="topLevelSectionContent">
     84        <xsl:call-template name="wrappedSectionImage"/>
     85        <xsl:call-template name="wrappedSectionText"/>
     86    </xsl:template>
     87   
     88    <xsl:template name="sectionContent">
     89        <xsl:call-template name="wrappedSectionImage"/>
     90        <xsl:call-template name="wrappedSectionText"/>
     91    </xsl:template>
     92   
     93    <xsl:template name="wrappedSectionText">
     94        <div id="text{@nodeID}" class="sectionText"><!-- *** -->
     95            <xsl:attribute name="style">
     96                <xsl:choose>
     97                    <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'image'">
     98                        <xsl:text>display:none;</xsl:text>
     99                    </xsl:when>
     100                    <xsl:otherwise>
     101                        <xsl:text>display:block;</xsl:text>
     102                    </xsl:otherwise>
     103                </xsl:choose>
     104            </xsl:attribute>
     105
     106            <xsl:call-template name="documentNodeText"/>
     107        </div>
     108    </xsl:template>
     109   
     110    <xsl:template name="sectionImage">
     111        <gsf:image type="screen"/>
    61112    </xsl:template>
    62113   
     
    166217            </xsl:if>
    167218           
    168             <xsl:call-template name="sectionImage"/>
     219            <xsl:choose>
     220                <xsl:when test="../../document">
     221                    <xsl:call-template name="topLevelSectionContent"/>
     222                </xsl:when>
     223                <xsl:otherwise>
     224                    <xsl:call-template name="sectionContent"/>
     225                </xsl:otherwise>
     226            </xsl:choose>
    169227           
    170             <div id="text{@nodeID}" class="sectionText"><!-- *** -->
    171                 <xsl:attribute name="style">
    172                     <xsl:choose>
    173                         <xsl:when test="/page/pageRequest/paramList/param[@name = 'view']/@value = 'image'">
    174                             <xsl:text>display:none;</xsl:text>
    175                         </xsl:when>
    176                         <xsl:otherwise>
    177                             <xsl:text>display:block;</xsl:text>
    178                         </xsl:otherwise>
    179                     </xsl:choose>
    180                 </xsl:attribute>
    181                 <!-- Get the section content from the document template -->
    182                 <xsl:call-template name="documentNodeText"/>
    183             </div>
    184228            <xsl:if test="documentNode">
    185229                <xsl:for-each select="documentNode">
     
    262306            <xsl:otherwise> <!-- display the standard greenstone document -->
    263307                <xsl:call-template name="documentContent"/>
    264             </xsl:otherwise>
    265         </xsl:choose>
    266     </xsl:template>
    267     <xsl:template name="documentContent">
    268         <xsl:choose>
    269             <xsl:when test="@docType='simple'">
    270               <div id="gs-document">                           
    271                 <div id="gs-document-text">
    272                   <xsl:call-template name="documentNodeText"/>
    273                 </div>
    274               </div>
    275 
    276             </xsl:when>
    277             <xsl:otherwise>
    278                 <xsl:call-template name="wrappedDocument"/>
    279308            </xsl:otherwise>
    280309        </xsl:choose>
     
    398427    </xsl:template>
    399428   
    400     <xsl:template name="sectionImage">
     429    <xsl:template name="wrappedSectionImage">
    401430        <gsf:variable name="screenImageWidth"><gsf:metadata name="ScreenWidth"/></gsf:variable>
    402431        <gsf:variable name="screenImageHeight"><gsf:metadata name="ScreenHeight"/></gsf:variable>
     
    446475                </div>
    447476            </xsl:when>
    448             <xsl:when test="metadataList/metadata[@name = 'Screen']">
     477            <xsl:otherwise>
    449478                <div id="image{@nodeID}">
    450479                    <xsl:attribute name="style">
     
    458487                        </xsl:choose>
    459488                    </xsl:attribute>
    460                     <gsf:image type="screen"/>
    461                 </div>
    462             </xsl:when>
     489                    <xsl:call-template name="sectionImage"/><xsl:text> </xsl:text>
     490                </div>
     491            </xsl:otherwise>
    463492        </xsl:choose>
    464     </xsl:template>
    465    
    466     <xsl:template name="documentHeading">
    467         <b><gsf:metadata name="Title"/></b><br/>
    468493    </xsl:template>
    469494   
Note: See TracChangeset for help on using the changeset viewer.