12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtscm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xts xtsext">
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: AGS
- (C) Copyright IBM Corp. 2005, 2009
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <xsl:template match="/">
- <xts:sequence>
- <!-- go throught the rest of the parameters and decode their contents -->
- <xsl:for-each select="/root/env/param[starts-with(@name, 'pv_dz_')]">
- <xsl:variable name="param_name" select="substring-before(substring-after(@name, 'pv_dz_'), '_pv_dz')"/>
- <xsl:variable name="param_value" select="text()"/>
- <xsl:variable name="param_selection" select="concat('pv_cb_',$param_name,'_pv_cb')"/>
- <xsl:if test="$param_value and not($param_value = '')">
- <xsl:if test="/root/agent_item/parameterData/parameterAssignments/parameterAssignment[./parameterName = $param_name]">
- <xts:delete select="/root/agent_item/parameterData/parameterAssignments/parameterAssignment[./parameterName = '{$param_name}']" />
- </xsl:if>
- <xts:append select="/root/agent_item/parameterData/parameterAssignments">
- <parameterAssignment>
- <dataItemName>
- <xsl:value-of select="$param_value"/>
- </dataItemName>
- <parameterName>
- <xsl:value-of select="$param_name"/>
- </parameterName>
- </parameterAssignment>
- </xts:append>
- <xsl:if test="/root/env/param[@name = $param_selection] = 1"> <!-- This is a model so delete the literal-->
- <xts:delete select="/root/agent_item/parameterData/parameterValues/item[./*[local-name() = 'name'] = '{$param_name}']"/>
- </xsl:if>
- </xsl:if>
- <xsl:if test="not($param_value) or $param_value = ''">
- <!-- one has been removed-->
- <xsl:if test="/root/agent_item/parameterData/parameterAssignments/parameterAssignment[./parameterName = $param_name]">
- <xts:delete select="/root/agent_item/parameterData/parameterAssignments/parameterAssignment[./parameterName = '{$param_name}']" />
- </xsl:if>
- </xsl:if>
- </xsl:for-each>
- <!--at this point remove any parameters that dont have values.... they will be re presented if the prompt values dialog is called -->
- <xts:delete select="/root/agent_item/parameterData/parameterValues/item[not(./*[local-name() = 'value']/*[local-name() = 'item'])]"/>
- <!-- get rid of the form vars passed in by the promptValues page -->
- <xts:delete select="/root/env/param[starts-with(@name,'pv_')]"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
|