Changeset 26020

Show
Ignore:
Timestamp:
25.07.2012 10:36:48 (7 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 modified

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