123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2011
- US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- -->
- <!--
- Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
- Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
- -->
- <xsl:stylesheet version="1.0"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- exclude-result-prefixes="xsd xsi xts">
-
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <pf:variables/>
- <xsl:template match="params" priority="1">
- <xsl:variable name="timeZone" select="timeZone"/>
- <xsl:variable name="hasSchedCapabilityByDay" select="hasSchedCapabilityByDay"/>
- <xsl:variable name="hasSchedCapabilityByWeek" select="hasSchedCapabilityByWeek"/>
- <xsl:variable name="hasSchedCapabilityByMonth" select="hasSchedCapabilityByMonth"/>
- <xsl:variable name="hasSchedCapabilityByYear" select="hasSchedCapabilityByYear"/>
- <xsl:variable name="hasSchedCapabilityByTrigger" select="hasSchedCapabilityByTrigger"/>
- <!-- choose the default tab to display on a new scheduled based on the user's capabilities -->
- <xsl:variable name="defaultTab">
- <xsl:choose>
- <xsl:when test="$hasSchedCapabilityByWeek='true'">weekly</xsl:when>
- <xsl:when test="$hasSchedCapabilityByMonth='true'">monthly</xsl:when>
- <xsl:when test="$hasSchedCapabilityByYear='true'">yearly</xsl:when>
- <xsl:when test="$hasSchedCapabilityByDay='true'">daily</xsl:when>
- <xsl:when test="$hasSchedCapabilityByTrigger='true'">trigger</xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:if test="not(env/param[@name='m_sp_endType'])">
- <param name="m_sp_endType">indefinite</param>
- </xsl:if>
- <xsl:choose>
- <!-- Defaults for By Day Tab -->
- <xsl:when test="starts-with(env/param[@name='m_sp_type'],'daily') or $defaultTab='daily'">
- <xsl:if test="not(env/param[@name='m_sp_dailyPeriod'])">
- <param name="m_sp_dailyPeriod">day</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_everyNminutes'])">
- <param name="m_sp_everyNminutes">1</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_everyNhours'])">
- <param name="m_sp_everyNhours">1</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_everyNdays'])">
- <param name="m_sp_everyNdays">1</param>
- </xsl:if>
- <xsl:if test="not(key('env-param', 'm_sp_type'))">
- <param name="m_sp_type">daily</param>
- </xsl:if>
- </xsl:when>
- <!-- Defaults for By Month Tab -->
- <xsl:when test="env/param[@name='m_sp_type']='monthly' or $defaultTab='monthly'">
- <xsl:if test="not(env/param[@name='sub_type'])">
- <param name="sub_type">relative</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_everyNmonthsAbs'])">
- <param name="m_sp_everyNmonthsAbs">1</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_everyNmonthsRel'])">
- <param name="m_sp_everyNmonthsRel">1</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_monthlyAbsoluteDay'])">
- <param name="m_sp_monthlyAbsoluteDay"><xsl:value-of select="env/param[@name='current_day']"/></param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_monthlyRelativeDay'])">
- <param name="m_sp_monthlyRelativeDay"><xsl:value-of select="xtsext:getDateInformation(string($timeZone), string('DAY_OF_WEEK'))"/></param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_monthlyRelativeWeek'])">
- <param name="m_sp_monthlyRelativeWeek"><xsl:value-of select="translate(xtsext:getDateInformation(string($timeZone), string('DAY_OF_WEEK_IN_MONTH')), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz' )"/></param>
- </xsl:if>
- <xsl:if test="not(key('env-param', 'm_sp_type'))">
- <param name="m_sp_type">monthly</param>
- </xsl:if>
- </xsl:when>
- <!-- Defaults for By Year Tab -->
- <xsl:when test="env/param[@name='m_sp_type']='yearly' or $defaultTab='yearly'">
- <xsl:if test="not(env/param[@name='sub_type'])">
- <param name="sub_type">relative</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_yearlyAbsoluteDay'])">
- <param name="m_sp_yearlyAbsoluteDay"><xsl:value-of select="env/param[@name='current_day']"/></param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_yearlyAbsoluteMonth'])">
- <param name="m_sp_yearlyAbsoluteMonth"><xsl:value-of select="env/param[@name='current_month']"/></param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_yearlyRelativeDay'])">
- <param name="m_sp_yearlyRelativeDay"><xsl:value-of select="xtsext:getDateInformation(string($timeZone), string('DAY_OF_WEEK'))"/></param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_yearlyRelativeWeek'])">
- <param name="m_sp_yearlyRelativeWeek"><xsl:value-of select="translate(xtsext:getDateInformation(string($timeZone), string('DAY_OF_WEEK_IN_MONTH')), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz' )"/></param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_yearlyRelativeMonth'])">
- <param name="m_sp_yearlyRelativeMonth"><xsl:value-of select="env/param[@name='current_month']"/></param>
- </xsl:if>
- <xsl:if test="not(key('env-param', 'm_sp_type'))">
- <param name="m_sp_type">yearly</param>
- </xsl:if>
- </xsl:when>
- <!-- Defaults for By Week Tab -->
- <xsl:when test="$defaultTab='weekly'">
- <xsl:if test="not(env/param[@name='m_sp_type'])">
- <param name="m_sp_type">weekly</param>
- </xsl:if>
- <xsl:if test="not(env/param[@name='m_sp_everyNweeks'])">
- <param name="m_sp_everyNweeks">1</param>
- </xsl:if>
- <xsl:if test="not(env/param[starts-with(@name,'m_sp_weekly')])">
- <xsl:variable name="day_of_week">
- <xsl:value-of select="xtsext:getDateInformation(string($timeZone),string('DAY_OF_WEEK'))"/>
- </xsl:variable>
- <param>
- <xsl:choose>
- <xsl:when test="$day_of_week='monday'">
- <xsl:attribute name="name">m_sp_weeklyMonday</xsl:attribute>
- </xsl:when>
- <xsl:when test="$day_of_week='tuesday'">
- <xsl:attribute name="name">m_sp_weeklyTuesday</xsl:attribute>
- </xsl:when>
- <xsl:when test="$day_of_week='wednesday'">
- <xsl:attribute name="name">m_sp_weeklyWednesday</xsl:attribute>
- </xsl:when>
- <xsl:when test="$day_of_week='thursday'">
- <xsl:attribute name="name">m_sp_weeklyThursday</xsl:attribute>
- </xsl:when>
- <xsl:when test="$day_of_week='friday'">
- <xsl:attribute name="name">m_sp_weeklyFriday</xsl:attribute>
- </xsl:when>
- <xsl:when test="$day_of_week='saturday'">
- <xsl:attribute name="name">m_sp_weeklySaturday</xsl:attribute>
- </xsl:when>
- <xsl:when test="$day_of_week='sunday'">
- <xsl:attribute name="name">m_sp_weeklySunday</xsl:attribute>
- </xsl:when>
- </xsl:choose>
- <xsl:text>true</xsl:text>
- </param>
- </xsl:if>
- </xsl:when>
- <xsl:when test="$defaultTab='trigger'">
- <xsl:if test="not(key('env-param', 'm_sp_type'))">
- <param name="m_sp_type">trigger</param>
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- <xsl:if test="not($defaultTab='trigger')">
- <xsl:if test="not(key('env-param', 'm_sp_intradayRecurrenceIntervalNum'))">
- <param name="m_sp_intradayRecurrenceIntervalNum">1</param>
- </xsl:if>
- <xsl:if test="not(key('env-param', 'p_intradayRecurrenceStart'))">
- <param name="p_intradayRecurrenceStart">09:00:00</param>
- </xsl:if>
- <xsl:if test="not(key('env-param', 'p_intradayRecurrenceEnd'))">
- <param name="p_intradayRecurrenceEnd">17:00:00</param>
- </xsl:if>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
|