12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- IBM Cognos Products: ps
- (C) Copyright IBM Corp. 2005, 2014
- 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:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:up="http://develop.cognos.com/schemas/upfront/"
- xmlns:mvc="http://developer.cognos.com/schemas/xts/mvc"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:cps="http://developer.cognos.com/schemas/cps/asm/objects/1/"
- exclude-result-prefixes="SOAP-ENC xtsext xsd xsi bus xts send up cm pf cps">
-
- <xsl:output method="xml" version="1.0" encoding="UTF-8" omit-xml-declaration="yes" indent="no"/>
- <!-- xsl keys -->
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:key name="session-param" match="/root/session/param" use="@name"/>
-
- <!-- Some general session info -->
- <xsl:variable name="isAdminUser" select="boolean(key('session-param','capabilities')/canUseAdministrationPortal)"/>
-
- <!-- MVC -->
- <pf:mvc-variables/>
- <!-- view modes in CC navigation and search -->
- <!--
- *
- * portal.navigationView = {detailedlist|newspaper}
- * default: detailedlist
- * Note: newspaper mode is being deprecated!
- *
- -->
- <xsl:variable name="defaultNavigationView">
- <xsl:choose>
- <xsl:when test="key('session-param', 'displayMode') = 'detail' and /root/configProps/param[@name='cc.nav']/property[@name='portal.navigationView']='newspaper'">newspaper</xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="key('session-param', 'displayMode')"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Start consumer portal params -->
- <!-- ========================================================== -->
- <!-- Converted path to id. Happens when we pull a path out of CM (since we can't store ids in CM) -->
- <xsl:variable name="m_tab_id">
- <xsl:choose>
- <xsl:when test="string(/root/tabPath_id/cm:queryResponse/cm:pagelet/cm:storeID) != ''">
- <xsl:value-of select="string(/root/tabPath_id/cm:queryResponse/cm:pagelet/cm:storeID)"/>
- </xsl:when>
- <xsl:when test="/root/tabPath_id">
- <xsl:value-of select="'null'"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:variable name="publicRootID" select="key('session-param', 'prootid')"/>
- <xsl:variable name="privateRootID" select="key('session-param', 'mrootid')"/>
- <!-- The root of public folders -->
- <xsl:variable name="PFRoot">/content</xsl:variable>
- <!-- Account -->
- <xsl:variable name="accountID" select="key('session-param', 'e_hp')"/>
- <!-- Fully qualified personal folder path form -->
- <xsl:variable name="FQMFRoot" select="key('session-param', 'e_mrootpath')"/>
-
- <!--
- A variable that indicates if we are browsing a user private folder other than the current user.
- This might occur if we build a back url with one user logged in,
- then the logged in user changes because of a timeout and the back url is invoked with the new user.
- -->
- <xsl:variable name="is-browsing-updated-user-folder" select="key('env-param', 'mfid') != '' and $privateRootID != '' and not(string(key('env-param', 'mfid')) = $privateRootID)"/>
- <!-- The public folders path to default to. -->
- <xsl:variable name="defaultContentRoot">
- <xsl:choose>
- <xsl:when test="key('session-param', 'e_root') and key('session-param', 'e_root') != ''">
- <xsl:value-of select="key('session-param', 'e_root')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$PFRoot"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Series 7 navigation newsbox -->
- <xsl:variable name="r_S7nbID" select="string(key('env-param', 'm_nbid'))"/>
- <!-- Navigation folder ID in the request context -->
- <xsl:variable name="r_folderID">
- <xsl:choose>
- <xsl:when test="$is-browsing-updated-user-folder">
- <!-- The private folder id has changed since we last built this url. Default to the current private folder id. -->
- <xsl:value-of select="$privateRootID"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="string(key('env-param', 'm_folder'))"/>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:variable>
-
- <!-- CM search path as derived from the request context -->
- <xsl:variable name="r_path">
- <xsl:choose>
- <!-- If an id is passed in then morph it into a storeID(" ... ") format -->
- <xsl:when test="$r_folderID != ''">
- <xsl:value-of select="concat('storeID("', $r_folderID, '")')"/>
- </xsl:when>
- <!-- Gracefully recover from malformed searchpath -->
- <xsl:when test="starts-with(string(key('env-param', 'm_path')), 'XSSSTART')">
- <xsl:value-of select="$defaultContentRoot"/>
- </xsl:when>
- <!-- xpath-style path -->
- <xsl:when test="string(key('env-param', 'm_path')) != ''">
- <xsl:value-of select="string(key('env-param', 'm_path'))"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Page/tab ID as derived from the request context (in the order of precedence) -->
- <xsl:variable name="r_pageID">
- <xsl:choose>
- <xsl:when test="$m_tab_id != '' and $m_tab_id != 'null'">
- <xsl:value-of select="$m_tab_id"/>
- </xsl:when>
- <xsl:when test="string(key('env-param', 'm_page')) != ''">
- <xsl:value-of select="string(key('env-param', 'm_page'))"/>
- </xsl:when>
- <xsl:when test="string(key('env-param', 'm_tab_override')) != ''">
- <xsl:value-of select="string(key('env-param', 'm_tab_override'))"/>
- </xsl:when>
- <xsl:when test="key('env-param', 'm_tab') and $is-browsing-updated-user-folder">
- <!-- The private folder id has changed since we last built this url. Default to the current private folder id. -->
- <xsl:value-of select="$privateRootID"/>
- </xsl:when>
- <xsl:when test="string(key('env-param', 'm_tab')) != ''">
- <xsl:value-of select="string(key('env-param', 'm_tab'))"/>
- </xsl:when>
- <xsl:when test="string(key('env-param', 'm_portlet')) != ''">
- <xsl:text>portlet</xsl:text>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <!--
- Effective page/tab ID - If we don't, that means that:
- a)there are no visible portal tabs. or
- b) we are navigating **into** PF/MF (i.e. not at the root)
- -->
- <xsl:variable name="pageID">
- <xsl:choose>
- <!-- Support old style "PF/MF/Welcome" tabs -->
- <xsl:when test="$r_pageID = 'p'">
- <xsl:value-of select="$publicRootID"/>
- </xsl:when>
- <xsl:when test="$r_pageID = 'm'">
- <xsl:value-of select="$privateRootID"/>
- </xsl:when>
- <xsl:when test="$r_pageID = 'w' and key('session-param', 'dcid') != ''">
- <xsl:value-of select="key('session-param', 'dcid')"/>
- </xsl:when>
- <xsl:when test="$r_pageID != ''">
- <xsl:value-of select="$r_pageID"/>
- </xsl:when>
- <!-- No page id is passed in the request. Try and determine the page from the path context (i.e. PF/MF) -->
- <!-- Navigation into PF root -->
- <xsl:when test="$r_folderID != '' and ($r_folderID = $publicRootID)">
- <xsl:value-of select="$publicRootID"/>
- </xsl:when>
- <!-- Navigation into MF root -->
- <xsl:when test="$r_folderID != '' and ($r_folderID = $privateRootID)">
- <xsl:value-of select="$privateRootID"/>
- </xsl:when>
- <!-- Other navigation into PF/MF - leave the page id blank -->
- <xsl:when test="$r_path != '' or $r_S7nbID != ''"></xsl:when>
-
- <!-- Special case: Home command pointing to a none-existant custom page using a searchPath. Don't set the page ID to force an error. -->
- <xsl:when test="$r_pageID = '' and $m_tab_id = 'null'"/>
- <!-- Last resort - Use the first tab in the user's portal tabs -->
- <xsl:when test="key('session-param', 'dcid') != ''">
- <xsl:value-of select="key('session-param', 'dcid')"/>
- </xsl:when>
- <!-- No page context. -->
- </xsl:choose>
- </xsl:variable>
-
-
- <!-- Page type flags -->
- <xsl:variable name="isCustomPage" select="$pageID != '' and $pageID != $publicRootID and $pageID != $privateRootID"/>
- <xsl:variable name="isPFMF" select="($pageID = '' and ($r_path != '' or $r_S7nbID != '')) or $pageID = $publicRootID or $pageID = $privateRootID"/>
- <xsl:variable name="isCustomPageSearch" select="$isCustomPage and /root/search"/>
- <xsl:variable name="cpstarget-param" select="key('env-param', 'cpstarget')"/>
- <xsl:variable name="pageType">
- <xsl:choose>
- <xsl:when test="$cpstarget-param">custom</xsl:when>
- <xsl:when test="$isCustomPageSearch">customsearch</xsl:when>
- <xsl:when test="$isCustomPage">custom</xsl:when>
- <xsl:when test="$isPFMF">PFMF</xsl:when>
- <xsl:otherwise><!-- we don't know - leave blank --></xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- Effective navigation path - This is the path used in a CM query -->
- <xsl:variable name="path">
- <xsl:choose>
- <xsl:when test="$pageType = 'customsearch'">
- <!-- Pretend to be on MF page when running a search query in a custom page -->
- <xsl:value-of select="$FQMFRoot"/>
- </xsl:when>
- <!-- We have a path in the request -->
- <xsl:when test="$r_path != ''">
- <xsl:value-of select="$r_path"/>
- </xsl:when>
- <!-- We don't have a path in the request but we are showing the PF tab. Set the navigation to the default root. -->
- <xsl:when test="$pageID = $publicRootID">
- <xsl:value-of select="$defaultContentRoot"/>
- </xsl:when>
- <!-- We don't have a path in the request but we are showing the MF tab. Set the navigation to the default MF root. -->
- <xsl:when test="$pageID = $privateRootID">
- <xsl:value-of select="concat('storeID("', $privateRootID, '")')"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
-
- <!-- Page viewer vs. portal -->
- <xsl:variable name="displayMode">
- <xsl:choose>
- <xsl:when test="$pageID != '' and key('env-param', 'm_page') and not(key('env-param', 'm_tab')) and not(key('env-param', 'm_tab_override'))">viewer</xsl:when>
- <xsl:when test="$pageID = 'portlet'">viewer</xsl:when>
- <xsl:otherwise>portal</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- End consumer portal params -->
-
-
-
- <!-- Start S7 integration params -->
- <!-- ========================================================== -->
- <!-- indicates if we navigating within an Upfront Newsbox -->
- <xsl:variable name="isNBIDInContext" select="$r_S7nbID != '' and $isPFMF"/>
- <xsl:variable name="isPublicRootNavigation" select="($path = $PFRoot or $path = concat('storeID("', $publicRootID, '")')) and $isPFMF"/>
- <xsl:variable name="isPersonalRootNavigation" select="($path = $FQMFRoot or $path = '~/folder' or $path = concat('storeID("', $privateRootID, '")')) and $isPFMF"/>
-
- <xsl:variable name="getUpfrontContent"
- select="(/root/setCookies/cookie[@name='AS_TICKET'] or /root/cookies/cookie[@name='AS_TICKET'])
- and
- key('session-param', 's7e')
- and
- ($isPublicRootNavigation or $isPersonalRootNavigation or $isNBIDInContext)"/>
-
- <!-- End S7 integration params -->
-
-
-
-
- <!-- Start cache control params -->
- <!-- ========================================================== -->
- <!--
- Don't add any cache validation control (pretend that caching is not enabled) if we are:
- - generating a response to a post request or
- - generating a response that has Series7 content in it or
- - doing an index search
- -->
- <!-- Current CC ETag -->
- <xsl:variable name="index_search" select="string(/root/search/navSearchSpec/*[local-name()='searchType']) = 'content'"/>
- <xsl:variable name="ccCanCache" select="not(key('session-param', 'no304')) and /root/http/param[@name='REQUEST_METHOD'] = 'GET' and not($getUpfrontContent) and not($index_search)"/>
- <xsl:variable name="passport" select="/root/credential/param[@name='CAM']/*[local-name() ='CAM']/*[local-name() = 'CAMPassport']/*[local-name() = 'id']"/>
- <xsl:variable name="uiState"><xsl:value-of select="/root/session"/></xsl:variable>
- <xsl:variable name="ccETag">
- <xsl:choose>
- <xsl:when test="$ccCanCache and /root/cookies/cookie[@name='cc_session'] !='' and not(key('env-param', 'refresh')) and not(key('env-param', 'm_reload'))">
- <xsl:value-of select="xtsext:checksum(concat($passport, $uiState))"/>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="cc-val" select="substring-after(substring-before(/root/http/param[@name='IF-NONE-MATCH'], ':'), '"')"/>
- <xsl:variable name="ccETagUsable" select="$ccCanCache and string($cc-val) = string($ccETag)"/>
- <xsl:variable name="content-val" select="substring-before(substring-after(/root/http/param[@name='IF-NONE-MATCH'], ':'), '"')"/>
- <xsl:variable name="content-validator">
- <xsl:if test="string($content-val) != '' and $ccETagUsable">
- <xsl:value-of select="$content-val"/>
- </xsl:if>
- </xsl:variable>
- <!-- End cache control params -->
-
-
-
-
-
- <xsl:template match="/root">
- <cml:object-predicates/>
- <xts:sequence>
-
- <!-- If we have a tab override then make sure it becomes the current context tab. -->
- <xsl:if test="key('env-param', 'm_tab_override')">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_tab')">
- <xts:replace select="/root/env/param[@name='m_tab']">
- <param name="m_tab"><xsl:value-of select="key('env-param', 'm_tab_override')"/></param>
- </xts:replace>
- </xsl:when>
- <xsl:otherwise>
- <xts:append select="/root/env">
- <param name="m_tab"><xsl:value-of select="key('env-param', 'm_tab_override')"/></param>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- <!-- If we have a tab path that was previously converted to id then set the current tab to that id and adjust the environment accordingly so that the state can be correctly calculated. -->
- <xsl:if test="/root/tabPath_id">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_tab')">
- <xts:replace select="/root/env/param[@name='m_tab']">
- <param name="m_tab"><xsl:value-of select="/root/tabPath_id/*/*/cm:storeID"/></param>
- </xts:replace>
- </xsl:when>
- <xsl:otherwise>
- <xts:append select="/root/env">
- <param name="m_tab"><xsl:value-of select="/root/tabPath_id/*/*/cm:storeID"/></param>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:if>
-
- <!-- Start CPS params -->
- <!-- ========================================================== -->
- <xsl:variable name="portlet-param" select="key('env-param', 'm_portlet')"/>
- <xsl:variable name="cps-package">
- <xsl:choose>
- <xsl:when test="$pageID = 'portlet'">
- <xsl:value-of select="concat('/', substring-before(substring-after($portlet-param, '/'), '/'))"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>/connection</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="cps-pagelet">
- <xsl:choose>
- <xsl:when test="$pageID = 'portlet'">
- <xsl:value-of select="concat('/', substring-after(substring-after($portlet-param, '/'), '/'))"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="concat('/', $pageID)"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="cps-path" select="concat($cps-package, $cps-pagelet)"/>
- <xsl:variable name="page-state-param" select="key('env-param', 'm_state')"/>
- <xsl:variable name="page-state">
- <xsl:if test="$page-state-param">
- <xsl:value-of select="$page-state-param"/>
- </xsl:if>
- </xsl:variable>
- <!--
- This variable is used to check if the state is specified on the url.
- 'false' means that we need to get the pagelet state from cm.
- -->
- <xsl:variable name="is-page-state-param" select="$page-state-param"/>
- <xsl:variable name="is-page-state-id" select="starts-with($page-state, 'ID:')"/>
- <!-- delete cpstarget -->
- <xsl:if test="$cpstarget-param">
- <xts:delete select="/root/env/param[@name = 'cpstarget']"/>
- </xsl:if>
- <!-- End CPS params -->
-
-
-
-
-
- <!-- Execute the request -->
-
- <xsl:choose>
- <xsl:when test="$is-page-state-id">
- <xts:append>
- <state>
- <id>
- <xsl:value-of select="$page-state"/>
- </id>
- </state>
- </xts:append>
- </xsl:when>
- <xsl:when test="$is-page-state-param">
- <xts:append>
- <state>
- <cps:pageletContext>
- <cps:path>
- <xsl:value-of select="$cps-path"/>
- </cps:path>
- <cps:state>
- <xsl:value-of select="$page-state"/>
- </cps:state>
- </cps:pageletContext>
- </state>
- </xts:append>
- </xsl:when>
- </xsl:choose>
-
- <xts:append>
- <!-- Portal Pages -->
- <!-- ========================================================================= -->
- <TDS-response>
- <xsl:element name="queryReply" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:element name="runTimeState" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xts:function name="TDSRequest">
- <xts:param name="action">get</xts:param>
- <xts:param name="session-id"><xsl:value-of select="$passport"/></xts:param>
- <xts:param name="name"><xsl:value-of select="'ccPages'"/></xts:param>
- </xts:function>
- </xsl:element>
- </xsl:element>
- <xsl:if test="$pageType = 'custom'">
- <xsl:variable name="package-name" select="xtsext:web64encode($cps-package, false())"/>
- <xsl:variable name="pagelet-name" select="xtsext:web64encode($cps-path, false())"/>
- <xsl:element name="queryReply" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:element name="runTimeState" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xts:function name="TDSRequest">
- <xts:param name="action">get</xts:param>
- <xts:param name="session-id"><xsl:value-of select="$passport"/></xts:param>
- <xts:param name="map-id"><xsl:value-of select="'portlets'"/></xts:param>
- <xts:param name="name"><xsl:value-of select="$package-name"/></xts:param>
- </xts:function>
- </xsl:element>
- </xsl:element>
- <xsl:choose>
- <xsl:when test="$is-page-state-id">
- <xsl:element name="queryReply" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:element name="runTimeState" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xts:function name="TDSRequest">
- <xts:param name="action">get</xts:param>
- <xts:param name="session-id"><xsl:value-of select="$passport"/></xts:param>
- <xts:param name="map-id"><xsl:value-of select="'portlets'"/></xts:param>
- <xts:param name="name"><xsl:value-of select="$page-state"/></xts:param>
- </xts:function>
- </xsl:element>
- </xsl:element>
- </xsl:when>
- <xsl:when test="not($displayMode = 'viewer' or $is-page-state-param)">
- <xsl:element name="queryReply" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xsl:element name="runTimeState" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <xts:function name="TDSRequest">
- <xts:param name="action">get</xts:param>
- <xts:param name="session-id"><xsl:value-of select="$passport"/></xts:param>
- <xts:param name="map-id"><xsl:value-of select="'portlets'"/></xts:param>
- <xts:param name="name"><xsl:value-of select="$pagelet-name"/></xts:param>
- </xts:function>
- </xsl:element>
- </xsl:element>
- </xsl:when>
- </xsl:choose>
- </xsl:if>
- </TDS-response>
- </xts:append>
-
- <xts:append>
-
- <!-- Share the the page context information calculated above with other blocks -->
- <page>
- <id><xsl:value-of select="$pageID"/></id>
- <type><xsl:value-of select="$pageType"/></type>
- <navPath><xsl:value-of select="$path"/></navPath>
- <displayMode><xsl:value-of select="$displayMode"/></displayMode>
- <defaultContentRoot><xsl:value-of select="$defaultContentRoot"/></defaultContentRoot>
- <cache>
- <ccETag><xsl:value-of select="$ccETag"/></ccETag>
- <ccCanCache><xsl:value-of select="string($ccCanCache)"/></ccCanCache>
- <ccETagUsable><xsl:value-of select="string($ccETagUsable)"/></ccETagUsable>
- <contentValidator><xsl:value-of select="$content-validator"/></contentValidator>
- </cache>
- </page>
-
- <!-- Get general "advanced settings" configuration -->
- <generalConfigSettings>
- <xts:function name="getConfiguration">
- <xts:param name="portal.disablecmsearch"/>
- <xts:param name="portal.launchBusinessInsightChromeless"/>
- <xts:param name="edition"/>
- </xts:function>
- </generalConfigSettings>
-
- <!-- Get configuration information (used for PP objects) -->
- <gatewayURI>
- <xts:function name="getConfiguration">
- <xts:param name="gateway"/>
- </xts:function>
- </gatewayURI>
-
- <!-- MVC - read mvc configuration settings -->
- <xsl:if test="$mvc-N-enabled and not(/root/mvcSettings)">
- <mvcSettings>
- <xts:function name="getConfiguration">
- <xts:param name="MVC_remoteGateway"/>
- <xts:param name="MVC_remoteWebContent"/>
- <xts:param name="MVC_domain"/>
- <xts:param name="MVC_disableAutoLogOn"/>
- </xts:function>
- </mvcSettings>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="not($isNBIDInContext) and ($path != '' or key('env-param', 'search')) and ($isPFMF or $isCustomPageSearch)">
- <cmContent>
- <send:request provider="cm2" postxslt="transforms/CM/post-process-main.xslt" requester="ps:cc.main.nav">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsd:dummy="">
- <requests xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:queryRequest[]">
-
-
- <!-- Fetch data for PF or MF if we are showing PF/MF tabs or and we have a none-empty searchPath or we are in search mode. -->
- <!-- <xsl:if test="not($isNBIDInContext) and ($path != '' or key('env-param', 'search')) and ($isPFMF or $isCustomPageSearch)"> -->
-
- <xsl:variable name="maxObjects">
- <xsl:if test="($defaultNavigationView = 'list' or $defaultNavigationView = 'detail') or string(search/expression)!=''">
- <xsl:choose>
- <xsl:when test="/root/search/expression">
- <xsl:choose>
- <xsl:when test="string(key('env-param','m_pagertosearch')) !='' and string(key('env-param','m_pagerfromsearch')) !=''"><xsl:value-of select="key('env-param','m_pagertosearch') - key('env-param','m_pagerfromsearch') + 1"/>
- </xsl:when>
- <xsl:when test="string(key('session-param', 'linesPerPage'))!=''">
- <xsl:value-of select="key('session-param', 'linesPerPage')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>15</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="string(key('env-param','m_pagerto')) !='' and string(key('env-param','m_pagerfrom')) !=''"><xsl:value-of select="key('env-param','m_pagerto') - key('env-param','m_pagerfrom') + 1"/></xsl:when>
- <xsl:when test="string(key('session-param', 'linesPerPage'))!=''">
- <xsl:value-of select="key('session-param', 'linesPerPage')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>15</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:variable>
-
- <xsl:variable name="m_sort" select="key('session-param', 's_cc')"/>
-
- <xsl:variable name="skipObjects">
- <xsl:choose>
- <xsl:when test="($defaultNavigationView = 'list' or $defaultNavigationView = 'detail') or string(search/expression) != ''">
- <xsl:choose>
- <xsl:when test="/root/search/expression">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_pagerfromsearch') and string(key('env-param', 'm_pagerfromsearch'))!=''">
- <xsl:value-of select="(key('env-param','m_pagerfromsearch'))-1"/>
- </xsl:when>
- <xsl:when test="key('env-param', 'm_searchsection') != ''">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_searchsection') != '-1'">
- <xsl:value-of select="((key('env-param', 'm_searchsection')) -1)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="($maxObjects) * -1"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_pagerfrom') and string(key('env-param', 'm_pagerfrom'))!=''"><xsl:value-of select="(key('env-param','m_pagerfrom'))-1"/></xsl:when>
- <xsl:when test="key('env-param', 'm_section') != ''">
- <xsl:choose>
- <xsl:when test="key('env-param', 'm_section') != '-1'">
- <xsl:value-of select="((key('env-param', 'm_section')) -1)"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="($maxObjects) * -1"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:when>
- <xsl:otherwise>0</xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- Base search query for the current container properties -->
- <!-- =========================================================================-->
- <item xsi:type="cm:queryRequest">
- <search>
- <xsl:value-of select="$path"/>
- </search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">defaultName</item>
- <item xsi:type="cm:propEnum">tenantID</item>
- <item xsi:type="cm:propEnum">searchPath</item>
- <item xsi:type="cm:propEnum">ancestors</item>
- <item xsi:type="cm:propEnum">iconURI</item>
- <item xsi:type="cm:propEnum">packageBase</item>
- <item xsi:type="cm:propEnum">storeID</item>
- <item xsi:type="cm:propEnum">permissions</item>
- <item xsi:type="cm:propEnum">launchableType</item>
- <xsl:if test="$mvc-N-enabled">
- <item xsi:type="cm:propEnum">specification</item> <!-- MVC -->
- </xsl:if>
- <xsl:if test="key('session-param', 'pccEnabled')">
- <item xsi:type="cm:propEnum">effectiveUserCapabilities</item>
- </xsl:if>
- <item xsi:type="cm:propEnum">hidden</item>
- <xsl:if test="key('env-param', 'feed') = 'rss'">
- <item xsi:type="cm:propEnum">defaultDescription</item>
- </xsl:if>
- </properties>
- </item>
-
-
- <!-- Child objects if we are running a search query or we are inside of a folder -->
- <!-- ==================================================================================== -->
- <xsl:if test="search/expression or not(search)">
- <item xsi:type="cm:queryRequest">
- <search>
- <xsl:choose>
- <xsl:when test="search/expression">
- <xsl:value-of select="search/expression"/>
- </xsl:when>
- <xsl:otherwise>
- <!-- XTS queryValue was introduced as a preformance enhancement, simply add hidden-object-predicate to visible param value -->
- <xsl:value-of select="$path"/>/*<xts:queryValue select="/root/system/param[@name='visible']"/><xsl:value-of select="$hidden-objects-predicate"/>[@objectClass!='model' and @objectClass!='drillPath' and @objectClass!='packageConfiguration']<xsl:text/>
- </xsl:otherwise>
- </xsl:choose>
- </search>
-
- <!-- ===== Specify child object properties ===== -->
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">defaultName</item>
- <item xsi:type="cm:propEnum">tenantID</item>
- <item xsi:type="cm:propEnum">defaultOutputFormat</item>
- <item xsi:type="cm:propEnum">defaultPortalAction</item>
- <item xsi:type="cm:propEnum">mostRecentEventList</item>
- <item xsi:type="cm:propEnum">executionLocale</item>
- <item xsi:type="cm:propEnum">executionFormat</item>
- <item xsi:type="cm:propEnum">executionPrompt</item>
- <item xsi:type="cm:propEnum">searchPath</item>
- <item xsi:type="cm:propEnum">uri</item>
- <item xsi:type="cm:propEnum">iconURI</item>
- <item xsi:type="cm:propEnum">base</item>
- <xsl:if test="key('session-param', 'pccEnabled')">
- <item xsi:type="cm:propEnum">metadataModelPackage</item>
- <item xsi:type="cm:propEnum">effectiveUserCapabilities</item>
- </xsl:if>
- <item xsi:type="cm:propEnum">modificationTime</item>
- <item xsi:type="cm:propEnum">format</item>
- <item xsi:type="cm:propEnum">contentLocale</item>
- <item xsi:type="cm:propEnum">defaultScreenTip</item>
- <item xsi:type="cm:propEnum">permissions</item>
- <item xsi:type="cm:propEnum">metadata</item>
- <item xsi:type="cm:propEnum">usage</item>
- <item xsi:type="cm:propEnum">target</item><!-- shortcut objects -->
- <item xsi:type="cm:propEnum">disabled</item>
- <item xsi:type="cm:propEnum">hasPrompts</item>
- <item xsi:type="cm:propEnum">gateway</item>
- <item xsi:type="cm:propEnum">cubeContentName</item>
- <item xsi:type="cm:propEnum">options</item>
- <item xsi:type="cm:propEnum">userInterfaces</item>
- <item xsi:type="cm:propEnum">documentType</item>
- <item xsi:type="cm:propEnum">storeID</item>
- <item xsi:type="cm:propEnum">dataType</item>
- <item xsi:type="cm:propEnum">launchableType</item>
- <item xsi:type="cm:propEnum">hidden</item>
- <xsl:choose>
- <xsl:when test="key('env-param', 'feed') = 'rss'">
- <item xsi:type="cm:propEnum">defaultDescription</item>
- </xsl:when>
- <xsl:when test="($defaultNavigationView = 'list' or $defaultNavigationView = 'detail') or string(search/expression) != ''">
- <item xsi:type="cm:propEnum">position</item>
- <xsl:if test="$defaultNavigationView = 'detail'">
- <item xsi:type="cm:propEnum">defaultDescription</item>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <item xsi:type="cm:propEnum">defaultDescription</item>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- If we are doing search then ask for ancestors too -->
- <xsl:if test="search/expression">
- <item xsi:type="cm:propEnum">ancestors</item>
- </xsl:if>
- </properties>
- <!-- ===== Query options ===== -->
- <options xsi:type="cm:queryOptions">
- <!-- Add paging attributes if we are in list mode -->
- <xsl:if test="($defaultNavigationView = 'list' or $defaultNavigationView = 'detail') or string(search/expression) != ''">
- <maxObjects xsi:type="xsd:integer"><xsl:value-of select="$maxObjects + 1"/></maxObjects>
- <skipObjects xsi:type="xsd:integer"><xsl:value-of select="$skipObjects"/></skipObjects>
- </xsl:if>
-
- <!-- Specify which properties to retrieve for referenced objects like shortcuts and report views -->
- <refProps xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:refProp[]">
- <item xsi:type="cm:refProp">
- <refPropName xsi:type="cm:propEnum">target</refPropName>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">searchPath</item>
- <item xsi:type="cm:propEnum">defaultName</item>
- <item xsi:type="cm:propEnum">defaultOutputFormat</item>
- <item xsi:type="cm:propEnum">defaultPortalAction</item>
- <item xsi:type="cm:propEnum">mostRecentEventList</item>
- <item xsi:type="cm:propEnum">executionLocale</item>
- <item xsi:type="cm:propEnum">executionFormat</item>
- <item xsi:type="cm:propEnum">executionPrompt</item>
- <item xsi:type="cm:propEnum">uri</item>
- <item xsi:type="cm:propEnum">base</item>
- <item xsi:type="cm:propEnum">format</item>
- <item xsi:type="cm:propEnum">contentLocale</item>
- <item xsi:type="cm:propEnum">permissions</item>
- <item xsi:type="cm:propEnum">metadata</item>
- <item xsi:type="cm:propEnum">usage</item>
- <item xsi:type="cm:propEnum">disabled</item>
- <item xsi:type="cm:propEnum">userInterfaces</item>
- <item xsi:type="cm:propEnum">storeID</item>
- <item xsi:type="cm:propEnum">gateway</item>
- <item xsi:type="cm:propEnum">options</item>
- <item xsi:type="cm:propEnum">documentType</item>
- <item xsi:type="cm:propEnum">dataType</item>
- <item xsi:type="cm:propEnum">launchableType</item>
- </properties>
- </item>
-
- <!-- base info for reportView objects -->
- <item xsi:type="cm:refProp">
- <refPropName xsi:type="cm:propEnum">base</refPropName>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">searchPath</item>
- <item xsi:type="cm:propEnum">permissions</item>
- <item xsi:type="cm:propEnum">defaultOutputFormat</item>
- <item xsi:type="cm:propEnum">executionFormat</item>
- <item xsi:type="cm:propEnum">defaultPortalAction</item>
- <item xsi:type="cm:propEnum">mostRecentEventList</item>
- <item xsi:type="cm:propEnum">disabled</item>
- <item xsi:type="cm:propEnum">storeID</item>
- </properties>
- </item>
-
- <!-- package for report objects -->
- <xsl:if test="key('session-param', 'pccEnabled')">
- <item xsi:type="cm:refProp">
- <refPropName xsi:type="cm:propEnum">metadataModelPackage</refPropName>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">effectiveUserCapabilities</item>
- </properties>
- </item>
- </xsl:if>
- </refProps>
- </options>
-
- <!-- ===== Specify sort options if we are not doing a search on ALL (public and personal) folders ===== -->
- <sortBy xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:sort[]">
- <xsl:if test="key('session-param', 'eom') != '2'">
- <xsl:choose>
- <xsl:when test="key('session-param', 'eom') = '0'">
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">usage</propName>
- <order xsi:type="cm:orderEnum">ascending</order>
- </item>
- </xsl:when>
- <xsl:otherwise>
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">usage</propName>
- <order xsi:type="cm:orderEnum">descending</order>
- </item>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="$m_sort = 'da'">
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">modificationTime</propName>
- <order xsi:type="cm:orderEnum">ascending</order>
- </item>
- </xsl:when>
- <xsl:when test="$m_sort = 'dd'">
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">modificationTime</propName>
- <order xsi:type="cm:orderEnum">descending</order>
- </item>
- </xsl:when>
- <xsl:when test="$m_sort = 'nd'">
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">defaultName</propName>
- <order xsi:type="cm:orderEnum">descending</order>
- </item>
- </xsl:when>
- <xsl:when test="$m_sort = 'na'">
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">defaultName</propName>
- <order xsi:type="cm:orderEnum">ascending</order>
- </item>
- </xsl:when>
- <xsl:otherwise>
- <xsl:if test="not(search/expression)">
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">displaySequence</propName>
- <order xsi:type="cm:orderEnum">descending</order>
- </item>
- </xsl:if>
- <item xsi:type="cm:sort">
- <propName xsi:type="cm:propEnum">defaultName</propName>
- <order xsi:type="cm:orderEnum">ascending</order>
- </item>
- </xsl:otherwise>
- </xsl:choose>
- </sortBy>
- </item>
- </xsl:if>
- <!-- </xsl:if> -->
- </requests>
-
- <!--
- Calculate the value of the validator tag. If caching is turned on then perform a check to see if we need to send the validator tag to CM.
- Otherwise leave this var empty. This only applies to the the content tabs (PF/MF) only.
- -->
- <xsl:if test="$isPFMF or $isCustomPageSearch">
- <!-- Add the options element with a cache validator -->
- <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:queryMultipleOptions">
- <cacheValidator xsi:type="xsd:string"><xsl:value-of select="$content-validator"/></cacheValidator>
- </options>
- </xsl:if>
- </cm:query>
- </send:request>
- </cmContent>
- </xsl:when>
- <xsl:otherwise>
- <cmContent>
- <queryResponse xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
- <xsl:element name="queryReply" xmlns="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"/>
- </queryResponse>
- </cmContent>
- </xsl:otherwise>
- </xsl:choose>
- </xts:append>
-
- <xts:insert select="/root/*[local-name()='cmContent']/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]">
- <xts:queryNode select="/root/TDS-response/*"/>
- </xts:insert>
- <!-- Do clean up -->
- <xts:delete select="/root/env/param[starts-with(@name,'pager')]"/>
- <xts:delete select="/root/*[local-name()='TDS-response']"/>
-
- </xts:sequence>
-
-
- <!-- Get Upfront data -->
- <xsl:if test="$getUpfrontContent = 'true'">
-
- <xsl:variable name="ticket">
- <xsl:choose>
- <xsl:when test="string(setCookies/cookie[@name='AS_TICKET']) != ''">
- <xsl:value-of select="setCookies/cookie[@name='AS_TICKET']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="cookies/cookie[@name='AS_TICKET']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <xts:sequence>
- <xsl:if test="substring-after(key('env-param', 'm_nbid'), '-') = ''">
- <!-- get the system or user information (root newsboxid or personal newsboxid) -->
- <xts:append>
- <xts:transform src="transforms/upfront/post-process.xslt" processor="XSLT">
- <xts:request protocol="COGX" href="cogx://upfront" faultBlock="generic-fb">
- <xts:param name="host"><xts:queryValue select="/root/system/param[@name='series7']/host"/></xts:param>
- <xts:param name="port"><xts:queryValue select="/root/system/param[@name='series7']/port"/></xts:param>
- <xts:param name="encoding"><xts:queryValue select="/root/system/param[@name='series7']/encoding"/></xts:param>
- <envelope xmlns="http://developer.cognos.com/schemas/cogx/">
- <routing xmlns="http://developer.cognos.com/schemas/cogx/">
- <apiversion>2.0</apiversion>
- <sender component="CC" version="1.0" msgversion="3.0"/>
- <target>upfront</target>
- </routing>
- <command xmlns="http://developer.cognos.com/schemas/cogx/">
- <apiversion>3.0</apiversion>
- <sender component="CC" version="1.0" msgversion="3.0"/>
- <messageattribute>
- <ticket>
- <xsl:value-of select="$ticket"/>
- </ticket>
- <language><xsl:value-of select="user/param[@name='productLocale']"/></language>
- <locale><xsl:value-of select="user/param[@name='contentLocale']"/></locale>
- <timezoneid><xsl:value-of select="user/param[@name='timeZoneID']"/></timezoneid>
- </messageattribute>
- <message>
- <xsl:choose>
- <xsl:when test="$isPublicRootNavigation">
- <DescribeSystem xmlns="http://developer.cognos.com/schemas/upfront/"/>
- </xsl:when>
- <xsl:otherwise>
- <DescribeUser xmlns="http://developer.cognos.com/schemas/upfront/"/>
- </xsl:otherwise>
- </xsl:choose>
- </message>
- </command>
- </envelope>
- </xts:request>
- </xts:transform>
- </xts:append>
- </xsl:if>
-
- <xts:append>
- <upfContent>
- <xts:transform src="transforms/upfront/post-process.xslt" processor="XSLT">
- <root>
- <pr>
- <xsl:value-of select="key('session-param', 'e_proot')"/>
- </pr>
- <mr>
- <xsl:value-of select="key('session-param', 'e_mroot')"/>
- </mr>
- <prid>
- <xsl:value-of select="key('session-param', 'prootid')"/>
- </prid>
- <mrid>
- <xsl:value-of select="key('session-param', 'mrootid')"/>
- </mrid>
- <mfpath>
- <xsl:value-of select="key('session-param', 'e_mrootpath')"/>
- </mfpath>
- <tab>
- <xsl:choose>
- <xsl:when test="substring-before(key('env-param', 'm_nbid'), '-') != ''"><xsl:value-of select="substring-before(key('env-param', 'm_nbid'), '-')"/></xsl:when>
- <xsl:when test="$isPublicRootNavigation">p</xsl:when>
- <xsl:otherwise>m</xsl:otherwise>
- </xsl:choose>
- </tab>
- <nbid>
- <xsl:value-of select="substring-after(env/param[@name='m_nbid'], '-')"/>
- </nbid>
- <xts:request protocol="COGX" href="cogx://upfront" faultBlock="generic-fb">
- <xts:param name="host"><xts:queryValue select="/root/system/param[@name='series7']/host"/></xts:param>
- <xts:param name="port"><xts:queryValue select="/root/system/param[@name='series7']/port"/></xts:param>
- <xts:param name="encoding"><xts:queryValue select="/root/system/param[@name='series7']/encoding"/></xts:param>
- <envelope xmlns="http://developer.cognos.com/schemas/cogx/">
- <routing xmlns="http://developer.cognos.com/schemas/cogx/">
- <apiversion>2.0</apiversion>
- <dispatcher did="cogx://upfront:8030"/>
- <sender component="CC" version="1.0" msgversion="3.0"/>
- <target>upfront</target>
- </routing>
- <command xmlns="http://developer.cognos.com/schemas/cogx/">
- <apiversion>3.0</apiversion>
- <sender component="CC" version="1.0" msgversion="3.0"/>
- <messageattribute>
- <ticket>
- <xsl:value-of select="$ticket"/>
- </ticket>
- <language><xsl:value-of select="user/param[@name='productLocale']"/></language>
- <locale><xsl:value-of select="user/param[@name='contentLocale']"/></locale>
- <timezoneid><xsl:value-of select="user/param[@name='timeZoneID']"/></timezoneid>
- </messageattribute>
- <message>
- <xsl:choose>
- <xsl:when test="upfSearch">
- <xts:queryNode select="upfSearch/*"/>
- </xsl:when>
- <xsl:otherwise>
- <DescribeNewsbox xmlns="http://developer.cognos.com/schemas/upfront/">
- <Id>
- <xsl:choose>
- <xsl:when test="substring-after(env/param[@name='m_nbid'], '-') != ''">
- <xsl:value-of select="substring-after(key('env-param', 'm_nbid'), '-')"/>
- </xsl:when>
- <xsl:when test="$isPublicRootNavigation"><xts:queryValue select="/root/*[local-name()='system']/BaseNewsBoxId"/></xsl:when>
- <xsl:otherwise><xts:queryValue select="/root/*[local-name()='user']/PersonalNewsBoxID"/></xsl:otherwise>
- </xsl:choose>
- </Id>
- <Module name="base"/>
- <Module name="UpdateDate"/>
- <Module name="CreateDate"/>
- </DescribeNewsbox>
- </xsl:otherwise>
- </xsl:choose>
- </message>
- </command>
- </envelope>
- </xts:request>
- </root>
- </xts:transform>
- </upfContent>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
|