Ignore:
Timestamp:
01/25/13 13:28:10 (12 years ago)
Author:
gosiaw
Message:

Checking if computingResource is not empty and adding this attribute in result file only if it is not empty

File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/trunk/src/test/DEBBTranslator/xml/PLMXMLTranslator.xsl

    r692 r800  
    77        <xsl:import href="DEBBComponentTranslator.xsl" /> 
    88 
    9         <!-- Information for mapping of DEBB classes into DCWoRMS computingResource classes --> 
    10         <xsl:param name="computingResourceClasses" select="computingResourceClasses"/> 
    11          
    12         <!-- Information for mapping of resource classes into DCWoRMS resourceUnits classes --> 
     9        <!-- Information for mapping of DEBB classes into DCWoRMS computingResource  
     10                classes --> 
     11        <xsl:param name="computingResourceClasses" select="computingResourceClasses" /> 
     12 
     13        <!-- Information for mapping of resource classes into DCWoRMS resourceUnits  
     14                classes --> 
    1315        <!-- (Needed to pass to DEBB Components xslt) --> 
    14         <xsl:param name="resourceUnitClasses" select="resourceUnitClasses"/> 
    15          
     16        <xsl:param name="resourceUnitClasses" select="resourceUnitClasses" /> 
     17 
    1618        <!-- Specification of the output document --> 
    1719        <xsl:output method="xml" version="1.0" encoding="UTF-8" 
     
    2628 
    2729 
    28         <xsl:template match="/">         
     30        <xsl:template match="/"> 
    2931                <xsl:element name="environment"> 
    3032                        <xsl:attribute name="xsi:noNamespaceSchemaLocation">DCWormsResSchema.xsd</xsl:attribute> 
    3133                        <xsl:element name="resources"> 
    3234                                <xsl:apply-templates select="//plm:InstanceGraph" /> 
    33                                 <xsl:element name="scheduler"></xsl:element>                             
     35                                <xsl:element name="scheduler"></xsl:element> 
    3436                        </xsl:element> 
    3537                </xsl:element> 
     
    5153                        <xsl:element name="computingResource"> 
    5254                                <xsl:attribute name="name"><xsl:value-of select="@name" /></xsl:attribute> 
    53                                  
     55 
    5456                                <!-- Find corresponding ProductRevisionView and let it translate itself --> 
    55                                 <xsl:apply-templates select="//plm:ProductRevisionView[@id=$productInstanceId]" />                       
    56                                          
     57                                <xsl:apply-templates 
     58                                        select="//plm:ProductRevisionView[@id=$productInstanceId]" /> 
     59 
    5760                                <!-- Add hostnames, labels, locations, sequences, etc. --> 
    5861                                <xsl:variable name="debbHostname" 
     
    8588                                                </xsl:element> 
    8689                                        </xsl:element> 
    87                                 </xsl:if>                                
     90                                </xsl:if> 
    8891                                <xsl:variable name="debbSequence" 
    8992                                        select="plm:UserData/plm:UserValue[@title='sequence']/@value" /> 
     
    103106                <!-- instanceRefs contain space separated ids of nested DEBBs --> 
    104107                <xsl:variable name="tokenizedText" select="tokenize(@instanceRefs, ' ')" /> 
    105                  
     108 
    106109                <!-- DEBBLevel --> 
    107110                <xsl:variable name="debbLevel" 
     
    110113                <xsl:variable name="debbComponentId" 
    111114                        select="plm:UserData/plm:UserValue[@title='DEBBComponentId']/@value" /> 
    112                 <!-- DEBBComponentFile -->       
     115                <!-- DEBBComponentFile --> 
    113116                <xsl:variable name="debbComponentFile" 
    114117                        select="plm:UserData/plm:UserValue[@title='DEBBComponentFile']/@value" /> 
     
    118121                </xsl:attribute> 
    119122 
    120                 <xsl:attribute name="type"> 
    121                         <xsl:value-of select="$debbComponentId" /> 
    122                 </xsl:attribute> 
     123                <xsl:if test="$debbComponentId != ''"> 
     124                        <xsl:attribute name="type"> 
     125                                <xsl:value-of select="$debbComponentId" /> 
     126                        </xsl:attribute> 
     127                </xsl:if> 
    123128 
    124129                <!-- Add DEBB information from DEBB Components file --> 
     
    126131                        <!-- DEBB Components file is defined --> 
    127132                        <xsl:when test="$debbComponentFile != ''"> 
    128                                 <xsl:comment>DEBB Component file is <xsl:value-of select="$debbComponentFile"/></xsl:comment> 
     133                                <xsl:comment> 
     134                                        DEBB Component file is 
     135                                        <xsl:value-of select="$debbComponentFile" /> 
     136                                </xsl:comment> 
    129137                                <xsl:variable name="nestedDoc" select="document($debbComponentFile)" /> 
    130138                                <xsl:apply-templates select="$nestedDoc//*[ComponentId=$debbComponentId]" /> 
     
    132140                        <!-- DEBB Components file is not defined. Use default one. --> 
    133141                        <xsl:otherwise> 
    134                                 <xsl:comment>DEBB Component file is <xsl:value-of select="$defaultDEBBComponentsFileName"/></xsl:comment> 
     142                                <xsl:comment> 
     143                                        DEBB Component file is 
     144                                        <xsl:value-of select="$defaultDEBBComponentsFileName" /> 
     145                                </xsl:comment> 
    135146                                <xsl:variable name="nestedDoc" 
    136147                                        select="document($defaultDEBBComponentsFileName)" /> 
    137                                 <xsl:apply-templates select="$nestedDoc//*[ComponentId=$debbComponentId]" > 
     148                                <xsl:apply-templates select="$nestedDoc//*[ComponentId=$debbComponentId]"> 
    138149                                        <xsl:with-param name="computingResourceClasses"> 
    139                                                 <xsl:value-of select="$computingResourceClasses"/> 
    140                                         </xsl:with-param>                        
     150                                                <xsl:value-of select="$computingResourceClasses" /> 
     151                                        </xsl:with-param> 
    141152                                        <xsl:with-param name="resourceUnitClasses"> 
    142                                                 <xsl:value-of select="$resourceUnitClasses"/> 
     153                                                <xsl:value-of select="$resourceUnitClasses" /> 
    143154                                        </xsl:with-param> 
    144155                                </xsl:apply-templates> 
Note: See TracChangeset for help on using the changeset viewer.