Ignore:
Timestamp:
02/28/12 09:08:52 (9 years ago)
Author:
sjm84
Message:

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

File:
1 edited

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">
Note: See TracChangeset for help on using the changeset viewer.