123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed Materials - Property of IBM
- BI and PM: qs
- (C) Copyright IBM Corp. 2001, 2017
- 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).
- -->
- <xts:morphlet version="1.0" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" messageBase="messages/QSRVUITextPL.xml,messages/portal.xml,messages/portalRL.xml" requiredCapability="canUseQueryStudio">
- <xts:block id="parseURL" path="qs/logicsheets/parseURL.xslt" type="exec" processor="XSLT" mandatory="false" nodelist="env"/>
- <!-- Perform all CM requests here. This ensures we only create one CM conversation and
- makes things much faster.
- -->
- <xts:block id="generateCMRequest" mode="interpret" processor="XSLT" type="exec" mandatory="false" nodelist="env, system, header"
-
- >
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <cmResponse>
- <send:request provider="cm2">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsd:dummy="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <requests xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:queryRequest[]">
-
- <!-- Get information on the Last model of the package or query.
- If this is a new report, use ui.object since this is already a package.
- If it's a query object (an existing report) then use expandReferences on the query.
- -->
- <!-- If ui.cacheContext is empty then retrieve data from CM. -->
- <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
- <xsl:variable name="lastModelSearchPath">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='ui.action']='new'">
- <xsl:text/><xsl:value-of select="/root/env/param[@name='ui.object']"/>/model[last()]<xsl:text/>
- </xsl:when>
- <xsl:when test="/root/env/param[@name='ui.object']!=''">
- <xsl:text/>expandReferences(<xsl:value-of select="/root/env/param[@name='ui.object']"/>, @metadataModel)[last()]<xsl:text/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:if test="$lastModelSearchPath != ''">
- <item name="lastModel" xsi:type="cm:queryRequest">
- <search xsi:type="xsd:string">
- <xsl:text/><xsl:value-of select="$lastModelSearchPath"/><xsl:text/>
- </search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[2]">
- <item xsi:type="cm:propEnum">searchPath</item>
- <item xsi:type="cm:propEnum">modificationTime</item>
- <item xsi:type="cm:propEnum">packageBase</item>
- </properties>
- </item>
- </xsl:if>
- </xsl:if>
- <!-- get info from CM for namespaces -->
- <item name="namespace" xsi:type="cm:queryRequest">
- <search>/directory/*[@objectClass='namespace']<xts:transform name="XMLEncode"><xts:queryValue select="/root/system/param[@name='namespace_filter']"/></xts:transform></search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[3]">
- <item xsi:type="cm:propEnum">defaultName</item>
- <item xsi:type="cm:propEnum">permissions</item>
- <item xsi:type="cm:propEnum">active</item>
- </properties>
- </item>
-
- <!-- get info from CM for the ui.object. -->
- <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
- <xsl:if test="/root/env/param[@name='ui.object']!=''">
- <item name="ui.object" xsi:type="cm:queryRequest">
- <search><xsl:text/><xsl:value-of select="/root/env/param[@name='ui.object']"/><xsl:text/></search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[5]">
- <item xsi:type="cm:propEnum">effectiveUserCapabilities</item>
- <item xsi:type="cm:propEnum">metadataModel</item>
- <item xsi:type="cm:propEnum">metadataModelPackage</item>
- </properties>
- <options xsi:type="cm:queryOptions">
- <refProps xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:refProp[1]">
- <item xsi:type="cm:refProp">
- <refPropName xsi:type="cm:propEnum">metadataModel</refPropName>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[2]">
- <item xsi:type="cm:propEnum">parent</item>
- <item xsi:type="cm:propEnum">searchPath</item>
- </properties>
- </item>
- </refProps>
- </options>
- </item>
- </xsl:if>
- </xsl:if>
- </requests>
- </cm:query>
- </send:request>
- </cmResponse>
- </xts:append>
- <!-- If ui.cacheContext is not empty then call Content Manager Cache Service. -->
- <xsl:if test="/root/env/param[@name='ui.cacheContext']!=''">
- <xsl:if test="/root/env/param[@name='ui.object']!=''">
- <xts:append>
- <CMCacheResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <xts:request asText="true" href="bus://dispatcher" protocol="BUS" soapAction="http://www.ibm.com/xmlns/prod/cognos/contentManagerCacheService/201404/" responseEnvelope="false" outputHeader="true">
- <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Header>
- <bus:biBusHeader xsi:type="bus:biBusHeader">
- <xsl:copy-of select="/root/header/bus:biBusHeader/*"/>
- </bus:biBusHeader>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <cmCache:queryCache xmlns:cmCache="http://developer.cognos.com/schemas/contentManagerCacheService/1">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='ui.action']='new'">
- <bus:objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="/root/env/param[@name='ui.object']"/></bus:objectPath>
- <bus:searchType xsi:type="bus:classEnum">package</bus:searchType>
- </xsl:when>
- <xsl:otherwise>
- <bus:objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="/root/env/param[@name='ui.object']"/></bus:objectPath>
- <bus:searchType xsi:type="bus:classEnum">report</bus:searchType>
- </xsl:otherwise>
- </xsl:choose>
- <bus:entries xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:classEnum[2]">
- <item xsi:type="bus:classEnum">package</item>
- </bus:entries>
- <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[1]">
- <!-- Launch.xts has already validated -->
- <item xsi:type="bus:genericOptionXMLEncodedXML">
- <bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/contentManagerCacheOptionEnum#context</bus:name>
- <bus:value xsi:type="bus:xmlEncodedXML"><xsl:value-of select="/root/env/param[@name='ui.cacheContext']"/></bus:value>
- </item>
- </bus:options>
- </cmCache:queryCache>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </CMCacheResponse>
- </xts:append>
- <xts:append>
- <packageBase>
- <xts:queryNode select="/root/CMCacheResponse/*[local-name() = 'queryCacheResult']/result/objects/item/searchPath/*"/>
- </packageBase>
- <effectiveUserCapabilities>
- <xts:queryNode select="/root/CMCacheResponse/*[local-name() = 'queryCacheResult']/result/objects/item/effectiveUserCapabilities/*"/>
- </effectiveUserCapabilities>
- </xts:append>
- </xsl:if>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!-- Clean up the CM request done in generateCMRequest.
- This needs to be a new block because we need to run conditions on the nodes.
- -->
- <xts:block id="getCMResponse" mode="interpret" type="exec" dependency="generateCMRequest" condition=".[/root/env/param[@name='ui.cacheContext']='']" processor="XSLT" mandatory="false" nodelist="env, cmResponse, header" >
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <xsl:template match="/">
- <xts:sequence>
- <!-- Perform clean up on the elements so they are in the same structure as they were before -->
- <xts:append>
-
- <!-- Determine the packageBase to use and append it for later. -->
- <xsl:variable name="packageBase">
- <xsl:text/><xsl:value-of select="/root/cmResponse/cm:queryResponse/returns/item/queryResult/item/packageBase/value"/><xsl:text/>
- </xsl:variable>
- <packageBase>
- <xsl:copy-of select="/root/cmResponse/cm:queryResponse/returns/item/queryResult/item/packageBase/*"/>
- </packageBase>
-
- <!--
- If effectiveUserCapabilities is not yet available, use the packageBase of the model to find them
- Must do another cm call to find this. Add it to the CMResponse.
- -->
- <xsl:if test="$packageBase != '' and count(/root/cmResponse/cm:queryResponse/returns/item/queryResult/item/effectiveUserCapabilities/*) = 0">
- <cmResponse>
- <send:request provider="cm2">
- <cm:query>
- <search>
- <xsl:text/><xsl:value-of select="$packageBase"/><xsl:text/>
- </search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[1]">
- <item xsi:type="cm:propEnum">effectiveUserCapabilities</item>
- </properties>
- </cm:query>
- </send:request>
- </cmResponse>
- </xsl:if>
- </xts:append>
- <xts:append>
- <!-- Move the effectiveUserCapabilities to the root for convenience. Can be in two different tree structures. -->
- <effectiveUserCapabilities>
- <xts:queryNode select="/root/cmResponse/*[local-name() = 'queryResponse']/returns/item/queryResult/item/effectiveUserCapabilities/*"/>
- <xts:queryNode select="/root/cmResponse/*[local-name() = 'queryResponse']/queryResult/item/effectiveUserCapabilities/*"/>
- </effectiveUserCapabilities>
- </xts:append>
- <!-- This is to address a bug (or what appears to be a bug) with the expandReferences() call above. If the searchPath contains any "special" XML encoded
- characters, then the CM call returns nothing. In this case, we still need the lastModel information, so use the metadata package info. -->
- <xsl:if test="not(/root/cmResponse/cm:queryResponse/returns/item/queryResult/item[@xsi:type='cm:model']/modificationTime/value)">
- <xts:append>
- <xsl:variable name="metadataModelPackage">
- <xsl:value-of select="/root/cmResponse/cm:queryResponse/returns/item/queryResult/item/metadataModelPackage/value/item[@xsi:type='cm:package']/searchPath/value"/>
- </xsl:variable>
- <xsl:variable name="metadataModel">
- <xsl:value-of select="/root/cmResponse/cm:queryResponse/returns/item/queryResult/item/metadataModel/value/item/parent/value/item[@xsi:type='cm:package']/searchPath/value"/>
- </xsl:variable>
- <xsl:variable name="packagePath">
- <xsl:choose>
- <xsl:when test="$metadataModelPackage != ''">
- <xsl:value-of select="$metadataModelPackage"/>
- </xsl:when>
- <xsl:when test="$metadataModel != ''">
- <xsl:value-of select="$metadataModel"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
-
- <xsl:if test="$packagePath != ''">
- /root/cmResponse/cm:queryResponse/returns/item/queryResult/item[@xsi:type='cm:model']/modificationTime/value)
- <cmResponse>
- <send:request provider="cm2">
- <cm:query>
- <requests xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:queryRequest[]">
- <item>
- <search xsi:type="xsd:string"><xsl:value-of select="$packagePath"/>/model[last()]</search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[2]">
- <item xsi:type="cm:propEnum">searchPath</item>
- <item xsi:type="cm:propEnum">modificationTime</item>
- </properties>
- </item>
- </requests>
- </cm:query>
- </send:request>
- </cmResponse>
- </xsl:if>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!-- Handle user capabilities by using the effective (package) or global capabilities for the current user -->
- <xts:block id="userCapabilities" mode="interpret" type="exec" dependency="parseURL getCMResponse generateCMRequest" processor="XSLT" mandatory="false" nodelist="packageBase, effectiveUserCapabilities, output, session">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xos="http://developer.cognos.com/schemas/xts/output/" >
- <xsl:template match="/">
- <xts:sequence>
- <!-- Use the global capabilites only when we do not have a package context. (Will this ever be the case?) -->
- <xsl:choose>
- <xsl:when test="count(/root/effectiveUserCapabilities/value/*) != 0">
- <xsl:if test="/root/effectiveUserCapabilities/value/item = 'canUseQueryStudio'">
- <xts:append>
- <canUseQS>true</canUseQS>
- </xts:append>
- </xsl:if>
- <xts:append>
- <userCapabilities>
- <xsl:copy-of select="/root/effectiveUserCapabilities/*"/>
- </userCapabilities>
- </xts:append>
- </xsl:when>
- <xsl:otherwise>
- <!-- Global capabilities. Get these from the BIBus header. Should have a signature that needs to be verified. TODO. -->
- <xsl:if test="/root/output/xos:protocolHeader/xos:param/SOAP-ENV:Header/bus:biBusHeader/userCapabilityCache/userCapabilities/item = 'canUseQueryStudio'">
- <xts:append>
- <canUseQS>true</canUseQS>
- </xts:append>
- </xsl:if>
- <xts:append>
- <!-- The userCapabilityCache doesn't include a value element, which we expect. Append one here. -->
- <userCapabilities>
- <value>
- <xsl:copy-of select="/root/output/xos:protocolHeader/xos:param/SOAP-ENV:Header/bus:biBusHeader/userCapabilityCache/userCapabilities/*"/>
- </value>
- </userCapabilities>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- <!-- in the case of file management in QS we have to look at the global capabilities (in this case we're using what the portal stuffs in the session). It is not identified as a package capability in the Object Model -->
- <xsl:if test="/root/session/param[@name='capabilities']/canUseQueryStudioFileManagement">
- <xts:append>
- <userCapabilities>
- <value>
- <item xsi:type="cm:userCapabilityEnum">canUseQueryStudioFileManagement</item>
- </value>
- </userCapabilities>
- </xts:append>
- </xsl:if>
- <xsl:if test="/root/session/param[@name='capabilities']/canUseIndexSearch">
- <xts:append>
- <userCapabilities>
- <value>
- <item xsi:type="cm:userCapabilityEnum">canUseIndexSearch</item>
- </value>
- </userCapabilities>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!-- WO2567 - make a metadata request to get suppression options on the current package object.
- Search for these attributes:
- @isNullSuppressionAllowed
- @isMultiEdgeNullSuppressionAllowed
- @isAccessToNullSuppressionOptionsAllowed
- These will be set as userCapabilities for use within QS
- see template 'addPackageSuppressionAttributesAsUserCapabilities' below
- -->
- <xts:block id="getPackageSuppressInfo" mode="interpret" processor="XSLT" type="exec" mandatory="true" dependency="getCMResponse generateCMRequest" nodelist="env, packageBase, header" >
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <packageInfo>
- <xsl:if test="/root/packageBase/value !=''">
- <xts:request asText="true" href="bus://dispatcher" protocol="BUS" soapAction="http://www.ibm.com/xmlns/prod/cognos/reportService/201404/.session" responseEnvelope="false" outputHeader="true">
- <SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Header>
- <bus:biBusHeader xsi:type="bus:biBusHeader" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <xsl:if test="key('env-param','ui.routingServerGroup')!=''">
- <bus:routing>
- <routingServerGroup>
- <xsl:value-of select="key('env-param','ui.routingServerGroup')"/>
- </routingServerGroup>
- </bus:routing>
- </xsl:if>
- <!-- We don't want to copy the tracking info in this case because we want a separate conversation for the metadata -->
- <xsl:apply-templates select="/root/header/bus:biBusHeader/*[local-name()!='tracking']"/>
- </bus:biBusHeader>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <runSpecification xmlns="http://developer.cognos.com/schemas/reportService/1">
- <bus:specification xsi:type="bus:reportServiceMetadataSpecification" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <bus:value xsi:type="bus:specification"><metadataRequest connection="<xsl:text/><xsl:value-of select="xtsext:xmlencode(string(/root/packageBase/value))"/><xsl:text/>">
- <Metadata Depth="" _enumLabels="1" no_collections="1" start_atPath="">
- <Properties>
- <Property name="package/@isNullSuppressionAllowed"/>
- <Property name="package/@isMultiEdgeNullSuppressionAllowed"/>
- <Property name="package/@isAccessToNullSuppressionOptionsAllowed"/>
- </Properties>
- </Metadata>
- </metadataRequest>
- </bus:value>
- </bus:specification>
- <bus:parameterValues xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parameterValue[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"/>
- <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
- <item xsi:type="bus:asynchOptionInt">
- <bus:name xsi:type="bus:asynchOptionEnum">primaryWaitThreshold</bus:name>
- <bus:value xsi:type="xsd:int">0</bus:value>
- </item>
- <item xsi:type="bus:genericOptionXMLEncodedXML">
- <bus:name xsi:type="xsd:string">http://developer.cognos.com/ceba/constants/contentManagerCacheOptionEnum#context</bus:name>
- <bus:value xsi:type="bus:xmlEncodedXML"><xsl:value-of select="/root/env/param[@name='ui.cacheContext']"/></bus:value>
- </item>
- </bus:options>
- </runSpecification>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </xsl:if>
- </packageInfo>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- <!-- used to copy the bus header stuff - see "apply-templates" above. -->
- <xsl:template match="*">
- <xsl:copy>
- <xsl:copy-of select="@*"/>
- <xsl:apply-templates/>
- </xsl:copy>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!-- WO2567 - Takes the <packageInfo> metadata response created above in getPackageSuppressInfo and creates a <parsedPackageInfo> element that is properly escaped XML -->
- <xts:block id="parsePackageInfo" condition=".[/root/*[local-name()='packageInfo']]" mode="interpret" processor="XSLT" type="exec" dependency="getPackageSuppressInfo" mandatory="false" nodelist="env, packageInfo">
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/cm/1/" xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xos="http://developer.cognos.com/schemas/xts/output/">
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append select="/root">
- <parsedPackageInfo>
- <xsl:choose>
- <xsl:when test="contains(./*[local-name()='packageInfo']/*[local-name() = 'runSpecificationResponse']/bus:result/bus:details/item/bus:metadata, '<?xml')">
- <xsl:value-of select="substring-after(./*[local-name()='packageInfo']/*[local-name() = 'runSpecificationResponse']/bus:result/bus:details/item/bus:metadata, '?>')" disable-output-escaping="yes"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="./*[local-name()='packageInfo']/*[local-name() = 'runSpecificationResponse']/bus:result/bus:details/item/bus:metadata" disable-output-escaping="yes"/>
- </xsl:otherwise>
- </xsl:choose>
- </parsedPackageInfo>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!-- WO2567 - Add suppression permissions that are set on the metadata <package> response as userCapabilities -->
- <xts:block id="addPackageSuppressionAttributesAsUserCapabilities" condition=".[/root/*[local-name()='packageInfo']]" mode="interpret" processor="XSLT" type="exec" dependency="parsePackageInfo userCapabilities" mandatory="false" nodelist="env, userCapabilities, parsedPackageInfo">
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/cm/1/" xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xos="http://developer.cognos.com/schemas/xts/output/">
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
- <xsl:template match="/">
- <xts:sequence>
- <!-- WO2567 suppression access restrictions are sent on the <package> metadata response
- not as package/user capabilities (despite our grumbling). However, we treat them
- like capabilities so we can include/exclude them easily from the UI -->
- <xts:append select="/root/userCapabilities/value">
- <xsl:if test="/root/parsedPackageInfo/ResponseRoot/package/@isNullSuppressionAllowed != 'false'">
- <item>isNullSuppressionAllowed</item>
- </xsl:if>
- <xsl:if test="/root/parsedPackageInfo/ResponseRoot/package/@isMultiEdgeNullSuppressionAllowed != 'false'">
- <item>isMultiEdgeNullSuppressionAllowed</item>
- </xsl:if>
- <xsl:if test="/root/parsedPackageInfo/ResponseRoot/package/@isAccessToNullSuppressionOptionsAllowed != 'false'">
- <item>isAccessToNullSuppressionOptionsAllowed</item>
- </xsl:if>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="browserDetection" path="qs/browserDetection.xslt" mode="interpret" type="exec" processor="XSLT" contentId="browserDetection" partId="1" dependency="parseURL" mandatory="false" nodelist="http, env"/>
- <xts:block id="navLinks" path="qs/navLinks.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="navLinks" partId="1" dependency="parseURL" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <xts:block id="toolbar" path="qs/toolbar.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="toolbar" partId="1" dependency="retrieveFeaturesAndUI addPackageSuppressionAttributesAsUserCapabilities menuData" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies, ui, features, userCapabilities">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <!--
- For bug 555700. We need to use the Content manager output to get the total number of available logon
- namespaces to determine if we should show a "logon" link or not.
- The number of logon namespaces is stored only once when the top bar is created.
- This is for speed. This means that if a new namespace is created after QS is loaded,
- the user will have to reload the page to see them.
- -->
- <xts:block id="getLogonNamespaces" mode="interpret" type="exec" processor="XSLT" mandatory="false" dependency="parseURL getCMResponse generateCMRequest"
- nodelist="header, user, env, cmResponse"
- >
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" exclude-result-prefixes="xsl" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
- <xsl:template match="/">
- <xts:sequence>
- <xsl:choose>
- <xsl:when test="/root/user/param[@name='activeLogonNamespaces'] != ''">
- <xts:replace select="/root/user/param[@name='activeLogonNamespaces']">
- <param name="activeLogonNamespaces"><xts:queryValue select="count(/root/cmResponse/*[local-name() = 'queryResponse']/returns/item/queryResult/item/active[value = 'true'])"/></param>
- </xts:replace>
- </xsl:when>
- <xsl:otherwise>
- <xts:append select="/root/user">
- <param name="activeLogonNamespaces"><xts:queryValue select="count(/root/cmResponse/*[local-name() = 'queryResponse']/returns/item/queryResult/item/active[value = 'true'])"/></param>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:choose>
- <xsl:when test="/root/user/param[@name='traversableLogonNamespaces'] != ''">
- <xts:replace select="/root/user/param[@name='traversableLogonNamespaces']">
- <param name="traversableLogonNamespaces"><xts:queryValue select="count(/root/cmResponse/*[local-name() = 'queryResponse']/returns/item/queryResult/item/permissions/*[item = 'traverse'])"/></param>
- </xts:replace>
- </xsl:when>
- <xsl:otherwise>
- <xts:append select="/root/user">
- <param name="traversableLogonNamespaces"><xts:queryValue select="count(/root/cmResponse/*[local-name() = 'queryResponse']/returns/item/queryResult/item/permissions/*[item = 'traverse'])"/></param>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="/root/env/param[@name='ui.cacheContext']=''">
- <xts:append>
- <xsl:if test="count(/root/cmResponse/cm:queryResponse/returns/item/queryResult/item/effectiveUserCapabilities/*) > 0">
- <effectiveUserCapabilities>
- <xts:queryNode select="/root/cmResponse/*[local-name() = 'queryResponse']/returns/item/queryResult/item/effectiveUserCapabilities/*"/>
- </effectiveUserCapabilities>
- </xsl:if>
- </xts:append>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="styleToolbar" path="qs/styleToolbar.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="styleToolbar" partId="1" dependency="retrieveFeaturesAndUI getAdvancedServerSettingsAndSupportedFonts addPackageSuppressionAttributesAsUserCapabilities menuData scripts" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies, userCapabilities, ui, configurationVars">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <!--END STYLE -->
- <xts:block id="menuData" path="qs/menu.xsl" type="exec" dependency=" browserDetection" mode="interpret" processor="XSLT" mimeType="text/html" mandatory="false" nodelist="system, env, session, user, actions, tabs, http, configProps, credential, cookies, setCookies, browserInfo">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <xts:block id="menu" path="qs/menu.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="menu" partId="1" dependency="browserDetection menuData retrieveFeaturesAndUI addPackageSuppressionAttributesAsUserCapabilities" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies, ui, browserInfo, features, userCapabilities">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <xts:block id="previewTop" path="qs/previewTop.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="previewTop" partId="1" dependency="parseURL" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <xts:block id="previewBottom" path="qs/previewBottom.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="previewBottom" partId="1" dependency="parseURL" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <xts:block id="scripts" path="qs/scripts.xslt" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="scripts" partId="1" dependency="getAdvancedServerSettingsAndSupportedFonts retrieveFeaturesAndUI addPackageSuppressionAttributesAsUserCapabilities menuData" mandatory="false" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies, packageBase, ui, configurationVars, userCapabilities, configurationURIs">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- </xts:block>
- <xts:block id="topRow" type="exec" mode="output" processor="XSLT" mimeType="text/html" contentId="topRow" partId="1" dependency="parseURL getLogonNamespaces" condition=".[not(/root/env/param[@name='ui.header']='false')]" mandatory="false" path="qs/topRow.xslt" nodelist="system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="qs/logicsheets/framework.xsl"/>
- <xts:logicsheet path="qs/logicsheets/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- </xts:block>
- <xts:block id="retrieveFeaturesAndUI" mode="interpret" processor="XML" type="exec" dependency="userCapabilities" condition=".[/root/canUseQS='true']" mandatory="false">
- <xts:sequence>
- <xts:append select="/root">
- <xts:transform xmlns:xts="http://developer.cognos.com/schemas/xts/" name="XML">
- <xts:param name="systemId">qs/features.xml</xts:param>
- <xts:param name="messageBase">messages/QSRVUITextPL.xml</xts:param>
- <xts:param name="messageBaseLocale"><xts:transform name="XMLEncode"><xts:queryValue select="/root/user/param[@name='productLocale']"/></xts:transform></xts:param>
- <xts:param name="src">
- <xts:request protocol="FILEREAD" cache="true" href="qs/features.xml"/>
- </xts:param>
- </xts:transform>
- <xts:transform xmlns:xts="http://developer.cognos.com/schemas/xts/" name="XML">
- <xts:param name="systemId">qs/ui.xml</xts:param>
- <xts:param name="messageBase">messages/QSRVUITextPL.xml</xts:param>
- <xts:param name="messageBaseLocale"><xts:transform name="XMLEncode"><xts:queryValue select="/root/user/param[@name='productLocale']"/></xts:transform></xts:param>
- <xts:param name="src">
- <xts:request protocol="FILEREAD" cache="true" href="qs/ui.xml"/>
- </xts:param>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xts:block>
- <!-- get specified advanced server settings -->
- <xts:block id="getAdvancedServerSettingsAndSupportedFonts" mode="interpret" processor="XML" type="exec" mandatory="false">
- <xts:sequence>
- <xts:append>
- <xts:function name="getConfiguration">
- <xts:param name="RSVP.QS.DEFAULT.SYSTEM.TEMPLATE"/>
- <xts:param name="RSVP.QS.LIMITED.DATA.MODE"/>
- <xts:param name="RSVP.QS.DEFAULT.FILTER.DIALOG.TYPE"/>
- <xts:param name="RSVP.QS.FORCE.NO.DATA.MODE"/>
- <xts:param name="RSVP.QS.Preview.With.No.Data.After.Cancel"/>
- <xts:param name="RSVP.QS.OVERRIDE.USE.MODEL.AGGREGATION.TYPES"/>
- </xts:function>
- <!--Could make this in one call if you rework the places that needs this information-->
- <configurationVars>
- <xts:function name="getConfiguration">
- <xts:param name="fonts"/>
- </xts:function>
- </configurationVars>
- <!--
- This next block needs to be separate since we are XMLEncoding the full results. This is to properly handle
- URLs with ampersands and other reserved XML characters in it. See scripts.xslt where we actually strip out
- the values of these URLs. The correct fix is to get the getConfiguration call (XTS) to properly encode values
- it returns, if required.
- -->
- <configurationURIs>
- <xts:transform name="XMLEncode">
- <xts:function name="getConfiguration">
- <xts:param name="metadataInformationURI"/>
- <xts:param name="glossaryURI"/>
- </xts:function>
- </xts:transform>
- </configurationURIs>
- </xts:append>
- </xts:sequence>
- </xts:block>
- <xts:block id="page" type="exec" mode="interpret" dependency="parseURL browserDetection addPackageSuppressionAttributesAsUserCapabilities navLinks menu toolbar styleToolbar previewTop previewBottom topRow scripts retrieveFeaturesAndUI getAdvancedServerSettingsAndSupportedFonts getCMResponse generateCMRequest" processor="XSLT" mimeType="text/html"
- nodelist="cmResponse, system, env, session, tabs, actions, user, http, configProps, credential, cookies, setCookies, output, canUseQS, debug, browserInfo, features, userCapabilities, configuration"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
- xmlns:out="dummy-uri"
- >
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
- <xts:logicsheet path="logicsheets/formlogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xos="http://developer.cognos.com/schemas/xts/output/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:thm="http://developer.cognos.com/schemas/xts/logicsheets/xslt/theme/" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl thm dbg xtsext xos pf" xmlns:xts="http://developer.cognos.com/schemas/xts/">
- <xsl:namespace-alias stylesheet-prefix="out" result-prefix="xsl"/>
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <!-- current file name -->
- <xsl:variable name="mname" select="'/qs.xts'"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:variable name="script_name">
- <xsl:value-of select="/root/http/param[@name='SCRIPT_NAME']"/>
- </xsl:variable>
- <xsl:variable name="markup_track">
- <xsl:apply-templates select="/root/output/*/*/*[local-name()='Header']/*[local-name()='biBusHeader']/*[local-name()='tracking']" mode="markup"/>
- </xsl:variable>
- <!-- Load the debug templates -->
- <dbg:templates/>
- <pf:variables/>
- <!-- start the output -->
- <xsl:template match="/root">
- <xts:sequence>
- <xts:replace select="/root/output/xos:part">
- <xos:part>
- <xos:entityHeader>
- <xos:param name="Content-Type">text/html; charset=utf-8</xos:param>
- </xos:entityHeader>
- <xos:entityBody>
- <xsl:choose>
- <xsl:when test="/root/canUseQS='true'">
- <html>
- <head>
- <META Http-Equiv="X-UA-Compatible" content="IE=5"/>
- <META Http-Equiv="Cache-Control" Content="no-cache"/>
- <META Http-Equiv="Pragma" Content="no-cache"/>
- <META Http-Equiv="Expires" Content="0"/>
- <link rel="stylesheet" type="text/css" href="{$skin_style}"/>
- <link rel="stylesheet" type="text/css" href="{$skin_fonts}"/>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/QSRVCommonUI.css"/>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/prompting/promptCommon.css"/>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/CRN.css"/>
- <script type="text/javascript">
- var bPersistentCookie = <xsl:choose><xsl:when test="/root/system/param[@name='persistentUIcookie'] = 'true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose>;
- var sCookiePath = "<xsl:value-of select="xtsext:javascriptencode(string($cookie_path))"/>";
- var sCookieDomain = "<xsl:value-of select="xtsext:javascriptencode(string($cookie_domain))"/>";
- var p_sSkinFolder = "<xsl:value-of select="xtsext:javascriptencode(string($skin_root))"/>";
- var sNewWinSkin = "<xsl:value-of select="xtsext:javascriptencode(string($skin_root))"/>";
- var sWebRoot = "<xsl:value-of select="xtsext:javascriptencode(string($webRoot))"/>";
- var bEnablePercentageOfFooter = <xsl:choose><xsl:when test="/root/system/param[@name='enablePercentageOfFooter'] = 'true'">true</xsl:when><xsl:otherwise>false</xsl:otherwise></xsl:choose>;
-
- <!-- prompting seems to require this or it goes into a setTimeout loop -->
- SYSTEMPROPERTY_CREATE_CUSTOM_SCRIPTS_REFS = false;
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/cognoslaunch.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/common/framework/util/CDictionary.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/prompting.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/CTreeIE5NS6.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/cr1/caf.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/rv/cvConstants.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/rv/common.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/common/framework/util/CViewerHelper.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/CDispatcher.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/CFilter.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/CFilterExpression.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/CFilterGroup.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/CCombinedFilter.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/CFilterConverter.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/cmd.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/config.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/dialog.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/CDatePickerCommon.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/CTimePickerIE5.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <xsl:if test="string(/root/debug/debugSwitch)='request' or string(/root/debug/traceOutput)='true'">
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/js_trace.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- </xsl:if>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/layout.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/nav.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/requestManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/selectColumn.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/util.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/ui.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <!-- Fix for bug COGCQ00080804
- If a customer doesn't create a promptingStrings_<locale>.js file properly, we still want to have the defaults loaded.
- So, import the english one first
- -->
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/res/promptingStrings_en.js</xsl:attribute>
- </script>
-
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/res/promptingStrings_<xsl:choose>
- <!-- 'zh' isn't a valid locale for promptingStrings, defaulting to 'zh-cn' -->
- <xsl:when test="/root/user/param[@name='productLocale']='zh'">zh-cn</xsl:when>
- <xsl:otherwise><xsl:value-of select="/root/user/param[@name='productLocale']"/></xsl:otherwise>
- </xsl:choose>.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <!-- <xsl:if test="/root/browserInfo/isIE='true'"> -->
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/dragDropIE5.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/DragDropControllerIE5.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <!-- </xsl:if> -->
- <!-- Classes & abstract classes which implement the feature object -->
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/AFeatureObject.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <xsl:for-each select="/root/features/*/feature">
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/C<xsl:value-of select="./@name"/>.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- </xsl:for-each>
- <!-- extra scripts (mostly variable definitions) -->
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='scripts']"/>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/metadataTree.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/common/framework/util/XMLParser.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/common/framework/util/XMLUtils.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript" src="{$webcontent}/{$app}/js/cookie_jar.js"/>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/ccl/helpDocs.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <!-- STYLE scripts-->
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/CSSManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/CAlignmentPicker.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/prompting/CColorPicker.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <!-- Classes & abstract classes for the application features -->
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CApplicationManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CFeatureManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CFeatureObjectFactory.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CFeatureRegistry.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CFormManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CWindowManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CMiniQueryManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CUndoManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/classes/CReportManager.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>
- <!--<script type="text/javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/qs.core.js</xsl:attribute>
- <xsl:text/>//<xsl:text/>
- </script>-->
- <script type="text/javascript">
- var goIncludedFeatures = new CDictionary();
- var goExcludedFeatures = new CDictionary();
- <xsl:for-each select="/root/features/included/feature">
- <xsl:variable name="packageCaps">
- <xsl:for-each select="./userCapabilities/userCapability">
- <xsl:value-of select="/root/userCapabilities/value/item = ."/>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="globalCaps">
- <xsl:for-each select="./userCapabilities/globalUserCapability">
- <xsl:variable name="currentCapName" select="."/>
- <xsl:value-of select="count(/root/session/param[@name='capabilities']/*[local-name() = $currentCapName]) > 0 "/>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="effectivelyHasPackageCap" select="(count(./userCapabilities/userCapability)=0 or contains($packageCaps,'true')) and (./@name!='ReportStudio' or $userCanUseRS)"/>
- <xsl:variable name="effectivelyHasGlobalCap" select="(count(./userCapabilities/globalUserCapability)=0 or contains($globalCaps,'true')) and (./@name!='ReportStudio' or $userCanUseRS)"/>
- <xsl:choose>
- <xsl:when test="$effectivelyHasPackageCap and $effectivelyHasGlobalCap">
- <xsl:text/>goIncludedFeatures.add("<xsl:value-of select="./@name"/>", <xsl:text/>
- <xsl:choose>
- <xsl:when test="./@canBeLaunched='false'">false</xsl:when>
- <xsl:otherwise>true</xsl:otherwise>
- </xsl:choose>
- <xsl:text/>);<xsl:text/>
- </xsl:when>
- <xsl:otherwise>
- goExcludedFeatures.add("<xsl:value-of select="./@name"/>", true);
- </xsl:otherwise>
- </xsl:choose>
- </xsl:for-each>
- <xsl:for-each select="/root/features/excluded/feature">
- goExcludedFeatures.add("<xsl:value-of select="./@name"/>", true);
- </xsl:for-each>
- <!-- For WO 2567 - Need a way to determine user capabilities outside of Features -->
- var goUserCapabilities = new CDictionary();
- <xsl:for-each select="/root/userCapabilities/value/item">
- goUserCapabilities.add("<xsl:value-of select="."/>", true);
- </xsl:for-each>
- <!-- For WO 2620
- User preferences. Create a new UserPreference object for each preference we want to track.
- First check for preferences set in system.xml in the params.
- -->
- var goUserPreferenceManager = goApplicationManager.getUserPreferenceManager();
- var oLimitedDataPreference = goUserPreferenceManager.add('limitedDataMode');
- oLimitedDataPreference.setCookieName("up_tdm");
- oLimitedDataPreference.setDefaultValue("full");
- var oFilterDialogTypePreference = goUserPreferenceManager.add('defaultFilterDialogType');
- oFilterDialogTypePreference.setCookieName("up_dfdt");
- oFilterDialogTypePreference.setDefaultValue("default")
- var oTemplateSearchPathPreference = goUserPreferenceManager.add('defaultSystemTemplate');
- oTemplateSearchPathPreference.setCookieName("up_dst");
- var oTemplateModePreference = goUserPreferenceManager.add('templateMode');
- oTemplateModePreference.setCookieName("up_tm");
-
- var oAutoFooterSummary = goUserPreferenceManager.add('autoFooterSummary');
- oAutoFooterSummary.setCookieName("up_afs");
- oAutoFooterSummary.setDefaultValue("true");
-
- var oAutoSummary = goUserPreferenceManager.add('autoSummary');
- oAutoSummary.setCookieName("up_as");
- oAutoSummary.setDefaultValue("true");
-
- var oEnableDrill = goUserPreferenceManager.add('enableDrill');
- oEnableDrill.setCookieName("up_ed");
- oEnableDrill.setDefaultValue("true");
-
- var oEnableModelDrill = goUserPreferenceManager.add('enableModelDrill');
- oEnableModelDrill.setCookieName("up_emd");
- oEnableModelDrill.setDefaultValue("true");
-
- <xsl:if test="/root/system/param[@name='limitedDataMode']">
- oLimitedDataPreference.setSystemValue("<xsl:value-of select="xtsext:javascriptencode(string(/root/system/param[@name='limitedDataMode']))"/>");
- <!-- If the system value is defined, users cannot override the default -->
- <xsl:if test="/root/system/param[@name='limitedDataMode']!=''">
- oLimitedDataPreference.setUserOverrideAllowed(false);
- </xsl:if>
- </xsl:if>
- <xsl:if test="/root/system/param[@name='defaultFilterDialogType']">
- oFilterDialogTypePreference.setSystemValue("<xsl:value-of select="xtsext:javascriptencode(string(/root/system/param[@name='defaultFilterDialogType']))"/>");
- </xsl:if>
- <xsl:if test="/root/system/param[@name='defaultSystemTemplate']">
- oTemplateSearchPathPreference.setSystemValue("<xsl:value-of select="xtsext:javascriptencode(string(/root/system/param[@name='defaultSystemTemplate']))"/>");
- <!-- If defaultSystemTemplate is defined in system.xml, then set the templateMode checkbox to true -->
- if (oTemplateSearchPathPreference.getSystemValue() !== "")
- {
- oTemplateModePreference.setSystemValue("true");
- }
- </xsl:if>
- <!-- Also get these properties via the advanced server property settings.
- Set these after the system.xml settings since those take precedence
- -->
- <xsl:if test="/root/configuration/property[@name='RSVP.QS.LIMITED.DATA.MODE']">
- oLimitedDataPreference.setAdvancedServerValue("<xsl:value-of select="xtsext:javascriptencode(string(/root/configuration/property[@name='RSVP.QS.LIMITED.DATA.MODE']))"/>");
- <!-- If the advanced server property is defined, users cannot override the default -->
- <xsl:if test="/root/configuration/property[@name='RSVP.QS.LIMITED.DATA.MODE']!=''">
- oLimitedDataPreference.setUserOverrideAllowed(false);
- </xsl:if>
- </xsl:if>
- <xsl:if test="/root/configuration/property[@name='RSVP.QS.DEFAULT.FILTER.DIALOG.TYPE']">
- oFilterDialogTypePreference.setAdvancedServerValue("<xsl:value-of select="xtsext:javascriptencode(string(/root/configuration/property[@name='RSVP.QS.DEFAULT.FILTER.DIALOG.TYPE']))"/>");
- </xsl:if>
- <xsl:if test="/root/configuration/property[@name='RSVP.QS.DEFAULT.SYSTEM.TEMPLATE']">
- oTemplateSearchPathPreference.setAdvancedServerValue("<xsl:value-of select="xtsext:javascriptencode(string(/root/configuration/property[@name='RSVP.QS.DEFAULT.SYSTEM.TEMPLATE']))"/>");
- <!-- If RSVP.QS.TEMPLATE.SEARCHPATH is defined in advanced server settings, then set the templateMode checkbox to true -->
- if (oTemplateSearchPathPreference.getAdvancedServerValue() !== "")
- {
- oTemplateModePreference.setAdvancedServerValue("true");
- }
- </xsl:if>
-
- <!--
- Added for HS 620495 - Report Saved with "Preview with no Data" not honoring setting
- The RSVP.QS.FORCE.NO.DATA.MODE server setting forces Query Studio
- to always open new AND existing reports in no data mode.
- -->
- <xsl:if test="/root/configuration/property[@name='RSVP.QS.FORCE.NO.DATA.MODE']='true'">
- oLimitedDataPreference.setProperty("forceNoDataMode", true);
- oLimitedDataPreference.setProperty("forceNoDataOnNextRun", true);
- oLimitedDataPreference.setUserOverrideAllowed(false);
- oLimitedDataPreference.setAdvancedServerValue("nodata");
- </xsl:if>
-
- <!--
- Added for HS COGCQ00134832 - Query Studio returns Data is turned off message once report is cancelled.
- The RSVP.QS.Preview.With.No.Data.After.Cancel=false server setting with forces Query Studio
- to always see previous report with data in it after cancelation of a new change.
- Default setting for RSVP.QS.Preview.With.No.Data.After.Cancel=true.
- -->
- <xsl:choose>
- <xsl:when test="/root/configuration/property[@name='RSVP.QS.Preview.With.No.Data.After.Cancel']='false'">
- oLimitedDataPreference.setProperty("noDataAfterCancel", false);
- </xsl:when>
- <xsl:otherwise>
- oLimitedDataPreference.setProperty("noDataAfterCancel", true);
- </xsl:otherwise>
- </xsl:choose>
-
- <xsl:choose>
- <xsl:when test="/root/configuration/property[@name='RSVP.QS.OVERRIDE.USE.MODEL.AGGREGATION.TYPES']='TRUE'">
- oLimitedDataPreference.setProperty("gsUseModelAggr", true);
- </xsl:when>
- <xsl:otherwise>
- oLimitedDataPreference.setProperty("gsUseModelAggr", false);
- </xsl:otherwise>
- </xsl:choose>
- </script>
- <script type="text/javascript">
- cfgSet("gsLogonString", '<xts:string id="IDS_TOOLS_LOGON" encode="javascript"/>');
- cfgSet("gsLogoffString", '<xts:string id="IDS_TOOLS_LOGOFF" encode="javascript"/>');
- cfgSet("gsWebRoot", '<xsl:value-of select="$webRoot"/>');
- cfgSet("gsSkinFolder", '<xsl:value-of select="$skin_root"/>');
- cfgSet("gsApp", '<xsl:value-of select="$app"/>');
- cfgSet("gsGateway", '<xsl:value-of select="$gateway"/>');
- cfgSet("gsCognosHome", cfgGet("gsGateway") + '?' + '<xsl:value-of select="key('system-param', 'COGNOSHome')"/>');
- cfgSet("gsCCHome", cfgGet("gsGateway") + '?' + '<xsl:value-of select="key('system-param', 'CCHome')"/>');
- </script>
- </head>
- <body class="qsUI" onload="initQSUI();"
- onkeydown="showMeTheValues(event);"
- onclick="hidePickers()"
- onMouseUp="getConfigFrame().mainMouseUp();">
- <!-- Apply same margin as Portal -->
- <xsl:attribute name="topmargin">3</xsl:attribute>
- <xsl:attribute name="bottommargin">0</xsl:attribute>
- <xsl:attribute name="marginheight">0</xsl:attribute>
- <xsl:attribute name="rightmargin">3</xsl:attribute>
- <xsl:attribute name="leftmargin">3</xsl:attribute>
- <xsl:attribute name="marginwidth">0</xsl:attribute>
- <table id="qsUITable" style="width:100%; height:100%;" cellpadding="0" cellspacing="0" border="0">
- <xsl:if test="/root/browserInfo/isIE='true'">
- <xsl:attribute name="ondragenter">if(typeof getReportFrame().dragLeave != "undefined")getReportFrame().dragLeave(event, true);</xsl:attribute>
- </xsl:if>
- <xsl:if test="not(/root/env/param[@name='ui.header']='false')">
- <tr>
- <td>
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='topRow']"/>
- </td>
- </tr>
- </xsl:if>
- <tr style="height:100%;">
- <td><table class="outsideMenuFrame" cellpadding="0" cellspacing="0" border="0"><tr>
- <td id="menuFrame" width="200px" valign="top" class="menuBody">
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='menu']"/>
- </td>
- <td>
- <xsl:choose>
- <xsl:when test="/root/browserInfo/isIE='true'">
- <div style="width:100%; height:100%; overflow:auto;">
- <xsl:call-template name="rightSideContent"/>
- </div>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="rightSideContent"/>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- </tr></table></td>
- </tr>
- </table>
- <span id="dragToolTip" class="clsDragTooltip" style="z-index:100; display:none;"><xsl:text/></span>
- </body>
- <!--dbg:dumpxml select="/"/-->
- </html>
- </xsl:when>
- <xsl:otherwise>
- <dp:page>
- <!-- dialog header -->
- <dp:header>
- <!-- header titles-->
- <dp:title><xts:string id="QUERY_STUDIO_WINDOW_TITLE"/></dp:title>
- <dp:close>
- <a href="{$script_name}?b_action=xts.run&m=portal/main.xts">
- <img height="14" width="14" vspace="2" border="0" class="dialogClose">
- <xsl:attribute name="src"><xsl:value-of select="$skin_root"/>/portal/images/close.gif</xsl:attribute>
- <out:attribute name="title"><xts:string id="IDS_CLOSE"/></out:attribute>
- </img>
- </a>
- </dp:close>
- </dp:header>
- <lyt:layout style="1">
- <lyt:section>
- <dp:message>
- <dp:image>
- <img height="32" width="32" border="0" hspace="2" vspace="2">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/ps/portal/images/msg_information.gif</xsl:attribute>
- </img>
- </dp:image>
- <dp:messageText><xts:string id="IDS_TOOLS_CAPABILITIES_ERROR"/><br/><br/><xts:string id="IDS_TOOLS_CAPABILITIES_ERROR_CONTACT_ADMINISTRATOR"/></dp:messageText>
- </dp:message>
- </lyt:section>
- </lyt:layout>
- <!-- =================== F o o t e r ===================== -->
- <dp:footer>
- <a class="formLink" href="{$script_name}?b_action=xts.run&m=portal/main.xts"><xts:string id="EXIT"/></a>
- </dp:footer>
- </dp:page>
- </xsl:otherwise>
- </xsl:choose>
- </xos:entityBody>
- </xos:part>
- </xts:replace>
- </xts:sequence>
- </xsl:template>
- <xsl:template name="rightSideContent">
- <table cellpadding="0" cellspacing="0" border="0" style="width:100%; height:100%;">
- <xsl:if test="/root/browserInfo/isNS6='true'">
- <xsl:attribute name="style">min-width:100%; width:100%; height:100%;</xsl:attribute>
- </xsl:if>
- <tr>
- <td id="toolbarFrame" class="toolbarBody">
- <div style="width:100%; overflow:visible;">
- <div style="DISPLAY: inline; margin:3px; margin-top:0px;margin-left:0px" id="toolbarContainer"/>
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='toolbar']"/>
- <div style="DISPLAY: inline;" id="styleToolbarContainer"/>
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='styleToolbar']"/>
- <span class="qs_spinner" id="spinner"><img><xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/images/indicator.gif</xsl:attribute></img></span>
- </div>
- </td>
- </tr>
- <tr>
- <td id="dimbarFrame" class="toolbarBody">
- <div style="width:100%; overflow:visible;">
- <div style="DISPLAY: inline; margin:3px; margin-top:0px;margin-left:0px" id="dimBarContainer"/>
- </div>
- </td>
- </tr>
- <tr>
- <td id="previewTopFrame" class="previewBodyClosed" height="0px" style="width:100%;">
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='previewTop']"/>
- </td>
- </tr>
- <tr>
- <td id="reportFrame" style="height:100%;width:100%;">
- <xsl:variable name="contextid">
- <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_qs_settemplatename_qs_setpassportid_', $passport), '')"/>
- </xsl:variable>
- <xsl:variable name="caf_enabled">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), '')"/>
- </xsl:variable>
- <form name="reportFrameForm" method="post" style="margin:0px;" target="reportIFrame">
- <input type="hidden" name="b_action" value="xts.run"></input>
- <input type="hidden" name="m" value="/qs/submit.xts"></input>
- <input type="hidden" name="ui.object">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="$caf_enabled!=''">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string(/root/env/param[@name='ui.object']),true()))"></xsl:value-of>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64encode(string(/root/env/param[@name='ui.object']),true())"></xsl:value-of>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </input>
- <input type="hidden" name="ui.cacheContext">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="$caf_enabled!=''">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string(/root/env/param[@name='ui.cacheContext']),true()))"></xsl:value-of>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64encode(string(/root/env/param[@name='ui.cacheContext']),true())"></xsl:value-of>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </input>
- <input type="hidden" name="run.prompt">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='run.prompt']"></xsl:value-of></xsl:attribute>
- </input>
- <input type="hidden" name="ui.action">
- <xsl:attribute name="value">
- <xsl:value-of select="/root/env/param[@name='ui.action']"></xsl:value-of>
- </xsl:attribute>
- </input>
- <input type="hidden" name="ui.conversation">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="$caf_enabled!=''">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string(/root/env/param[@name='ui.conversation']),true()))"></xsl:value-of>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64encode(string(/root/env/param[@name='ui.conversation']),true())"></xsl:value-of>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </input>
- <input type="hidden" name="ui.spec">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="$caf_enabled!=''">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string(/root/env/param[@name='ui.spec']),true()))"></xsl:value-of>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64encode(string(/root/env/param[@name='ui.spec']),true())"></xsl:value-of>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </input>
- <input type="hidden" name="ui.folder">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="$caf_enabled!=''">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string(/root/env/param[@name='ui.folder']),true()))"></xsl:value-of>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64encode(string(/root/env/param[@name='ui.folder']),true())"></xsl:value-of>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </input>
- <xsl:if test="$contextid!=''">
- <input type="hidden" name="ui.cafcontextid"><xsl:attribute name="value"><xsl:value-of select="$contextid"></xsl:value-of></xsl:attribute>
- </input>
- </xsl:if>
- <xsl:if test="/root/env/param[@name='ui.routingServerGroup']!=''">
- <input type="hidden" name="ui.routingServerGroup">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='ui.routingServerGroup']"></xsl:value-of></xsl:attribute>
- </input>
- </xsl:if>
- </form>
- <iframe name="reportIFrame" id="reportIFrame" frameborder="0" marginheight="0" marginwidth="0" style="width:100%;height:100%;">
- <xsl:attribute name="src">
- <xsl:text/><xsl:value-of select="$script_name"/>?<xsl:text/>
- </xsl:attribute>
- </iframe>
- <script type="text/javascript">
- cfgSet("markup_track", '<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup_track), true()))" />');
- document.reportFrameForm.submit();
- </script>
- </td>
- </tr>
- <tr>
- <td id="previewBottomFrame" class="previewBodyClosed" height="0px" style="width:100%;">
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='previewBottom']"/>
- </td>
- </tr>
- <tr>
- <td id="navLinksFrame" class="navlinksBody" height="0px" style="display:none;width:100%;">
- <xsl:copy-of select="output/xos:part/xos:entityBody/xos:content[@id='navLinks']"/>
- </td>
- </tr>
- <tr>
- <td id="dialogFrame" style="width:100%;height:0px;" onmouseup="getConfigFrame().mainMouseUp(event);">
- <xsl:choose>
- <xsl:when test="/root/browserInfo/isNS6='true'">
- <div id="dialogResizeBar" style="height:3px;width:100%;cursor:n-resize;padding:0;margin:0;display:none;" onmousedown="getConfigFrame().enableResizeDialogFrame(true)" onmouseup="getConfigFrame().mainMouseUp(event);"/>
- </xsl:when>
- <xsl:otherwise>
- <table id="dialogResizeBar" cellpadding="0" cellspacing="0" border="0" style="width:100%;height:3px;display:none;">
- <tr>
- <td style="height:100%;width:100%;cursor:n-resize;padding:0;margin:0;" onmousedown="enableResizeDialogFrame(true)" onmouseup="enableResizeDialogFrame(false)"/>
- </tr>
- </table>
- </xsl:otherwise>
- </xsl:choose>
- <iframe id="dialogIFrame" style="width:100%;height:100%;" frameborder="0" marginheight="0" marginwidth="0">
- <xsl:attribute name="src"><xsl:value-of select="$webRoot"/>/qs/closedialog.html</xsl:attribute>
- </iframe>
- </td>
- </tr>
- </table>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|