Changeset 5632 for metadata


Ignore:
Timestamp:
09/15/14 14:34:36 (10 years ago)
Author:
Menzo Windhouwer
Message:

M toolkit/upgrade/cmd-record-1_1-to-1_2.xsl

  • now works for the Adelheid CMDI 1.1 record
File:
1 edited

Legend:

Unmodified
Added
Removed
  • metadata/trunk/toolkit/upgrade/cmd-record-1_1-to-1_2.xsl

    r5631 r5632  
    5252    </xsl:template>
    5353   
    54     <!-- Create or own xsi:schemaLocation -->
     54    <!-- Create our own xsi:schemaLocation -->
    5555    <xsl:template match="@xsi:schemaLocation"/>
    5656   
     
    5858   
    5959    <xsl:template match="cmd:CMD">
    60         <xsl:copy>
     60        <cmd:CMD>
     61            <xsl:namespace name="cmd" select="'http://www.clarin.eu/cmd/'"/>
     62            <xsl:namespace name="cmdp" select="$profile"/>
    6163            <xsl:apply-templates select="@* except (@xsi:schemaLocation|@xsi:noNamespaceSchemaLocation)"/>
    6264            <xsl:attribute name="xsi:schemaLocation">
     
    6870                <xsl:value-of select="$cmd-profile-xsd"/>
    6971            </xsl:attribute>
    70             <xsl:apply-templates/>
    71         </xsl:copy>
     72            <xsl:apply-templates select="cmd:Header"/>
     73            <xsl:apply-templates select="cmd:Resources"/>
     74            <xsl:apply-templates select="cmd:Resources/cmd:IsPartOfList"/>
     75            <xsl:apply-templates select="cmd:Components"/>
     76        </cmd:CMD>
    7277    </xsl:template>
    7378   
    74     <!-- Make sure Header contains MdProfile -->
    75 
     79    <!-- Make sure cmd:Header contains cmd:MdProfile -->
     80    <xsl:template match="cmd:Header">
     81        <cmd:Header>
     82            <xsl:apply-templates select="cmd:MdCreator"/>
     83            <xsl:apply-templates select="cmd:MdCreationDate"/>
     84            <xsl:apply-templates select="cmd:MdSelfLink"/>
     85            <cmd:MdProfile>
     86                <xsl:value-of select="$profile"/>
     87            </cmd:MdProfile>
     88            <xsl:apply-templates select="cmd:MdCollectionDisplayName"/>
     89        </cmd:Header>
     90    </xsl:template>
     91   
     92    <!-- Skip cmd:Resources/cmd:IsPartOfList -->
     93    <xsl:template match="cmd:Resources">
     94        <cmd:Resources>
     95            <xsl:apply-templates select="cmd:ResourceProxyList"/>
     96            <xsl:apply-templates select="cmd:JournalFileProxyList"/>
     97            <xsl:apply-templates select="cmd:ResourceRelationList"/>
     98        </cmd:Resources>
     99    </xsl:template>
     100   
     101    <!-- Reshape ResourceRelationList -->
     102    <xsl:template match="cmd:ResourceRelation/cmd:RelationType">
     103        <cmd:RelationType>
     104            <!-- take the string value, ignore deeper structure -->
     105            <xsl:value-of select="."/>
     106        </cmd:RelationType>
     107    </xsl:template>
     108   
     109    <xsl:template match="cmd:ResourceRelation/cmd:res1">
     110        <cmd:Resource>
     111            <xsl:apply-templates select="@*"/>
     112        </cmd:Resource>
     113    </xsl:template>
     114   
     115    <xsl:template match="cmd:ResourceRelation/cmd:res2">
     116        <cmd:Resource>
     117            <xsl:apply-templates select="@*"/>
     118        </cmd:Resource>
     119    </xsl:template>
     120   
     121    <!-- put envelop in the envelop namespace (it already is, but add the namespace) -->
     122    <xsl:template match="/cmd:CMD//*" priority="1">
     123        <xsl:element name="cmd:{local-name()}">
     124            <xsl:apply-templates select="@*|node()"/>
     125        </xsl:element>
     126    </xsl:template>
     127   
     128    <!-- put payload in the profile namespace -->
     129    <xsl:template match="cmd:Components//*" priority="2">
     130        <xsl:element namespace="{$profile}" name="cmdp:{local-name()}">
     131            <xsl:apply-templates select="@*|node()"/>
     132        </xsl:element>
     133    </xsl:template>
     134   
     135    <!-- move CMD attributes to the CMD namespace -->
     136    <xsl:template match="cmd:Components//@ref">
     137        <xsl:attribute name="cmd:ref" select="."/>
     138    </xsl:template>
     139   
     140    <xsl:template match="cmd:Components//@ComponentId">
     141        <xsl:attribute name="cmd:ComponentId" select="."/>
     142    </xsl:template>
     143   
     144   
    76145</xsl:stylesheet>
Note: See TracChangeset for help on using the changeset viewer.