Show
Ignore:
Timestamp:
28.02.2012 09:08:52 (8 years ago)
Author:
sjm84
Message:

Tidied up config_format and (hopefully) made gsf statements work in more situations

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/oran/transform/config_format.xsl

    r25002 r25145  
    5050                <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name = 'httpPath']"/> 
    5151                <xsl:text>/index/assoc/</xsl:text> 
    52                 <xslt:value-of disable-output-escaping="yes" select="metadataList/metadata[@name = 'assocfilepath']"/> 
     52                <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/document/metadataList/metadata[@name = 'assocfilepath']"/> 
    5353                <xsl:text>/</xsl:text> 
    5454                <xsl:choose> 
    5555                    <xsl:when test="@type = 'thumb'"> 
    56                         <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'Thumb']"/> 
     56                        <xslt:value-of disable-output-escaping="yes" select=".//metadataList/metadata[@name = 'Thumb']"/> 
    5757                    </xsl:when> 
    5858                    <xsl:when test="@type = 'screen'"> 
    59                         <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'Screen']"/> 
     59                        <xslt:value-of disable-output-escaping="yes" select=".//metadataList/metadata[@name = 'Screen']"/> 
    6060                    </xsl:when> 
    6161                    <xsl:when test="@type = 'source'"> 
    62                         <xslt:value-of disable-output-escaping="yes" select="/page/pageResponse/document/documentNode/metadataList/metadata[@name = 'SourceFile']"/> 
     62                        <xslt:value-of disable-output-escaping="yes" select=".//metadataList/metadata[@name = 'SourceFile']"/> 
    6363                    </xsl:when> 
    6464                </xsl:choose> 
     
    169169    </xsl:template> 
    170170 
    171     <xsl:template match="gsf:metadata[@format]"> 
    172         <xslt:value-of disable-output-escaping="yes"> 
    173             <xsl:attribute name="select"> 
    174                 <xsl:text>java:org.greenstone.gsdl3.util.XSLTUtil.</xsl:text> 
    175                 <xsl:value-of select="@format"/> 
    176                 <xsl:text>(metadataList/metadata[@name='</xsl:text> 
    177                 <xsl:apply-templates select="." mode="get-metadata-name"/> 
    178                 <xsl:text>'], /page/@lang )</xsl:text> 
    179             </xsl:attribute> 
    180         </xslt:value-of> 
    181     </xsl:template> 
    182  
    183171    <!-- if this gsf:metadata is a child of a document node then we want to get the metadata for that node --> 
    184     <xsl:template match="xsl:template[@match = 'documentNode' or @match = 'classifierNode']//gsf:metadata | gsf:template[@match = 'documentNode' or @match = 'classifierNode']//gsf:metadata"> 
     172    <xsl:template match="gsf:metadata"> 
    185173        <xslt:if test="not(@hidden = 'true')">       
    186174            <xslt:value-of disable-output-escaping="yes"> 
    187175                <xsl:attribute name="select"> 
    188                     <xsl:text>metadataList/metadata[@name='</xsl:text> 
     176                    <xsl:if test="@format"> 
     177                        <xsl:text>java:org.greenstone.gsdl3.util.XSLTUtil.</xsl:text> 
     178                        <xsl:value-of select="@format"/> 
     179                        <xsl:text>(</xsl:text> 
     180                    </xsl:if> 
     181                    <xsl:text>.//metadataList/metadata[@name='</xsl:text> 
    189182                    <xsl:apply-templates select="." mode="get-metadata-name"/> 
    190183                    <xsl:text>']</xsl:text> 
    191                 </xsl:attribute> 
    192             </xslt:value-of> 
    193         </xslt:if> 
    194     </xsl:template> 
    195      
    196     <xsl:template match="gsf:metadata"> 
    197         <xslt:if test="not(@hidden = 'true')">   
    198             <xslt:value-of disable-output-escaping="yes"> 
    199                 <xsl:attribute name="select"> 
    200                     <xsl:text>/page/pageResponse/document/documentNode/metadataList/metadata[@name='</xsl:text> 
    201                     <xsl:apply-templates select="." mode="get-metadata-name"/> 
    202                     <xsl:text>']</xsl:text> 
     184                    <xsl:if test="@format"> 
     185                        <xsl:text>, /page/@lang )</xsl:text> 
     186                    </xsl:if> 
    203187                </xsl:attribute> 
    204188            </xslt:value-of> 
     
    225209        <xslt:value-of disable-output-escaping="yes"> 
    226210            <xsl:attribute name="select"> 
    227                 <xsl:text>metadataList/metadata[@name="</xsl:text> 
     211                <xsl:text>.//metadataList/metadata[@name="</xsl:text> 
    228212                <xsl:choose> 
    229213                    <xsl:when test="@select='parent'"> 
     
    254238    </xsl:template> 
    255239   
    256     <xsl:template match="xsl:template[@match = 'documentNode' or @match = 'classifierNode']//gsf:choose-metadata | gsf:template[@match = 'documentNode' or @match = 'classifierNode']//gsf:choose-metadata"> 
     240    <xsl:template match="gsf:choose-metadata"> 
    257241        <xslt:choose> 
    258242            <xsl:for-each select="gsf:metadata"> 
    259243                <xslt:when> 
    260                     <xsl:attribute name="test">metadataList/metadata[@name='<xsl:apply-templates select="." mode="get-metadata-name"/>']</xsl:attribute> 
     244                    <xsl:attribute name="test">.//metadataList/metadata[@name='<xsl:apply-templates select="." mode="get-metadata-name"/>']</xsl:attribute> 
    261245                    <xsl:apply-templates select="."/> 
    262246                </xslt:when> 
     
    267251        </xslt:choose> 
    268252    </xsl:template> 
    269      
    270     <xsl:template match="gsf:choose-metadata"> 
    271         <xslt:choose> 
    272             <xsl:for-each select="gsf:metadata"> 
    273                 <xslt:when> 
    274                     <xsl:attribute name="test">/page/pageResponse/document/documentNode/metadataList/metadata[@name='<xsl:apply-templates select="." mode="get-metadata-name"/>']</xsl:attribute> 
    275                     <xsl:apply-templates select="."/> 
    276                 </xslt:when> 
    277             </xsl:for-each> 
    278             <xsl:if test="gsf:default"> 
    279                 <xslt:otherwise><xsl:apply-templates select="gsf:default"/></xslt:otherwise> 
    280             </xsl:if> 
    281         </xslt:choose> 
    282     </xsl:template> 
    283253   
    284254    <xsl:template match="gsf:switch"> 
    285255        <xsl:variable name="meta-name"><xsl:apply-templates select="gsf:metadata" mode="get-metadata-name"/></xsl:variable> 
    286         <xslt:variable name="meta"><xsl:choose><xsl:when test="@preprocess"><xslt:value-of select="util:{@preprocess}(metadataList/metadata[@name='{$meta-name}'])"/></xsl:when><xsl:otherwise><xslt:value-of select="metadataList/metadata[@name='{$meta-name}']"/></xsl:otherwise></xsl:choose></xslt:variable> 
     256        <xslt:variable name="meta"><xsl:choose><xsl:when test="@preprocess"><xslt:value-of select="util:{@preprocess}(.//metadataList/metadata[@name='{$meta-name}'])"/></xsl:when><xsl:otherwise><xslt:value-of select=".//metadataList/metadata[@name='{$meta-name}']"/></xsl:otherwise></xsl:choose></xslt:variable> 
    287257        <xslt:choose> 
    288258            <xsl:for-each select="gsf:when">