123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- 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:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="pf xtsext xts">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:serialize-xml/>
- <pf:variables/>
- <xsl:template match="/">
- <xsl:variable name="prevTabID" select="/root/env/param[@name='prevTabID']"/>
- <xts:sequence>
- <!-- serialize the task-->
- <xsl:variable name="markup">
- <xsl:choose>
- <xsl:when test="$prevTabID='AgentTask-schedule'">
- <xsl:value-of select="/root/env/param[@name='scheduleParameters']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="/root/agent_definition/items/item[./id=$prevTabID]/type='message'">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/env/param[@name='options' or @name='taskName']"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="/root/agent_definition/items/item[./id=$prevTabID]/type='notification'">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/env/param[@name='taskOptions' or @name='taskName']"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="/root/agent_definition/items/item[./id=$prevTabID]/type='approval'">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/env/param[@name='taskOptions' or @name='taskName']"/>
- </xsl:call-template>
- </xsl:when>
- <!-- all other pages are the same -->
- <xsl:otherwise>
- <xsl:value-of select="/root/env/param[@name='tabResult']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- delete the blob if found
- TODO: This should check here if the flag to say the data is changed then
- only remove and recreate the blob for AgentTask
- -->
- <xts:delete select="/root/env/param[@name='{$prevTabID}']" mandatory="false"/>
- <xts:append select="/root/env">
- <param name="{$prevTabID}">
- <xsl:choose>
- <!-- wrap up and encode taskOptions/taskName for 'approval' and 'notification' tasks. -->
- <!-- For 'message' tasks wrap up and encode options and taskName-->
- <xsl:when test="/root/agent_definition/items/item[./id=$prevTabID]/type='message' or /root/agent_definition/items/item[./id=$prevTabID]/type='approval' or /root/agent_definition/items/item[./id=$prevTabID]/type='notification'">
- <xsl:value-of select="xtsext:cafaction( concat('sign_wrap_setpassportid_', $passport, '_settemplatename_storetabtemplate_settemplateid_storetabtemplate001'), xtsext:web64encode( string( $markup), true()))"/>
- </xsl:when>
- <!-- AgentTask-condition is saved in plain text so we can always get to the condition - even when not on the page -->
- <xsl:otherwise>
- <xsl:value-of select="$markup"/>
- </xsl:otherwise>
- </xsl:choose>
- </param>
- </xts:append>
- <!-- /agent_definition/items/item[id=$prevTabID]"> -->
- <!-- remove the params, these have been wrapped up and stored in /root/env/param<task-name>-->
- <!-- we need to replace the taskName if we're not in condition or schedule -->
- <xsl:if test="$prevTabID !='AgentTask-condition' and $prevTabID!='AgentTask-schedule'">
- <xts:replace select="/root/agent_definition/items/item[./id='{$prevTabID}']/name">
- <name>
- <xsl:value-of select="/root/env/param[@name='taskName']"/>
- </name>
- </xts:replace>
- </xsl:if>
- <!-- update the condition definition -->
- <!--xsl:if test="$prevTabID='AgentTask-condition'">
- <xts:replace select="/root/agent_definition/condition">
- <condition>
- <xsl:value-of select="/root/env/param[@name='Summary_condition']"/>
- </condition>
- </xts:replace>
- </xsl:if-->
- <!-- clean everything else up - return us to where we want to be -->
- <xts:delete select="/root/env/param[not(
- starts-with(@name, 'agsSave') or
- starts-with(@name,'AgentTask') or
- starts-with(@name,'ps_nav') or
- @name='agent_definition_blob' or
- @name='cafcontextid' or
- @name='tabSelectedID' or
- @name='prevTabID' or
- @name='newTaskType' or
- @name='itemSelected' or
- @name='itemNewLocation' or
- @name='agentItemOp' or
- @name='m' or
- @name='packRoot' or
- @name='b_action' or
- @name='m_path' or
- @name='controller_state'
- )]"/>
- <!-- also delete the controller state -->
- <xts:delete select="/root/env/param[@name='controller_state']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
|