Changeset 6309


Ignore:
Timestamp:
2003-12-18T09:39:59+13:00 (20 years ago)
Author:
kjdon
Message:

added new stuff for metadata handling and swich and choose metadata formats

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/web/interfaces/default/transform/config_format.xsl

    r5968 r6309  
    5454 
    5555  <xsl:template match="gsf:metadata">
    56     <xslt:value-of disable-output-escaping="yes"><xsl:attribute name="select">metadataList/metadata[@name="<xsl:if test="@select='parent'">parent_</xsl:if><xsl:if test="@select='root'">root_</xsl:if><xsl:if test="@select='ancestors'">ancestors'<xsl:value-of select='@separator'/>'_</xsl:if><xsl:value-of select="@name"/>"]</xsl:attribute></xslt:value-of>
     56    <xslt:value-of disable-output-escaping="yes"><xsl:attribute name="select">metadataList/metadata[@name="<xsl:apply-templates select="." mode="get-metadata-name"/>"]</xsl:attribute></xslt:value-of>
     57  </xsl:template>
     58
     59  <xsl:template match="gsf:metadata" mode="get-metadata-name">
     60    <xsl:if test="@multiple='true'">all_</xsl:if><xsl:if test='@select'><xsl:value-of select='@select'/>_</xsl:if><xsl:if test="@separator">'<xsl:value-of select='@separator'/>'_</xsl:if><xsl:value-of select="@name"/>
     61  </xsl:template>
     62 
     63  <xsl:template match="gsf:metadata-old">
     64    <xslt:value-of disable-output-escaping="yes"><xsl:attribute name="select">metadataList/metadata[@name="<xsl:choose><xsl:when test="@select='parent'">parent_</xsl:when><xsl:when test="@select='root'">root_</xsl:when><xsl:when test="@select='ancestors'">ancestors'<xsl:value-of select='@separator'/>'_</xsl:when><xsl:when test="@select='siblings'">siblings_'<xsl:value-of select='@separator'/>'_</xsl:when></xsl:choose><xsl:value-of select="@name"/>"]</xsl:attribute></xslt:value-of>
    5765  </xsl:template>
    5866 
    5967  <xsl:template match="gsf:text">
    6068    <xslt:apply-templates select="nodeContent"/>
     69  </xsl:template>
     70 
     71  <xsl:template match="gsf:choose-metadata">
     72    <xslt:choose>
     73      <xsl:for-each select="gsf:metadata">
     74    <xslt:when><xsl:variable name="test">metadataList/metadata[@name='<xsl:apply-templates select="." mode="get-metadata-name"/>']</xsl:variable>
     75      <xsl:apply-templates select="."/>
     76    </xslt:when>
     77      </xsl:for-each>
     78    </xslt:choose>
     79  </xsl:template>
     80 
     81  <xsl:template match="gsf:switch">
     82    <xsl:variable name="meta-name"><xsl:apply-templates select="gsf:metadata" mode="get-metadata-name"/></xsl:variable>
     83    <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>
     84    <xslt:choose>
     85      <xsl:for-each select="gsf:when">
     86    <xslt:when test="util:{@test}($meta, '{@test-value}')">
     87      <xsl:apply-templates/>
     88    </xslt:when>
     89      </xsl:for-each>
     90      <xsl:if test="gsf:otherwise">
     91    <xslt:otherwise>
     92      <xsl:apply-templates select="gsf:otherwise/node()"/>
     93    </xslt:otherwise>
     94      </xsl:if>
     95    </xslt:choose>
    6196  </xsl:template>
    6297 
Note: See TracChangeset for help on using the changeset viewer.