1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- *****************************************************************
- ** Licensed Materials - Property of IBM
- **
- ** IBM Cognos Products: drill
- **
- ** (C) Copyright IBM Corp. 2001, 2015
- **
- ** 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 xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/drill.xml, messages/viewer.xml, messages/portal.xml, messages/portalRL.xml" includeConfig="true">
-
-
- <xts:block id="decodeInputContextParams" processor="XSLT" type="exec" dependency="" mandatory="false"
- condition=".[/root/env/param[@name='modeledDrillthru'] or /root/env/param[@name='authoredDrillthru']]" nodelist="env">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xsl:if test="string(/root/env/param[@name='ui.action'])='forward' or string(/root/env/param[@name='ui.action'])='back'">
- <xts:append>
- <PromptValues>
- <xsl:for-each select="/root/env/param[starts-with(@name, 'p_')]">
- <xsl:if test=". != ''">
- <PromptValue name="{substring-after(@name,'_')}">
- <xsl:value-of select="." disable-output-escaping="yes"/>
- </PromptValue>
- </xsl:if>
- </xsl:for-each>
- </PromptValues>
- </xts:append>
- </xsl:if>
- <xts:append>
- <drillthruContext>
- <xsl:if test="/root/env/param[@name='modeledDrillthru'] and /root/env/param[@name='modeledDrillthru'] != ''">
- <modeledDrillthru>
- <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='modeledDrillthru'], true())" disable-output-escaping="yes"/>-->
- <xsl:value-of select="/root/env/param[@name='modeledDrillthru']" disable-output-escaping="yes"/>
- </modeledDrillthru>
- <!-- execution parameters are only available for modeled drill-through -->
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='executionParameters'] and /root/env/param[@name='executionParameters'] != ''">
- <executionParameters>
- <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='executionParameters'], true())" disable-output-escaping="yes"/>-->
- <xsl:value-of select="/root/env/param[@name='executionParameters']" disable-output-escaping="yes"/>
- </executionParameters>
- </xsl:when>
- <xsl:when test="/root/env/param[@name='encExecutionParameters'] and /root/env/param[@name='encExecutionParameters'] != ''">
- <executionParameters>
- <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='executionParameters'], true())" disable-output-escaping="yes"/>-->
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(/root/env/param[@name='encExecutionParameters'])), true())" disable-output-escaping="yes"/>
- </executionParameters>
- </xsl:when>
- </xsl:choose>
- </xsl:if>
- <xsl:if test="/root/env/param[@name='authoredDrillthru'] and /root/env/param[@name='authoredDrillthru'] != ''">
- <authoredDrillthru>
- <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='authoredDrillthru'], true())" disable-output-escaping="yes"/>-->
- <xsl:value-of select="/root/env/param[@name='authoredDrillthru']" disable-output-escaping="yes"/>
- </authoredDrillthru>
- </xsl:if>
- </drillthruContext>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!-- JSON conversion of parameter values -->
- <xts:block id="convertURL" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env,error">
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xsl:if test="not(/root/*[local-name()='error']/*[local-name()='badParams'])">
- <xsl:if test="/root/env/param[@name='customURL'] and /root/env/param[@name='customURL'] != ''">
- <xts:sequence>
- <xts:append>
- <xsl:value-of select="xtsext:convertJSONToURL(string(/root/env/param[@name='customURL']),string('true'))" disable-output-escaping="yes"/>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!--
- // TODO: sprint3-WO2374 (details)
- -->
- <!-- JSON conversion of parameter values -->
- <xts:block id="convertForm" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env">
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xsl:if test="not(/root/*[local-name()='error']/*[local-name()='badParams'])">
- <xsl:if test="/root/env/param[@name='customForm'] and /root/env/param[@name='customForm'] != ''">
- <xts:sequence>
- <xts:append>
- <xsl:value-of select="xtsext:convertJSONToForm(string(/root/env/param[@name='customForm']),string('true'))" disable-output-escaping="yes"/>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <!--
- // TODO: sprint3-WO2374 (details)
- // the choice to use the direct action should come as part of the drill through path (WO 2400)
- process directAction: take the directAction parameter and convert into an xml array.
- This is used during rendering - see the render block
- TODO: fix this code up
- -->
- <xts:block id="convertDirectAction" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env">
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xsl:if test="/root/env/param[@name='directAction'] and /root/env/param[@name='directAction'] != ''">
- <xts:sequence>
- <xts:append>
- <xsl:value-of select="xtsext:convertDirectAction(string(/root/env/param[@name='directAction']),string('true'))" disable-output-escaping="yes"/>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!-- JSON conversion of Drill Context -->
- <xts:block id="convertDrillContext" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xsl:if test="/root/env/param[@name='drillContext'] and /root/env/param[@name='drillContext'] != ''">
- <xts:sequence>
- <xts:append select="/root">
- <DrillScope>
- <xsl:value-of select="xtsext:convertJSONToDrillContext(string(/root/env/param[@name='drillContext']),string('true'))" disable-output-escaping="no"/>
- </DrillScope>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
-
- <xts:block id="packageBase" mode="interpret" type="exec" processor="XML" mandatory="false" condition=".[root/env/param[@name='modelPath']!='' and string(/root/env/param[@name='objpath'])='']">
- <xts:sequence>
- <xts:append select="/root">
- <packageBase>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/bibus/3#contentManagerService" outputHeader="true">
- <SOAP-ENV:Envelope xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Header>
- <xts:queryNode select="/root/header/*[local-name()='biBusHeader']"/>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <search><xts:queryValue select="/root/env/param[@name='modelPath']" /></search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[1]">
- <item xsi:type="cm:propEnum">parent</item>
- </properties>
- </cm:query>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </xts:transform>
- </packageBase>
- </xts:append>
- </xts:sequence>
- </xts:block>
-
- <!--
- ===============================================================================================
- get-object - if this is the first time in and it is a saved report/query, collect some information about the report/query
- Also create a new env parameter that is a copy of the url for re-execute.
- ===============================================================================================
- -->
- <xts:block id="get-object" type="exec" mode="interpret" processor="XSLT" condition=".[string(/root/env/param[@name='ui.object'])!='' and string(/root/env/param[@name='objpath'])='']" mandatory="false" nodelist="env">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append>
- <source>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>
- <xsl:value-of select="/root/env/param[@name='ui.object']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="base"/>
- <cm:property name="ancestors"/>
- <cm:property name="searchPathForURL"/>
- <cm:property name="routingServerGroup"/>
- <cm:property name="metadataModelPackage"/>
- <cm:property name="metadataModel"/>
- </cm:properties>
- <cm:options schemaInfo="true">
- <cm:refProps>
- <cm:refProp refPropName="base">
- <cm:properties>
- <cm:property name="searchPath"/>
- <cm:property name="permissions"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
- </cm:options>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </source>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="secondary-request" processor="XSLT" type="exec" dependency="decodeInputContextParams" mandatory="false"
- condition=".[string(/root/env/param[@name='ui.action'])='wait' or string(/root/env/param[@name='ui.action'])='back' or string(/root/env/param[@name='ui.action'])='forward']" nodelist="header, env, PromptValues">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="prompting/soaplogic.xsl"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
- xmlns:sl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/prmt/soaplogic/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <sl:soaplogic/>
- <xsl:template match="/root">
- <xsl:variable name="method">
- <xsl:value-of select="/root/env/param[@name='ui.action']"/>
- </xsl:variable>
- <xts:sequence>
- <xts:append select="/root">
- <response>
- <xts:request href="bus://dispatcher" protocol="BUS" soapAction="http://developer.cognos.com/schemas/reportService/1.absolute" responseEnvelope="true" outputHeader="true" option="xml-multipart">
- <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">
- <bus:tracking>
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(key('env-param','tracking'))), true())" disable-output-escaping="yes"/>
- </bus:tracking>
- <xsl:copy-of select="/root/header/bus:biBusHeader/*[local-name()!='tracking']"/>
- </bus:biBusHeader>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <xsl:element name="{$method}" namespace="http://developer.cognos.com/schemas/reportService/1">
- <bus:conversation xsi:type="bus:asynchRequest" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:choose>
- <xsl:when test="$method='wait'">
- <xsl:attribute name="xsi:nil">true</xsl:attribute>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(key('env-param', 'conversation'))), true())" disable-output-escaping="yes"/>
- </xsl:otherwise>
- </xsl:choose>
- </bus:conversation>
- <xsl:call-template name="SetParameters"/>
- <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
- </bus:options>
- </xsl:element>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </response>
- </xts:append>
- <xts:append>
- <resultStatus>
- <xts:queryNode select="/root//*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='status']"/>
- </resultStatus>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getContext" processor="XSLT" type="exec" dependency="packageBase get-object decodeInputContextParams secondary-request convertDrillContext" mandatory="false" condition=".[/root/*[local-name()='DrillScope'] and
- not(string(/root/env/param[@name='ui.action'])='wait' or string(/root/env/param[@name='ui.action'])='back' or string(/root/env/param[@name='ui.action'])='forward')]">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rns1="http://developer.cognos.com/schemas/reportService/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append select="/root">
- <response>
- <send:request provider="warp" option="xml-multipart" outputHeader="true" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/reportService/1">
- <convertDrillThroughContext xmlns="http://developer.cognos.com/schemas/reportService/1">
- <inputContext xsi:type="bus:xmlEncodedXML">
- <xsl:value-of select="/root/*[local-name()='DrillScope']"/>
- </inputContext>
- <parameterValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
- <xts:transform src="portal/drillthrough.xslt" processor="XSLT">
- <extractCredential>
- <xsl:copy-of select="*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameterValues']"/>
- </extractCredential>
- </xts:transform>
- </parameterValues>
- <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]">
- <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
- <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDataSourceActions</bus:name>
- <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
- </item>
- <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
- <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDrillThroughPaths</bus:name>
- <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
- </item>
- <item xsi:type="bus:runOptionString">
- <bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
- <bus:value xsi:type="xsd:string">HTMLFragment</bus:value>
- </item>
- <item xsi:type="bus:runOptionAnyURI">
- <bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
- <bus:value xsi:type="xsd:string">sa.xsl</bus:value>
- </item>
- </options>
- </convertDrillThroughContext>
- </send:request>
- </response>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="polling_getContext_request" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false" dependency="getContext" condition=".[not(/root/env/param[@name='redirect']) and not(/root/env/param[@name='debugTarget']) and
- (/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'working' or
- /root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'stillWorking')]" nodelist="env, header, http, response, cookies,user,system"> <!-- user and system nodes are required when a request takes a long time to process. (Async mode) -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rns1="http://developer.cognos.com/schemas/reportService/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" 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:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/" xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/" xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <pf:serialize-xml/>
- <xsl:template match="/">
- <xsl:variable name="contextid">
- <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
- </xsl:variable>
- <xsl:variable name="status">
- <xsl:value-of select="string(/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'])"/>
- </xsl:variable>
- <xsl:variable name="method">
- <xsl:choose>
- <xsl:when test="$status = 'working' or $status = 'stillWorking'">
- <xsl:value-of select="'wait'"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'wait'"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="tracking">
- <xsl:for-each select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']">
- <xsl:variable name="markup-track">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="string($markup-track)"/>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="conversation">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*/*[local-name() = 'primaryRequest']/*"/>
- </xsl:call-template>
- </xsl:variable>
- <form name="formWarpRequest" id="formWarpRequest" method="POST" action="{$gateway}" style="margin:0px;height:100%;">
- <input type="hidden" name="ui.action">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='ui.action']"/></xsl:attribute>
- </input>
- <input type="hidden" name="m" value="portal/goto.xts"/>
- <input type="hidden" name="b_action" value="xts.run"/>
- <input type="hidden" name="inlineSpec" value=""/>
- <input type="hidden" name="conversation" value=""/>
- <input type="hidden" name="tracking" value=""/>
- <input type="hidden" name="ref" value="{/root/env/param[@name='ref']}"/>
- <input type="hidden" name="modeledDrillthru">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='modeledDrillthru']"/></xsl:attribute>
- </input>
- <input type="hidden" name="executionParameters">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='executionParameters']"/></xsl:attribute>
- </input>
- <input type="hidden" name="authoredDrillthru">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='authoredDrillthru']"/></xsl:attribute>
- </input>
- <!-- If lang was passed, it tells XTS to use that language instead of the productLocale for message strings - this is how we get RV to be in contentLocale -->
- <xsl:if test="string(/root/env/param[@name='lang']) != ''">
- <input type="hidden" name="lang" value="{string(/root/env/param[@name='lang'])}"/>
- </xsl:if>
- <xsl:if test="$contextid!=''">
- <input type="hidden" name="cafcontextid">
- <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
- </input>
- </xsl:if>
- <input type="hidden" name="errURL">
- <xsl:variable name="gotoerror-url">
- <xsl:value-of select="$gateway"/>?b_action=xts.run&m=portal/goto.xts&gotoerror<xsl:text/>
- </xsl:variable>
- <xsl:attribute name="value"><xsl:value-of select="$gotoerror-url"/></xsl:attribute>
- </input>
- <xsl:if test="/root/env/param[@name='directLaunch']='true'">
- <input type="hidden" name="directLaunch" value="true"/>
- </xsl:if>
- </form>
- <script language="javascript">
- var method = "<xsl:value-of select="$method"/>";
- var tracking = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($tracking), true()))"/>";
- var conversation = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($conversation), true()))"/>";
- document.formWarpRequest["ui.action"].value = method;
- document.formWarpRequest.tracking.value = tracking;
- document.formWarpRequest.conversation.value = conversation;
- document.formWarpRequest.submit();
- setTimeout('document.progress.src="<xsl:value-of select="xtsext:javascriptencode(string($brand_images))"/>progress.gif"', 1);
- </script>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="convertServerContext" processor="XSLT" type="exec" dependency="packageBase get-object decodeInputContextParams convertDrillContext getContext" mandatory="false" condition=".[/root/*[local-name()='DrillScope'] and
- not(string(/root/env/param[@name='ui.action'])='wait' or string(/root/env/param[@name='ui.action'])='back' or string(/root/env/param[@name='ui.action'])='forward')]">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rns1="http://developer.cognos.com/schemas/reportService/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:s="http://developer.cognos.com/schemas/selection/1/">>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append>
- <converterResponse>
- <xsl:value-of select="/root/response//*[local-name()='context']" disable-output-escaping="yes"/>
- </converterResponse>
- </xts:append>
- <xts:append>
- <drillthruContext>
- <xts:queryNode select="/root/converterResponse//ConverterOutput/*[local-name()='selection']" disable-output-escaping="yes"/>
- <modeledDrillthru>
- <context>
- <xts:queryNode select="/root/converterResponse//ConverterOutput/olap/*[local-name()='parameters']" disable-output-escaping="yes"/>
- </context>
- </modeledDrillthru>
- </drillthruContext>
- </xts:append>
- <xts:delete select="/root/*[local-name()='response']"/>
- </xts:sequence>
- </xsl:template>
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getContent" processor="XSLT" type="exec" dependency="packageBase get-object decodeInputContextParams convertServerContext secondary-request" mandatory="false"
- condition=".[/root/drillthruContext/*[local-name()='modeledDrillthru'] and
- not(string(/root/env/param[@name='ui.action'])='wait' or string(/root/env/param[@name='ui.action'])='back' or string(/root/env/param[@name='ui.action'])='forward')]" nodelist="env, header, http, cookies, packageBase, source, drillthruContext">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append select="/root">
- <response>
- <send:request provider="warp" option="xml-multipart" outputHeader="true" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/reportService/1">
- <xsl:variable name="context" select="drillthruContext/modeledDrillthru/context/*/child::*"/>
- <xsl:variable name="objpath">
- <xsl:choose>
- <xsl:when test="/root/drillthruContext/selection/@rPackage and /root/drillthruContext/selection/@rPackage != ''">
- <xsl:value-of select="/root/drillthruContext/selection/@rPackage"/>
- </xsl:when>
- <xsl:when test="string(/root/env/param[@name='objpath'])!=''">
- <xsl:value-of select="/root/env/param[@name='objpath']"/>
- </xsl:when>
- <xsl:when test="/root/env/param[@name='modelPath'] and /root/env/param[@name='modelPath']!=''">
- <xsl:value-of select="/root/packageBase//*[local-name()='parent']//*[local-name()='searchPath']"/>
- </xsl:when>
- <xsl:when test="/root/source/*[local-name()='queryResponse']/*/*[local-name()='metadataModelPackage']/*/*[local-name()='searchPath']!=''">
- <xsl:value-of select="/root/source/*[local-name()='queryResponse']/*/*[local-name()='metadataModelPackage']/*/*[local-name()='searchPath']"/>
- </xsl:when>
- <xsl:when test="/root/source/*[local-name()='queryResponse']/*/*[local-name()='package']!=''">
- <xsl:value-of select="/root/source/*[local-name()='queryResponse']/*/*[local-name()='package']"/>
- </xsl:when>
- <xsl:when test="/root/source/*[local-name()='queryResponse']/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo'][./*[local-name()='objectClass']='package']/*[local-name()='searchPath']!=''">
- <xsl:value-of select="/root/source/*[local-name()='queryResponse']/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo'][./*[local-name()='objectClass']='package']/*[local-name()='searchPath']"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <getDrillThroughPaths xmlns="http://developer.cognos.com/schemas/reportService/1">
- <objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="$objpath"/></objectPath>
- <parameterValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
- <xsl:copy-of select="$context"/>
- <xts:transform src="portal/drillthrough.xslt" processor="XSLT">
- <extractCredential>
- <xsl:copy-of select="*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameterValues']"/>
- </extractCredential>
- </xts:transform>
- </parameterValues>
- <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]">
- <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
- <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDataSourceActions</bus:name>
- <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
- </item>
- <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
- <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDrillThroughPaths</bus:name>
- <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
- </item>
- <item xsi:type="bus:runOptionString">
- <bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
- <bus:value xsi:type="xsd:string">HTMLFragment</bus:value>
- </item>
- <item xsi:type="bus:runOptionAnyURI">
- <bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
- <bus:value xsi:type="xsd:string">sa.xsl</bus:value>
- </item>
- </options>
- </getDrillThroughPaths>
- </send:request>
- </response>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getOutput" dependency="getContent secondary-request" type="exec" mode="interpret" processor="XSLT" mandatory="false"
- condition=".[/root//*[local-name()='Envelope']/*[local-name()='Body']/*//*[local-name() = 'status'] = 'responseReady']" nodelist="header, ,http, env, response, cookies">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xos="http://developer.cognos.com/schemas/xts/output/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:bus="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:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xsl xts xos cm bus SOAP-ENV xsi">
- <xsl:output method="xml"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append>
- <affinity>absolute</affinity>
- </xts:append>
- </xts:sequence>
- <xts:sequence>
- <xts:replace select="/root/response">
- <response>
- <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" outputHeader="true" option="xml-multipart" soapAction="http://developer.cognos.com/schemas/reportService/1.absolute">
- <SOAP-ENV:Envelope>
- <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">
- <bus:tracking>
- <xsl:copy-of select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']"/>
- </bus:tracking>
- <xsl:copy-of select="/root/header/bus:biBusHeader/*[local-name()!='tracking']"/>
- </bus:biBusHeader>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <xsl:element name="getOutput" namespace="http://developer.cognos.com/schemas/reportService/1">
- <bus:conversation xsi:type="bus:asynchRequest" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:nil="true"/>
- <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/"/>
- </xsl:element>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </response>
- </xts:replace>
- </xts:sequence>
- </xsl:template>
- <xsl:template match="*">
- <xsl:copy>
- <xsl:copy-of select="@*"/>
- <xsl:apply-templates/>
- </xsl:copy>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="polling_getDrillThroughPaths_request" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false"
- dependency="render"
- condition=".[not(/root/env/param[@name='redirect']) and not(/root/env/param[@name='debugTarget']) and
- (/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'working' or
- /root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'stillWorking')]" nodelist="env, header, http, response, cookies,user,system"> <!-- user and system nodes are required when a request takes a long time to process. (Async mode) -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- 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:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <pf:variables/>
- <pf:serialize-xml/>
- <xsl:template match="/">
- <xsl:variable name="contextid">
- <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
- </xsl:variable>
- <xsl:variable name="status">
- <xsl:value-of select="string(/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'])"/>
- </xsl:variable>
- <xsl:variable name="method">
- <xsl:choose>
- <xsl:when test="$status = 'working' or $status = 'stillWorking'">
- <xsl:value-of select="'wait'"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'wait'"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="tracking">
- <xsl:for-each select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']">
- <xsl:variable name="markup-track">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="string($markup-track)"/>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="conversation">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*/*[local-name() = 'primaryRequest']/*"/>
- </xsl:call-template>
- </xsl:variable>
- <form name="formWarpRequest" id="formWarpRequest" method="POST" action="{$gateway}" style="margin:0px;height:100%;">
- <input type="hidden" name="ui.action">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='ui.action']"/></xsl:attribute>
- </input>
- <input type="hidden" name="m" value="portal/goto.xts"/>
- <input type="hidden" name="b_action" value="xts.run"/>
- <input type="hidden" name="inlineSpec" value=""/>
- <input type="hidden" name="conversation" value=""/>
- <input type="hidden" name="tracking" value=""/>
- <input type="hidden" name="ref" value="{/root/env/param[@name='ref']}"/>
- <input type="hidden" name="modeledDrillthru"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='modeledDrillthru']"/></xsl:attribute></input>
- <input type="hidden" name="executionParameters"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='executionParameters']"/></xsl:attribute></input>
- <input type="hidden" name="authoredDrillthru">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='authoredDrillthru']"/></xsl:attribute>
- </input>
- <!-- If lang was passed, it tells XTS to use that language instead of the productLocale for message strings - this is how we get RV to be in contentLocale -->
- <xsl:if test="string(/root/env/param[@name='lang']) != ''">
- <input type="hidden" name="lang" value="{string(/root/env/param[@name='lang'])}"/>
- </xsl:if>
- <xsl:if test="$contextid!=''">
- <input type="hidden" name="cafcontextid">
- <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
- </input>
- </xsl:if>
- <input type="hidden" name="errURL">
- <xsl:variable name="gotoerror-url">
- <xsl:value-of select="$gateway"/>?b_action=xts.run&m=portal/goto.xts&gotoerror<xsl:text/>
- </xsl:variable>
- <xsl:attribute name="value"><xsl:value-of select="$gotoerror-url"/></xsl:attribute>
- </input>
- <xsl:if test="/root/env/param[@name='directLaunch']='true'">
- <input type="hidden" name="directLaunch" value="true"/>
- </xsl:if>
- </form>
- <script language="javascript">
- var method = "<xsl:value-of select="$method"/>";
- var tracking = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($tracking), true()))"/>";
- var conversation = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($conversation), true()))"/>";
- document.formWarpRequest["ui.action"].value = method;
- document.formWarpRequest.tracking.value = tracking;
- document.formWarpRequest.conversation.value = conversation;
- document.formWarpRequest.submit();
- setTimeout('document.progress.src="<xsl:value-of select="xtsext:javascriptencode(string($brand_images))"/>progress.gif"', 1);
- </script>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="gotoerror" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false"
- condition=".[/root/env/param[@name='gotoerror']]" nodelist="env">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- 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:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <xsl:template match="/">
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <html>
- <head>
- <script language="javascript">
- function onClose() {
- if (window.opener != null) {
- window.close();
- }
- }
- </script>
- </head>
- <body onload="javascript:onClose();"/>
- </html>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getTargets" processor="XSLT" type="exec" dependency="getContent getOutput" mandatory="false"
- condition=".[not(/root/env/param[@name='redirect']) and not(/root/env/param[@name='debugTarget']) and /root//*[local-name()='result']/*[local-name()='details']/*[local-name()='item'] and /root//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*[local-name()='paths']!='']" nodelist="env, header, http, cookies, response">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:requests>
- <xsl:for-each select="/root//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*[local-name()='paths']/*[local-name()='item']">
- <cm:query>
- <cm:search>
- <xsl:value-of select=".//*[local-name()='searchPath']"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- <cm:property name="target"/>
- <cm:property name="ancestors"/>
- <cm:property name="screenTip"/>
- <cm:property name="action"/>
- </cm:properties>
- <cm:options schemaInfo="true">
- <cm:refProps>
- <!-- Get target info for shortcut objects -->
- <cm:refProp refPropName="target">
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="searchPath"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
- </cm:options>
- </cm:query>
- </xsl:for-each>
- </cm:requests>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="handleDirectLaunch" dependency="getTargets" type="exec" mode="interpret" processor="XSLT" mandatory="false" condition=".[count(/root/*[local-name()='response']/*/*[local-name()='Body']/*/*/*[local-name()='details']/*[local-name()='item'][@*[local-name()='type']='bus:asynchDetailDrillThroughPaths']/*[local-name()='paths']/*[local-name()='item'][@*[local-name()='type']='bus:drillThroughPath'])=1 and string(/root/env/param[@name='directLaunch'])='true' and string(/root/env/param[@name='authoredDrillthru'])='']" nodelist="env">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:xos="http://developer.cognos.com/schemas/xts/output/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:bus="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:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exclude-result-prefixes="xsl xts xos cm bus SOAP-ENV xsi">
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append select="/root/env">
- <param name="redirect"/>
- <param name="drillType">modeledDrillThroughPath</param>
- </xts:append>
- <xts:delete select="/root/env/param[@name='method']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="prompt-page" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getContent getOutput getTargets"
- condition=".[/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='details']/*[local-name()='item'][@*[local-name()='type']='bus:asynchDetailReportStatus']/*[local-name()='status']='prompting']" nodelist="env, header, http, cookies, response, user">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <pf:variables/>
- <xsl:template match="/root">
- <xsl:variable name="markup-tracking">
- <xsl:apply-templates select="/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Header']/*[local-name()='biBusHeader']/*[local-name()='tracking']/*[local-name() = 'conversationContext']" mode="markup"/>
- </xsl:variable>
- <xsl:variable name="markup-conversation">
- <xsl:apply-templates select="/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Body']/*/*/*[local-name()='primaryRequest']/*" mode="markup"/>
- </xsl:variable>
- <xsl:variable name="contextid">
- <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
- </xsl:variable>
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/portal/default.css"/>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/RVReport.css"/>
- <script type="text/javascript">
- function cancel() {
- if (window.opener != null) {
- window.close();
- }
- }
- </script>
- </head>
- <body topmargin="3" bottommargin="0" marginheight="3" rightmargin="5" leftmargin="5" marginwidth="3" style="overflow:auto">
- <form action="{$gateway}" name="formWarpRequest" id="formWarpRequest" method="post" style="height:100%;margin:0px">
- <xsl:value-of select="/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='details']/*[local-name()='item'][@*[local-name()='type']='bus:asynchDetailReportOutput']/*[local-name()='outputPages']/*[local-name()='item']" disable-output-escaping="yes"/>
- <input type="hidden" name="b_action" value="xts.run"/>
- <input type="hidden" name="m" value="portal/goto.xts"/>
- <input type="hidden" name="ui.action" value=""/>
- <input type="hidden" name="run.prompt" value=""/>
- <input type="hidden" name="conversation">
- <xsl:attribute name="value">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup-conversation), true()))"/>
- </xsl:attribute>
- </input>
- <input type="hidden" name="tracking">
- <xsl:attribute name="value">
- <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup-tracking), true()))"/>
- </xsl:attribute>
- </input>
- <input type="hidden" name="inlineSpec" value=""/>
- <input type="hidden" name="ref" value="{/root/env/param[@name='ref']}"/>
- <input type="hidden" name="modeledDrillthru"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='modeledDrillthru']"/></xsl:attribute></input>
- <input type="hidden" name="executionParameters"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='executionParameters']"/></xsl:attribute></input>
- <input type="hidden" name="authoredDrillthru">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='authoredDrillthru']"/></xsl:attribute>
- </input>
- <!-- If lang was passed, it tells XTS to use that language instead of the productLocale for message strings - this is how we get RV to be in contentLocale -->
- <xsl:if test="string(/root/env/param[@name='lang']) != ''">
- <input type="hidden" name="lang" value="{string(/root/env/param[@name='lang'])}"/>
- </xsl:if>
- <xsl:if test="$contextid!=''">
- <input type="hidden" name="cafcontextid">
- <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
- </input>
- </xsl:if>
- <input type="hidden" name="errURL">
- <xsl:variable name="gotoerror-url">
- <xsl:value-of select="$gateway"/>?b_action=xts.run&m=portal/goto.xts&gotoerror<xsl:text/>
- </xsl:variable>
- <xsl:attribute name="value"><xsl:value-of select="$gotoerror-url"/></xsl:attribute>
- </input>
- <xsl:if test="/root/env/param[@name='directLaunch']='true'">
- <input type="hidden" name="directLaunch" value="true"/>
- </xsl:if>
- </form>
- </body>
- </html>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <!-- TODO: PERF: Get rid of this block to cut down on the number of CM queries -->
- <xts:block id="getAuthoredDrillThroughDetails" mode="interpret" type="exec" processor="XSLT" mandatory="false" condition=".[root/drillthruContext/authoredDrillthru]" dependency="decodeInputContextParams">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:bus="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:xsi="http://www.w3.org/2001/XMLSchema-instance"
- exclude-result-prefixes="xsl cm xts xtsext">
- <xsl:template match="/root">
- <!-- Handle the authored drills, get there info -->
- <xts:sequence>
- <xts:append select="/root">
- <authoredDrillThroughDetails>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/bibus/3#contentManagerService" outputHeader="true">
- <SOAP-ENV:Envelope xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Header>
- <xsl:copy-of select="/root/header/bus:biBusHeader"/>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <cm:requests>
- <xsl:for-each select="/root/drillthruContext/authoredDrillthru/context/member">
- <cm:request>
- <xsl:variable name="currentName">
- <xsl:value-of select="name"/>
- </xsl:variable>
- <search>
- <xsl:value-of select="xtsext:urldecode(./drillThroughSearchPath)"/>
- </search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">screenTip</item>
- <item xsi:type="cm:propEnum">objectClass</item>
- <item xsi:type="cm:propEnum">defaultName</item>
- <item xsi:type="cm:propEnum">ancestors</item>
- <item xsi:type="cm:propEnum">searchPath</item>
- </properties>
- </cm:request>
- </xsl:for-each>
- </cm:requests>
- </cm:query>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </xts:transform>
- </authoredDrillThroughDetails>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!-- TODO: PERF: Get rid of this block to cut down on the number of CM queries -->
- <xts:block id="getModelDrillThroughDetails" mode="interpret" type="exec" processor="XSLT" mandatory="false" condition=".[root/drillthruContext/modeledDrillthru and /root/*[local-name()='queryResponse']]" dependency="getContent getTargets" nodelist="header, env, queryResponse">
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:bus="http://developer.cognos.cmo/schemas/bibus/3/"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://scheams.xmlsoap.org/soap/encoding/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- exclude-result-prefixes="xsl cm xts xtsext">
- <xsl:template match="/root">
- <xts:sequence>
- <xts:append select="/root">
- <modelDrillThroughTargetDetails>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/bibus/3#contentManagerService" outputHeader="true">
- <SOAP-ENV:Envelope xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <SOAP-ENV:Header>
- <xsl:copy-of select="/root/header/bus:biBusHeader"/>
- </SOAP-ENV:Header>
- <SOAP-ENV:Body>
- <xsl:if test="/root/response//*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']!=''">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <cm:requests>
- <xsl:for-each select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']">
- <xsl:variable name="searchPath">
- <xsl:value-of select="./*/*[local-name()='target']/*/*[local-name()='searchPath']"/>
- </xsl:variable>
- <xsl:if test="$searchPath != ''">
- <cm:request>
- <xsl:variable name="targetReportName">
- <xsl:value-of select="./*/*[local-name()='target']/*/*[local-name()='defaultName']"/>
- </xsl:variable>
- <search>
- <xsl:value-of select="xtsext:urldecode($searchPath)"/>
- </search>
- <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
- <item xsi:type="cm:propEnum">ancestors</item>
- <item xsi:type="cm:propEnum">executionFormat</item>
- <item xsi:type="cm:propEnum">searchPath</item>
- </properties>
- </cm:request>
- </xsl:if>
- </xsl:for-each>
- </cm:requests>
- </cm:query>
- </xsl:if>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
- </xts:request>
- </xts:transform>
- </modelDrillThroughTargetDetails>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="render" mode="output" processor="XSLT" type="exec" mimeType="text/html"
- dependency="getContent getOutput handleDirectLaunch getAuthoredDrillThroughDetails getModelDrillThroughDetails convertURL convertForm convertDirectAction"
- condition=".[not(/root/env/param[@name='redirect']) and not(/root/env/param[@name='debugTarget']) and not(/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='details']/*[local-name()='item'][@*[local-name()='type']='bus:asynchDetailReportStatus']/*[local-name()='status']='prompting')]">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="portal/get2post.xsl"/>
- <xts:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:gp="http://developer.cognos.com/schemas/xts/gp"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:xts="http://developer.cognos.com/schemas/xts/"
- xmlns:bus="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:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xtsdrillext="xalan://com.cognos.drill.ext.XTSExt"
- exclude-result-prefixes="xsl cm pf xts xtsext lyt dp df cf cp">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:variable name="mname" select="'goto.xts'"/>
- <pf:variables/>
- <!-- Required for popup menus -->
- <cp:flyoutControl/>
-
-
- <xsl:template match="/root">
- <xsl:variable name="browserTitle">
- <xts:string id="GOTO_PAGE"></xts:string>
- </xsl:variable>
-
- <dp:page longTitle="$browserTitle">
- <dp:meta>
- <pf:meta/>
- </dp:meta>
- <dp:script>
- <pf:help context="HID_GOTO_DIALOG"/>
- <script language="javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webcontent"/>/<xsl:value-of select="$app"/>/js/list.js<xsl:text/></xsl:attribute>
- </script>
- <script language="JavaScript">
- function onClickDrillThrough(drillType, drillPath, executionParameters, context, drillPath_form)
- {
- if (drillType == 'modeledDrillThroughPath') {
- document.pform.drillPath.value = drillPath;
- document.pform.executionParameters.value = executionParameters;
- document.pform.context.value = context;
- document.pform.drillType.value = drillType;
- document.pform.submit();
- }
- else
- {
- if (drillPath_form && drillPath_form != '')
- {
- document.forms[drillPath_form].submit();
- }
- else
- {
- window.location.href = drillPath;
- }
- }
- }
- function onClose() {
- if (window.opener != null) {
- window.close();
- }
- }
- </script>
- <!--Include a JS file for implementation of popup menus -->
- <script language="javascript" src="{$webcontent}/{$app}/js/CCflyoutMenu.js"></script>
- </dp:script>
- <form name="pform" method="post" action="{$gateway}?b_action=xts.run&m={$app}/goto.xts">
- <input name="drillPath" type="hidden" value=""/>
- <input name="executionParameters" type="hidden" value=""/>
- <input name="context" type="hidden" value=""/>
- <input name="redirect" type="hidden" value=""/>
- <input name="drillType" type="hidden" value=""/>
- </form>
- <xsl:variable name="theobj" select="/root//bus:result/bus:details/*[local-name()='item']"/>
- <dp:header>
- <dp:title>
- <xsl:value-of select="$browserTitle"/>
- </dp:title>
- <dp:close>
- <a href="javascript:onClose()">
- <dp:closeMarker/>
- </a>
- </dp:close>
- </dp:header>
- <lyt:layout style="1">
- <lyt:section>
- <xsl:choose>
- <xsl:when test="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'working' or /root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'stillWorking'">
- <div align="center" class="objectNoneFound"> <!-- TODO -->
- <br/><br/>
- <table width="100" border="0" cellpadding="0" cellspacing="0">
- <tr>
- <td valign="middle">
- <img src="{$brand_images}progress.gif" width="48" height="48" border="0" name="progress" align="top"/>
- </td>
- <td width="20"> </td>
- <td class="tabletext">
- <xts:string id="GOTO_LOADING"/><br/><br/>
- </td>
- </tr>
- </table>
- <br/><br/><br/><br/>
- </div>
-
-
- </xsl:when>
-
-
-
-
- <xsl:otherwise>
- <xsl:choose>
-
- <!-- Handle the case when there are no targets -->
- <xsl:when test="not(
- ($theobj/*[local-name()='paths'] and $theobj/*[local-name()='paths'] != '') or
- ($theobj/*[local-name()='actions'] and $theobj/*[local-name()='actions'] != '') or
- (/root/drillthruContext/authoredDrillthru and /root/drillthruContext/authoredDrillthru != '') or
- (/root/*[local-name()='DirectActionArray']/*[local-name()='array'] != '') or
- (/root/*[local-name()='URLArray']/*[local-name()='array'] != '') or
- (/root/*[local-name()='FormArray']/*[local-name()='array'] != '')
- ) or (/root/*[local-name()='error']/*[local-name()='badParams'])">
- <dp:list>
- <dp:section>
- <dp:text nospace="nospace" tdClass="formLabel"><xts:string id="GOTO_AVAILABLE_LINKS"/></dp:text>
- <dp:text width="100%"/>
- </dp:section>
- </dp:list>
- <cp:table width="100%">
- <cp:tableContent>
- <cp:columnContent align="center" height="165px;">
- <dp:list valign="middle">
- <xsl:choose> <!-- Begin: CAF Error or none found -->
- <xsl:when test="/root/*[local-name()='error']/*[local-name()='badParams']">
- <dp:section class="objectNoneFound"><xts:string id="GOTO_CAF_ERROR_FOUND"/></dp:section>
- </xsl:when>
- <xsl:otherwise>
- <dp:section class="objectNoneFound"><xts:string id="GOTO_NO_ITEMS_FOUND"/></dp:section>
- </xsl:otherwise>
- </xsl:choose> <!-- End: CAF Error or none found -->
- </dp:list>
- </cp:columnContent>
- </cp:tableContent>
- </cp:table>
- </xsl:when>
- <xsl:otherwise>
- <!-- Render the target entries in this order: authored, modeled drill paths, modeled drill actions -->
- <dp:list>
- <dp:section>
- <dp:text nospace="nospace" tdClass="formLabel"><xts:string id="GOTO_AVAILABLE_LINKS"/></dp:text>
- <dp:text width="100%"/>
- </dp:section>
- </dp:list>
- <div name="drillpathlinks" id="drillpathlinksid" style="padding-top: 10px;">
- <!-- Render authored Drillthrough entries -->
- <table width="100%" cellspacing="0" cellpadding="2" border="0" class="cctable">
- <thead id="Header">
- <tr class="tableHeader">
- <td width="16" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle"></td>
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="50%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="GOTO_NAME"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="50%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="GOTO_TARGET_REPORT"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </thead>
- <tbody>
- <!--
- // TODO: sprint4-WO2374 (details)
- -->
-
-
-
-
-
- <!-- render custom urls -->
- <xsl:if test="/root/*[local-name()='URLArray']/*[local-name()='array'] != ''">
- <xsl:for-each select="/root/*[local-name()='URLArray']/*[local-name()='array']">
- <tr style="height: 1px;">
- <td nowrap="" height="10" class="tabletext"><img src="{*[local-name()='icon']}" border="0"/></td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext"><a href="{*[local-name()='url']}"><xsl:value-of select="*[local-name()='name']"/></a></td>
- <td width="1" height="15"><img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/></td>
- <td width="50%" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='description']"/></td>
- </tr>
- </xsl:for-each>
- </xsl:if>
- <!--
- // TODO: sprint4-WO2374 (details)
- -->
- <!-- render custom forms -->
- <xsl:if test="/root/*[local-name()='FormArray']/*[local-name()='array'] != ''">
- <xsl:for-each select="/root/*[local-name()='FormArray']/*[local-name()='array']">
- <xsl:variable name="formId" select="concat('f', generate-id(.))"/>
- <tr style="height: 1px;">
- <td nowrap="" height="10" class="tabletext"><img src="{*[local-name()='icon']}" border="0"/></td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext"><a href="javascript:document.forms['{$formId}'].submit()"><xsl:value-of select="*[local-name()='name']"/></a></td>
- <td width="1" height="15"><img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/></td>
- <td width="50%" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='description']"/></td>
- </tr>
- <form name="{$formId}" action="{*[local-name()='fAction']}" method="{*[local-name()='fMethod']}" target="{*[local-name()='fTarget']}">
- <xsl:for-each select="./*[local-name()='fElements']">
- <input type="hidden" name="{*[local-name()='fName']}" value="{*[local-name()='fValue']}"/>
- </xsl:for-each>
- </form>
- </xsl:for-each>
- </xsl:if>
-
- <!--
- // TODO: sprint3-WO2374 (details)
- // Render dynamic drill through from PowerPlay -->
- <xsl:if test="/root/*[local-name()='DirectActionArray']/*[local-name()='array'] != ''">
- <xsl:for-each select="/root/*[local-name()='DirectActionArray']/*[local-name()='array']">
- <tr style="height: 1px;">
- <td nowrap="" height="10" class="tabletext"><img src="{$webRoot}/qs/images/filter.gif" border="0"/></td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext"><a href="javascript:document.forms['fDrill{position()}'].submit()"><xsl:value-of select="*[local-name()='name']"/></a></td>
- <td width="1" height="15"><img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/></td>
- <td width="50%" nowrap="" height="10" class="tabletext">Dynamic Filter</td>
- </tr>
- <form name="fDrill{position()}" method="post">
- <input type="hidden" name="b_action" value="cognosViewer"/>
- <input type="hidden" name="ui.action" value="run"/>
- <input type="hidden" name="ui.object" value="{*[local-name()='targetReport']}"/>
- <input type="hidden" name="ui.name" value="{*[local-name()='name']}"/>
- <input type="hidden" name="run.prompt" value="false"/>
- <input type="hidden" name="drill.up" value="{xtsdrillext:convertPPFilterToC8FilterSpec(*[local-name()='filterPredicate'])}"/>
- </form>
- </xsl:for-each>
- </xsl:if>
-
- <!-- Render authored drill throughs -->
- <xsl:if test="/root/drillthruContext/authoredDrillthru and /root/drillthruContext/authoredDrillthru != ''">
- <xsl:for-each select="/root/drillthruContext/authoredDrillthru/context/member">
- <xsl:variable name="searchPath">
- <xsl:value-of select="xtsext:urldecode(./drillThroughSearchPath)"/>
- </xsl:variable>
- <xsl:variable name="tooltip">
- <xsl:value-of select="/root/*[local-name()='authoredDrillThroughDetails']/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='screenTip']/*[local-name()='multilingualString']"/>
- </xsl:variable>
- <xsl:variable name="drillPath"><xsl:value-of select="data"/></xsl:variable>
- <xsl:variable name="drillPath_form">
- <xsl:value-of select="concat('drillPath_form_authored', string(position()))"/>
- </xsl:variable>
- <tr style="height: 1px;">
- <td nowrap="" height="10" class="tabletext">
- <xsl:choose>
- <xsl:when test="./drillThroughAction='execute' or ./drillThroughAction='run' or ./drillThroughAction='reportView'">
- <xsl:choose>
- <xsl:when test="./*[local-name()='drillThroughFormat'] != ''">
- <xsl:call-template name="pick-icon">
- <xsl:with-param name="outputType" select="./*[local-name()='drillThroughFormat']"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="pick-icon">
- <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="./drillThroughAction='execute' or ./drillThroughAction='run'">
- <img width="12" height="16" src="{$webRoot}/ps/portal/images/action_run.gif"/>
- </xsl:if>
- </xsl:when>
- <xsl:when test="./drillThroughAction='editAnalysis'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_ps_analysis.gif"/>
- </xsl:when>
- <xsl:when test="./drillThroughAction='editQuery'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_qs_query.gif"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="pick-icon">
- <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td width="1" height="15">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext">
- <!-- Generate the form for the entry -->
- <xsl:variable name="action" select="substring-before($drillPath, '?')"/>
- <xsl:variable name="arguments" select="substring-after($drillPath, '?')"/>
- <form name="{$drillPath_form}" method="post" style="display:none">
- <xsl:attribute name="action"><xsl:value-of select="$action"/></xsl:attribute>
- <xsl:call-template name="getToPostConversion">
- <xsl:with-param name="arguments">
- <xsl:value-of select="$arguments"/>
- </xsl:with-param>
- </xsl:call-template>
- </form>
- <a>
- <xsl:attribute name="href">#</xsl:attribute>
- <xsl:attribute name="onclick">javascript:onClickDrillThrough('authoredDrillthru', '<xsl:value-of select="xtsext:javascriptencode($drillPath)"/>', '', '', '<xsl:value-of select="$drillPath_form"/>')</xsl:attribute>
- <xsl:attribute name="title">
- <xsl:value-of select="name"/>
- <xsl:text> - </xsl:text>
- <xsl:value-of select="$tooltip"/>
- </xsl:attribute>
- <xsl:value-of select="name"/>
- </a>
- </td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext">
- <xsl:for-each select="/root/*[local-name()='authoredDrillThroughDetails']/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo']">
- <xsl:value-of select="./*[local-name()='title']"/>
- <xsl:text> > </xsl:text>
- </xsl:for-each>
- <xsl:value-of select="/root/*[local-name()='authoredDrillThroughDetails']/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='defaultName']"/>
- </td>
- </tr>
- </xsl:for-each>
- </xsl:if>
- <!-- add in model-based drill through rendering code here -->
- <xsl:if test="$theobj/*[local-name()='paths'] and $theobj/*[local-name()='paths'] != ''">
- <xsl:variable name="context">
- <xsl:if test="/root/drillthruContext/modeledDrillthru/context">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/drillthruContext/modeledDrillthru/context/*/child::*"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="contextEnc">
- <xsl:if test="/root/drillthruContext/modeledDrillthru/context">
- <xsl:value-of select="xtsext:web64encode(string($context), true())"/>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="executionParameters">
- <xsl:if test="/root/drillthruContext/executionParameters">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root/drillthruContext/executionParameters/*/child::*"/>
- </xsl:call-template>
- </xsl:if>
- </xsl:variable>
- <xsl:variable name="executionParametersEnc">
- <xsl:if test="/root/drillthruContext/executionParameters">
- <xsl:value-of select="xtsext:web64encode(string($executionParameters), true())"/>
- </xsl:if>
- </xsl:variable>
- <xsl:for-each select="/root/cm:queryResponse/cm:queryReply">
- <xsl:variable name="searchPath">
- <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='searchPath']"/>
- </xsl:variable>
- <xsl:if test="$searchPath != ''">
- <xsl:variable name="tooltip">
- <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='screenTip']"/>
- </xsl:variable>
- <tr style="height: 1px;">
- <td nowrap="" height="10" class="tabletext">
- <xsl:variable name="mdAction">
- <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='action']"/>
- </xsl:variable>
- <xsl:variable name="mdClass">
- <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='target']//*[local-name()='objectClass']"/>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="$mdAction='run' or $mdAction='execute' or $mdAction='reportView'">
- <xsl:choose>
- <!-- <xsl:when test="./*[local-name()='modelDrillThroughTargetDetails']/*/*/*[local-name()='executionFormat'] != ''"> -->
- <xsl:when test="/root/modelDrillThroughTargetDetails/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='executionFormat'] != ''">
- <xsl:call-template name="pick-icon">
- <!-- <xsl:with-param name="outputType" select="./*[local-name()='modelDrillThroughTargetDetails']/*/*/*[local-name()='executionFormat']"/> -->
- <xsl:with-param name="outputType" select="/root/modelDrillThroughTargetDetails/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='executionFormat']"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="pick-icon">
- <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="$mdAction='run' or $mdAction='execute'">
- <img width="12" height="16" src="{$webRoot}/ps/portal/images/action_run.gif"/>
- </xsl:if>
- </xsl:when>
- <xsl:when test="$mdAction='edit'">
- <xsl:if test="$mdClass='analysis'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_ps_analysis.gif"/>
- </xsl:if>
- <xsl:if test="$mdClass='query'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_qs_query.gif"/>
- </xsl:if>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="pick-icon">
- <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
-
- <!-- Add popup menus to allow a user to display mapping info for the selceted target
- todo: craete string file in drill depot to add new strings.
- -->
-
- <!-- Unique ids are required to create multiple menus -->
-
- <!-- popup menu ids-->
- <xsl:variable name="menuId" select="concat('Menu', generate-id(.))"/>
- <xsl:variable name="menuSpanId" select="concat('MenuSpan', generate-id(.))"/>
- <!-- menu item ids -->
- <xsl:variable name="menuRunId" select="concat('Run', generate-id(.))"/>
- <xsl:variable name="menuDebugId" select="concat('Debug', generate-id(.))"/>
-
- <!-- Add a link to a target and dropdown arrow for a popup menu-->
- <td nowrap="" height="10" class="tabletext">
- <!-- Define a menu with 2 items Run and debug-->
- <xsl:variable name="contactMenu">
- <flyout id="{$menuId}">
- <items>
- <item id="{$menuRunId}">
- <text><xts:string id="DEBUG_RUN"/></text>
- <action>onClickDrillThrough('modeledDrillThroughPath', '<xsl:value-of select="xtsext:web64encode(string(./*/*[local-name()='searchPath']), true())"/>', '<xsl:value-of select="$executionParametersEnc"/>', '<xsl:value-of select="$contextEnc"/>');
- </action>
- </item>
- <item id="{$menuDebugId}">
- <text><xts:string id="DEBUG_DEBUG"/></text>
- <action>javascript:showTargetInfo('modeledDrillThroughPath', '<xsl:value-of select=" xtsext:web64encode(string(./*/*[local-name()='searchPath']), true())"/>', '<xsl:value-of select="$executionParametersEnc"/>', '<xsl:value-of select="$contextEnc"/>'); </action>
- </item>
- </items>
- </flyout>
- </xsl:variable>
- <!-- Display a link to drill to the target directly-->
- <a>
- <xsl:attribute name="href">#</xsl:attribute>
- <xsl:attribute name="onclick">javascript:onClickDrillThrough('modeledDrillThroughPath', '<xsl:value-of select="xtsext:web64encode(string(./*/*[local-name()='searchPath']), true())"/>', '<xsl:value-of select="$executionParametersEnc"/>', '<xsl:value-of select="$contextEnc"/>')</xsl:attribute>
- <xsl:attribute name="title">
- <xsl:value-of select="./*/*[local-name()='defaultName']"/>
- <xsl:text> - </xsl:text>
- <xsl:value-of select="$tooltip"/>
- </xsl:attribute>
- <xsl:value-of select="./*/*[local-name()='defaultName']"/>
- </a>
- <!-- A dropdown arrow to invoke drill through assistant. It is only available when a user has Capability to run the tool-->
- <xsl:if test="($hasDrillThroughAssistantCapability)">
- <img name="contactMenu_imgFlyControl" src="{$skin_shared_images}dropdown_arrow.gif" title="" alt="">
- <xsl:attribute name="onclick">
- <xsl:text>return CCPopupMenu.dropDown(event,0,0,'</xsl:text>
- <xsl:value-of select="$menuId"/>
- <xsl:text>');</xsl:text>
- </xsl:attribute>
- </img>
- </xsl:if>
- <!-- Display menus and add z-index to make sure it is on the top-->
- <div id="{$menuSpanId}" style="z-index:1; position: relative;">
- </div>
-
- <!--Call to create menus -->
- <xsl:call-template name="renderPopup">
- <xsl:with-param name="flyoutXML">
- <xsl:copy-of select="$contactMenu"/>
- </xsl:with-param>
- <xsl:with-param name="controlID"><xsl:value-of select="$menuSpanId"/></xsl:with-param>
- </xsl:call-template>
- <!-- end popup -->
-
- </td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext">
- <xsl:for-each select="/root/modelDrillThroughTargetDetails/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo']">
- <xsl:value-of select="./*[local-name()='title']"/>
- <xsl:text> > </xsl:text>
- </xsl:for-each>
- <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='defaultName']"/>
- </td>
- </tr>
- </xsl:if>
- </xsl:for-each>
- </xsl:if>
- <!-- Render Drillthrough actions entries - URI | HTML -->
- <xsl:if test="$theobj/*[local-name()='actions'] and $theobj/*[local-name()='actions'] != ''">
- <xsl:for-each select="$theobj/*[local-name()='actions']/*[local-name()='item']">
- <!--
- <xsl:variable name="uri" select="translate(normalize-space(string(bus:uri)), 'HTML','html')"/>
- <xsl:variable name="isurl" select="not(starts-with($uri,'<') or contains($uri,'<html>'))"/>
- -->
- <xsl:variable name="isuri" select="true()"/>
- <tr style="height: 1px;">
- <td nowrap="" height="10" class="tabletext">
- <img width="16" height="16" src="{$webRoot}/rv/images/icon_ms_analysis_action.gif"/>
- </td>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <xsl:choose>
- <xsl:when test="$isuri">
- <xsl:variable name="actionURI" select="string(bus:uri)"/>
- <xsl:variable name="drillPath_form">
- <xsl:if test="string-length($actionURI) > 2048">
- <xsl:value-of select="concat('drillPath_form_action', string(position()))"/>
- </xsl:if>
- </xsl:variable>
- <td width="50%" nowrap="" height="10" class="tabletext">
- <!-- Generate the form for the entry -->
- <xsl:if test="string-length($actionURI) > 2048">
- <xsl:variable name="action" select="substring-before($actionURI, '?')"/>
- <xsl:variable name="arguments" select="substring-after($actionURI, '?')"/>
- <form name="{$drillPath_form}" method="post">
- <xsl:attribute name="action">
- <xsl:value-of select="$action"/>
- </xsl:attribute>
- <xsl:call-template name="getToPostConversion">
- <xsl:with-param name="arguments">
- <xsl:value-of select="$arguments"/>
- </xsl:with-param>
- </xsl:call-template>
- </form>
- </xsl:if>
- <a>
- <xsl:attribute name="href">#</xsl:attribute>
- <xsl:attribute name="onclick">javascript:onClickDrillThrough('modeledDrillThroughAction', '<xsl:value-of select="xtsext:javascriptencode(string($actionURI))"/>', '', '', '<xsl:value-of select="$drillPath_form"/>')</xsl:attribute>
- <xsl:attribute name="title">
- <xsl:value-of select="bus:name"/>
- </xsl:attribute>
- <xsl:value-of select="bus:name"/>
- </a>
- </td>
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="actionHTML" select="bus:uri"/>
- <script language="JavaScript">
- var html_<xsl:value-of select="position()"/> = '<xsl:value-of select="xtsext:javascriptencode(xtsext:xmldecode($actionHTML))"/>';
- function run_<xsl:value-of select="position()"/>() {
- document.write(html_<xsl:value-of select="position()"/>);
- document.close();
- }
- </script>
- <td width="50%" nowrap="" height="10" class="tabletext">
- <a>
- <xsl:attribute name="href">javascript:run_<xsl:value-of select="position()"/>()</xsl:attribute>
- <xsl:value-of select="bus:name"/>
- </a>
- </td>
- </xsl:otherwise>
- </xsl:choose>
- <td width="1" height="15">
- <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
- </td>
- <td width="50%" nowrap="" height="10" class="tabletext">
- <xsl:text> - </xsl:text>
- </td>
- </tr>
- </xsl:for-each>
- </xsl:if>
- </tbody>
- </table>
-
- <!-- Provide debug info for source, the info sent to GOTO page from various sources (Studios, Viewer and test page ...)
- There are 4 types of drill through: custom URL, dynamic filtering, authered and model based.
- We only allow a user to see these info when he has capability to run Drill Through Assistant.
- -->
-
- <xsl:if test="($hasDrillThroughAssistantCapability)">
- <script>
- var bShowSourceState = false;
-
- //toggle the debug pane
- function showSourceInfo()
- {
-
- var oSourceInfo = document.getElementById('idDebugInfo');
- if (bShowSourceState == true)
- {
- oSourceInfo.style.display = 'none';
- bShowSourceState = false;
- }
- else
- {
- oSourceInfo.style.display = 'block';
- bShowSourceState = true;
- }
-
-
- }
-
- // Invoke to show a mapping info of a selected target
-
- function showTargetInfo(drillType, drillPath, executionParameters, context, drillPath_form)
- {
- var oForm = document.forms['f'];
- document.f.drillPath.value = drillPath;
- document.f.executionParameters.value = executionParameters;
- document.f.context.value = context;
- document.f.drillType.value = drillType;
- document.getElementById('targetIframe').style.display = "inline";
- document.getElementById('targetIframe').style.overflow= "auto";
- document.f.submit();
- }
- </script>
- <!--Display a link to show/hide source info -->
- <TABLE border="0" cellpadding="0" cellspacing="0" style="margin-top: 5px; align:right">
- <TR onClick="showSourceInfo()">
- <TD class="formText" width="100%"> </TD>
- <!--TD class="formText" nowrap="nowrap"><A href="#">Source Information</A-->
- <TD class="formText" nowrap="nowrap"><A href="#"><xts:string id="DEBUG_SOURCE_INFORMATION"/></A>
- </TD>
- <TD align="left"><IMG border="0" src="{$webRoot}/common/images/spacer.gif" width="3" height="1"/>
- </TD>
- <TD><IMG border="0" src="{$skin_root}/prompting/images/prompt_option_expand.gif"/>
- </TD>
- </TR>
- </TABLE>
- <!-- Show debug info for custom URL, dynamic filter, authored and model based -->
- <div id="idDebugInfo" style="display:none">
- <table>
- <!-- Provide debug info custom urls -->
- <xsl:if test="/root/*[local-name()='URLArray']/*[local-name()='array'] != ''">
- <tr>
- <td colspan="2" nowrap="" height="10" class="formLabel">
- <xts:string id="DEBUG_CUSTOM_URL"/></td>
- </tr>
- <xsl:for-each select="/root/*[local-name()='URLArray']/*[local-name()='array']">
- <tr >
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_NAME"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
- </tr>
- <tr >
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_DESCRIPTION"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='description']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_URL"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='url']"/></td>
- </tr>
- </xsl:for-each>
- </xsl:if>
-
- <!-- Provide debug information for package drill through for PowerPlay Studio -->
- <!-- The following info are provided
- Context type: Where the request is originated from. It is always PowerPlay Studio.
- Encoding:The current encoding PowerPlayStudio is rendering in.
- Model path:A model path in Base64 encoded form ?
- Data source name:A data source name.
- Relational predicate filters: Relational filters defined in an array of predicate filters.
- OLAP predicate filters:OLAP filters defined in an array of predicate filters.
- -->
-
- <xsl:if test="/root/env/param[@name='drillContext'] and /root/env/param[@name='drillContext'] != ''">
- <tr>
- <td colspan="2" nowrap="" height="10" class="formLabel">
- <xts:string id="DEBUG_PACKAGE_BASED_DRILL_THROUGH"/></td>
- </tr>
- <xsl:for-each select="/root/*[local-name()='converterResponse']/*[local-name()='Response']/*[local-name()='ConverterInput']/*[local-name()='array']">
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_CONTEXT_TYPE"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="(*[local-name()='contextType'])"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_ENCODING"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='encoding']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_MODEL_PATH"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='modelPath']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_DATA_SOURCE_NAME"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='dataSourceName']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_RELATIONAL_PREDICATE_FILTERS"/></td>
- <td width="100%" height="10" class="tabletext" valign="top"><textarea rows="4" cols="80"><xsl:value-of select="(*[local-name()='predicateFilters']/*[local-name()='relational'])" disable-output-escaping="yes"/></textarea></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_OLAP_PREDICATE_FILTERS"/></td>
- <td width="100%" height="10" class="tabletext" valign="top"><textarea rows="4" cols="80"><xsl:value-of select="(*[local-name()='predicateFilters']/*[local-name()='olap'])" disable-output-escaping="yes"/></textarea></td>
- </tr>
- </xsl:for-each>
- </xsl:if>
-
- <!--Provides debug information for the dynamic filtering-->
- <xsl:if test="/root/*[local-name()='DirectActionArray']/*[local-name()='array'] != ''">
- <tr>
- <td colspan="2" nowrap="" height="10" class="formLabel">
- <xts:string id="DEBUG_DYNAMIC_FILTER"/></td>
- </tr>
- <xsl:for-each select="/root/*[local-name()='DirectActionArray']/*[local-name()='array']">
- <tr >
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_ACTION"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='action']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_TARGET_REPORT_NAME"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_TARGET_SEARCH_PATH"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='targetReport']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_S7_FILTER_PREDICATE"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='filterPredicate']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_COGNOS8_FILTER_SPECIFICATION"/></td>
- <td height="10" class="tabletext" valign="top"><textarea rows="10" cols="80"><xsl:value-of select="xtsext:xmlencode(xtsdrillext:convertPPFilterToC8FilterSpec(*[local-name()='filterPredicate']))" disable-output-escaping="yes"/></textarea></td>
- </tr>
- </xsl:for-each>
- </xsl:if>
-
- <!--Provide authored Drill through debug info -->
- <xsl:if test="/root/env/param[@name='authoredDrillthru'] and /root/env/param[@name='authoredDrillthru'] != ''">
- <tr>
- <td colspan="2" nowrap="" height="10" class="formLabel">
- <xts:string id="DEBUG_AUTHORED_DRILL_THROUGH"/></td>
- </tr>
- <xsl:for-each select="/root/*[local-name()='drillthruContext']/*[local-name()='authoredDrillthru']/*[local-name()='context']/*[local-name()='member']">
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_TARGET_SEARCH_PATH"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="xtsext:urldecode(*[local-name()='drillThroughSearchPath'])"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_ACTION"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='drillThroughAction']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_FORMAT"/></td>
- <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='drillThroughFormat']"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_DATA"/></td>
- <td width="100%" height="10" class="tabletext" valign="top"><textarea rows="5" cols="80"><xsl:value-of select="xtsext:xmlencode(*[local-name()='data'])" disable-output-escaping="yes"/></textarea></td>
- </tr>
- </xsl:for-each>
- </xsl:if>
-
- <!-- Provide package based drill through debug info -->
- <xsl:if test="/root/env/param[@name='modeledDrillthru'] and /root/env/param[@name='modeledDrillthru'] != ''">
- <tr>
- <td colspan="2" nowrap="" height="10" class="formLabel">
- <xts:string id="DEBUG_PACKAGE_BASED_DRILL_THROUGH"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_PACKAGE_SEARCH_PATH"/></td>
- <td class="formText">
- <xsl:for-each select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]/*[local-name()='drillPath']/*[local-name()='ancestors']/*[local-name()='ancestorInfo']">
- <xsl:if test="./*[local-name()='objectClass']='package'">
- <xsl:value-of select="./*[local-name()='searchPath']"/>
- </xsl:if>
- </xsl:for-each>
- </td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_SOURCE_PARAMETERS"/></td>
- </tr>
- </xsl:if>
- </table>
-
- <!-- create a table for selection context and source parameters that sent to Goto page-->
- <xsl:if test="/root/env/param[@name='modeledDrillthru'] and /root/env/param[@name='modeledDrillthru'] != ''">
- <table width="100%" cellspacing="0" cellpadding="2" border="0" class="cctable">
- <thead id="Header">
- <tr class="tableHeader">
- <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_ITEM_NAME"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_DISPLAY"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="70%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_USE"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </thead>
-
- <!-- Selected Context by user -->
- <xsl:for-each select="/root/*[local-name()='drillthruContext']/*[local-name()='modeledDrillthru']/*[local-name()='context']/*[local-name()='parameterValues']/*[local-name()='item']">
- <tr>
- <!-- Model Item Name -->
- <td valign="top" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
- <td></td>
- <!-- Display Value -->
- <xsl:for-each select="/*[local-name()='value']/*[local-name()='item']"/>
- <td nowrap="" height="10" class="tabletext">
- <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
- <xsl:value-of select="*[local-name()='display']"/>
- <br/>
- </xsl:for-each>
- </td>
- <td></td>
- <!-- Use value -->
- <td nowrap="" height="10" class="tabletext">
- <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
- <xsl:value-of select="*[local-name()='use']"/>
- <br/>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:for-each>
- </table>
- <!-- End of selected context -->
-
-
-
- <!-- Source Parameters: This section shows the parameters passed by source reports (if any) -->
- <!-- This condition is used to create the source parameters table if required -->
- <xsl:if test="count(/root/*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameters']/*[local-name()='item']//*[local-name()='display']) > 0">
- <br/>
- <table width="100%" cellspacing="0" cellpadding="2" border="0" class="cctable">
- <thead id="Header">
- <tr class="tableHeader">
- <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_PARAMETER_NAME"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_DISPLAY"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="70%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_USE"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- </tr>
- </thead>
-
- <!-- To handle cases with multiple parameters in source report -->
- <xsl:for-each select="/root/*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameters']/*[local-name()='item']">
- <!-- This condition is used To prevent showing credentials in the UI -->
- <xsl:if test="not(contains(*[local-name()='name'],'credential'))">
-
- <tr>
- <!-- Source parameter name -->
- <td valign="top" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
- <td></td>
-
- <!-- we can have multiple values for one parameter -->
- <xsl:for-each select="/*[local-name()='value']/*[local-name()='item']"/>
-
- <!-- Source parameter display -->
- <td nowrap="" height="10" class="tabletext">
- <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
- <xsl:value-of select="*[local-name()='display']"/>
-
- <!-- Start of handling in range parameters - Display value -->
- <!-- Check to see if we have range type parameters -->
- <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
-
- <!-- check to see if we have the start range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='start']!=''">
- <xsl:value-of select="*[local-name()='start']/*[local-name()='display']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- <br/>
-
- <!-- Check to see if we have the end range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='end']!=''">
- <xsl:value-of select="*[local-name()='end']/*[local-name()='display']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:if>
- <!-- End of handling range parameters - Display Value -->
-
-
- <br/>
- </xsl:for-each>
- </td>
- <td></td>
- <td nowrap="" height="10" class="tabletext">
-
- <!-- Source paramtere use -->
- <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
- <xsl:value-of select="*[local-name()='use']"/>
-
- <!-- Start of handling in range parameters - Use value -->
- <!-- Check to see if we have range type parameters -->
- <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
-
- <!-- check to see if we have the start range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='start']!=''">
- <xsl:value-of select="*[local-name()='start']/*[local-name()='use']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- <br/>
-
- <!-- Check to see if we have the end range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='end']!=''">
- <xsl:value-of select="*[local-name()='end']/*[local-name()='use']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:if>
- <!-- End of handling range parameters - Use Value -->
-
- <br/>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:if>
- </xsl:for-each>
- </table>
- </xsl:if>
- <!-- End of source parameters -->
-
- </xsl:if>
- </div>
- <!-- End passed source values -->
-
- <!-- Used to invoke target mapping info pane -->
- <form name="f" method="post" action="{$gateway}?b_action=xts.run&m={$app}/goto.xts" target="mapping">
- <input name="drillPath" type="hidden" value=""/>
- <input name="executionParameters" type="hidden" value=""/>
- <input name="context" type="hidden" value=""/>
- <input name="debugTarget" type="hidden" value=""/>
- <input name="drillType" type="hidden" value=""/>
- </form>
-
- <!-- iFrame is used to display mapping info for a selected target-->
- <!-- iFrame display has been set to none and we make it visible on the run time and when we call it. -->
- <iframe id="targetIframe" style="display: none;" src="" name="mapping" width="100%" height="400px"
- marginwidth="0" marginheight="0" frameborder="0"></iframe>
-
- </xsl:if>
- <!-- End of goto info code-->
- </div>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:otherwise>
- </xsl:choose>
- </lyt:section>
- </lyt:layout>
- <dp:footer>
- <df:button df:id="IDS_CANCEL" df:style="href" df:href="javascript:onClose()"/>
- </dp:footer>
- </dp:page>
- </xsl:template>
- <xsl:template name="pick-icon">
- <xsl:param name="outputType"/>
- <xsl:choose>
- <xsl:when test="$outputType='HTML' or $outputType='HTMLFragment'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_html.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='PDF'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_pdf.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='XML'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_xml.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='CSV'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_csv.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='singleXLS'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel_single.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='XLS'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='XLWA'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel_web_arch.gif"/>
- </xsl:when>
- <xsl:when test="$outputType='spreadsheetML'">
- <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel_2007.gif"/>
- </xsl:when>
- </xsl:choose>
- </xsl:template>
- <pf:serialize-xml/>
- <gp:getToPostConversion/>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getDrillThroughTargetParameterValues" processor="XSLT" type="exec" dependency="secondary-request handleDirectLaunch" mandatory="false"
- condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
- not(string(/root/env/param[@name='ui.action'])='wait')]" nodelist="env, header, http, cookies, drillPath, drillthruContext, response">
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:key name="env-param" match="/root/env/param" use="@name"/>
- <xsl:template match="/root">
- <xsl:variable name="drillPath">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='directLaunch']='true'">
- <xsl:value-of select="/root/*[local-name()='response']/*/*[local-name()='Body']/*/*/*[local-name()='details']/*[local-name()='item'][@*[local-name()='type']='bus:asynchDetailDrillThroughPaths']/*[local-name()='paths']/*[local-name()='item'][@*[local-name()='type']='bus:drillThroughPath']/*[local-name()='searchPath']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='drillPath'], true())"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="context">
- <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='context'], true())" disable-output-escaping="yes"/>
- </xsl:variable>
-
- <xsl:variable name="executionParameters">
- <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='executionParameters'], true())" disable-output-escaping="yes"/>
- </xsl:variable>
-
- <xts:sequence>
- <xts:append select="/root">
- <drillPath><xsl:value-of select="$drillPath"/></drillPath>
- </xts:append>
- <xts:delete select="/root/*[local-name()='response']"/>
- <xts:append select="/root">
- <response>
-
- <send:request provider="warp" option="xml-multipart" outputHeader="true" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/reportService/1">
- <getDrillThroughTargetParameterValues xmlns="http://developer.cognos.com/schemas/reportService/1">
- <objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="$drillPath"/></objectPath>
- <sourceContextValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='directLaunch']='true'">
- <xsl:copy-of select="/root/*[local-name()='drillthruContext']/*[local-name()='modeledDrillthru']/*[local-name()='context']/*/*"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$context"/>
- </xsl:otherwise>
- </xsl:choose>
- </sourceContextValues>
- <!-- TODO: Send the source parameter values only if user wants to do it.
- User should be able to set the source parameters to passed or not -->
- <parameterValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='directLaunch']='true'">
- <xsl:copy-of select="/root/*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*/*"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$executionParameters"/>
- </xsl:otherwise>
- </xsl:choose>
- </parameterValues>
- <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]"/>
- </getDrillThroughTargetParameterValues>
- </send:request>
-
- </response>
- </xts:append>
- <xts:delete select="/root/*[local-name()='resultStatus']"/>
- <xts:append>
- <resultStatus>
- <xts:queryNode select="/root//*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='status']"/>
- </resultStatus>
- </xts:append>
- </xts:sequence>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="polling_getDrillThroughTargetParameterValues_request" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false"
- dependency="getDrillThroughTargetParameterValues"
- condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
- (/root/resultStatus = 'working' or /root/resultStatus = 'stillWorking')] " nodelist="env, header, http, response, cookies, user, system"> <!-- user and system nodes are required when a request takes a long time to process. ("working"/" still working is returned as a response) -->
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <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:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- 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:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:xs="http://www.w3.org/2001/XMLSchema">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <pf:variables/>
- <pf:serialize-xml/>
- <xsl:template match="/">
- <xsl:variable name="contextid">
- <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
- </xsl:variable>
- <xsl:variable name="tracking">
- <xsl:for-each select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']">
- <xsl:variable name="markup-track">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="."/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="string($markup-track)"/>
- </xsl:for-each>
- </xsl:variable>
- <xsl:variable name="conversation">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*/*[local-name() = 'primaryRequest']/*"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <html>
- <!-- CSSs requird to use format properly -->
- <link rel="stylesheet" type="text/css" href="{$skin_root}/portal/default.css"/>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/RVReport.css"/>
- <body>
- <table id="workingStatus" cellspacing="0" cellpadding="0" width="100%" height="100%" align="center" valign="middle">
- <tr>
- <td width="100%" height="100%" align="center" valign="middle">
- <table align="center" cellspacing="0" cellpadding="0" style="vertical-align:middle; border:1px outset;" class="busyBody">
- <tr>
- <td rowspan="2">
- <img src="{$brand_images}progress.gif" style="margin:5px;" width="48" height="48" name="progress"/>
- </td>
- <td nowrap="nowrap">
- <span class="busyUpdatingStr">
- <xts:string id="GOTO_WORKING"/>
- </span>
- </td>
- </tr>
- <tr>
- <td nowrap="nowrap">
- <span class="busyUpdatingStr">
- <xts:string id="RV_PLEASE_WAIT"/>
- </span>
- </td>
- </tr>
- <tr>
- <td style="height:7px;" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <form name="formWarpRequest" id="formWarpRequest" method="POST" action="{$gateway}" style="margin:0px;height:100%;">
- <input type="hidden" name="drillPath">
- <xsl:attribute name="value">
- <xsl:choose>
- <xsl:when test="/root/env/param[@name='directLaunch']='true'">
- <xsl:value-of select="/root/*[local-name()='drillPath']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="/root/env/param[@name='drillPath']"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:attribute>
- </input>
- <input type="hidden" name="context">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='context']"/></xsl:attribute>
- </input>
- <input type="hidden" name="drillType">
- <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='drillType']"/></xsl:attribute>
- </input>
- <input type="hidden" name="redirect"/>
- <input type="hidden" name="ui.action" value="wait"/>
- <input type="hidden" name="m" value="portal/goto.xts"/>
- <input type="hidden" name="b_action" value="xts.run"/>
- <input type="hidden" name="inlineSpec" value=""/>
- <input type="hidden" name="conversation">
- <xsl:attribute name="value"><xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($conversation), true()))"/></xsl:attribute>
- </input>
- <input type="hidden" name="tracking">
- <xsl:attribute name="value"><xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($tracking), true()))"/></xsl:attribute>
- </input>
- <xsl:if test="/root/env/param[@name='directLaunch']='true'">
- <input type="hidden" name="directLaunch" value="true"/>
- </xsl:if>
- <xsl:if test="$contextid!=''">
- <input type="hidden" name="cafcontextid">
- <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
- </input>
- </xsl:if>
- </form>
- </body>
- <script language="javascript">
- document.formWarpRequest.submit();
- setTimeout('document.progress.src="<xsl:value-of select="xtsext:javascriptencode(string($brand_images))"/>progress.gif"', 1);
- </script>
- </html>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getDrillPath" processor="XSLT" type="exec" dependency="getDrillThroughTargetParameterValues" mandatory="false"
- condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
- (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]" nodelist="env, resultStatus, header, http, cookies, drillPath">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <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"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xsl:variable name="drillPath">
- <xsl:choose>
- <xsl:when test="string(/root/env/param[@name='drillPath'])!=''">
- <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='drillPath'], true())"/>
- </xsl:when>
- <xsl:when test="/root/env/param[@name='directLaunch']='true'">
- <xsl:value-of select="/root/*[local-name()='drillPath']"/>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:if test="$drillPath and $drillPath != ''">
- <xts:sequence>
- <xts:delete select="/root/*[local-name()='queryResponse']"/>
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>
- <xsl:value-of select="$drillPath"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="action"/>
- <cm:property name="options"/>
- <cm:property name="target"/>
- </cm:properties>
- <cm:options schemaInfo="true">
- <cm:refProps>
- <cm:refProp refPropName="target">
- <cm:properties>
- <cm:property name="searchPath"/>
- <cm:property name="defaultName"/>
- <cm:property name="action"/>
- </cm:properties>
- </cm:refProp>
- </cm:refProps>
- </cm:options>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getTargetReport" processor="XSLT" type="exec" dependency="getDrillPath" mandatory="false"
- condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
- (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- 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/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xsl:variable name="report_path">
- <xsl:value-of select="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='searchPath']"/>
- </xsl:variable>
- <xsl:if test="$report_path and $report_path != ''">
- <xts:sequence>
- <xts:append>
- <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
- <send:request provider="cm">
- <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
- <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
- <cm:search>
- <xsl:value-of select="$report_path"/>
- </cm:search>
- <cm:properties>
- <cm:property name="defaultName"/>
- <cm:property name="action"/>
- <cm:property name="defaultOutputFormat"/>
- <cm:property name="defaultPortalAction"/>
- <cm:property name="permissions"/>
- <cm:property name="base"/>
- <cm:property name="searchPath"/>
- <cm:property name="format"/>
- <cm:property name="disabled"/>
- </cm:properties>
- <options xsi:type="xsd:queryOptions">
- <refProps xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:refProp[]">
- <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">disabled</item>
- <item xsi:type="cm:propEnum">storeID</item>
- </properties>
- </item>
- </refProps>
- </options>
- </cm:query>
- </xts:transform>
- </send:request>
- </xts:transform>
- </xts:append>
- </xts:sequence>
- </xsl:if>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="extractBookmark" processor="XSLT" type="exec" dependency="getDrillThroughTargetParameterValues getOutput getDrillPath getTargetReport" mandatory="false"
- condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
- (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]" nodelist="env, resultStatus, response">
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:if test="/root//*[local-name()='Envelope']/*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*/*[local-name()='item']/*[local-name()='name']='_bookmarkItem'">
- <xts:append select="/root">
- <bookmarkRef>
- <xsl:value-of select="/root//*[local-name()='Envelope']/*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*/*[local-name()='item'][./*[local-name()='name']='_bookmarkItem']/*[local-name()='value']/*/*[local-name()='display']"/>
- </bookmarkRef>
- </xts:append>
- </xsl:if>
- <xts:delete select="/root//*[local-name()='Envelope']/*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*/*[local-name()='item'][./*[local-name()='name']='_bookmarkItem']"/>
- </xts:sequence>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="getTarget" processor="XSLT" type="exec" dependency="extractBookmark" mandatory="false"
- condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
- (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
- <xts:logicsheet path="logicsheets/buslogic.xslt"/>
- <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
- xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
- xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
- xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
- <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
- <xsl:template match="/">
- <xts:sequence>
- <xsl:variable name="theobj" select="/root//*[local-name()='Envelope']/*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']"/>
- <xsl:if test="$theobj">
- <xsl:if test="/root/cm:queryResponse[2]/cm:report or /root/cm:queryResponse[2]/cm:reportView or /root/cm:queryResponse[2]/cm:query or /root/cm:queryResponse[2]/cm:analysis">
- <xsl:variable name="targetParameterValues">
- <xsl:call-template name="serialize-xml">
- <xsl:with-param name="node-set" select="$theobj/*"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='report']">
- <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='report']">
- <drillThroughTargetParameterValues>
- <xsl:value-of select="xtsext:web64encode(string($targetParameterValues), true())"/>
- </drillThroughTargetParameterValues>
- </xts:append>
- </xsl:when>
- <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='reportView']">
- <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='reportView']">
- <drillThroughTargetParameterValues>
- <xsl:value-of select="xtsext:web64encode(string($targetParameterValues), true())"/>
- </drillThroughTargetParameterValues>
- </xts:append>
- </xsl:when>
- <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='query']">
- <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='query']">
- <drillThroughTargetParameterValues>
- <xsl:value-of select="xtsext:web64encode(string($targetParameterValues), true())"/>
- </drillThroughTargetParameterValues>
- </xts:append>
- </xsl:when>
- <xsl:otherwise>
- <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='analysis']">
- <drillThroughTargetParameterValues>
- <xsl:value-of select="$targetParameterValues"/>
- </drillThroughTargetParameterValues>
- </xts:append>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:if>
- </xsl:if>
- </xts:sequence>
- </xsl:template>
- <pf:serialize-xml/>
- </xsl:stylesheet>
- </xts:block>
- <xts:block id="redirect" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getTarget"
- condition=".[/root/env/param[@name='redirect'] and
- (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/permissions.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="logicsheets/validation.xslt"/> <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf"
- xmlns:pm="http://developer.cognos.com/schemas/xts/pm"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
- xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl cm pf xts xtsext lyt dp df cf cp">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <xsl:variable name="mname" select="'goto.xts'"/>
- <mf:variables/>
- <pf:variables/>
- <xsl:template match="/root">
- <xsl:variable name="ui.bookmark">
- <!-- url encode the bookmark string. Replace any spaces with '+' -->
- <xsl:value-of select="xtsext:urlencode(string(/root/*[local-name()='bookmarkRef']),'UTF-8','true')"/>
- </xsl:variable>
- <xsl:variable name="drillType" select="/root/env/param[@name='drillType']"></xsl:variable>
- <xsl:variable name="launchurl">
- <xsl:choose>
- <xsl:when test="/root/cm:queryResponse[2]/cm:report">
- <xsl:call-template name="build-url">
- <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:report"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="/root/cm:queryResponse[2]/cm:reportView">
- <xsl:call-template name="build-url">
- <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:reportView"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="/root/cm:queryResponse[2]/cm:query">
- <xsl:call-template name="build-url">
- <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:query"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="build-url">
- <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:analysis"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <html>
- <head>
- <xsl:variable name="cmd-form" select="'pform'"/>
- <pf:launch/>
- <script language="javascript">
- var launchurl = "";
- function launchTarget()
- {
- <xsl:choose>
- <xsl:when test="starts-with($launchurl, 'javascript:')">
- launchurl = "<xsl:value-of select="xtsext:javascriptencode($launchurl)"/>";
- </xsl:when>
- <xsl:otherwise>
- launchurl = "<xsl:value-of select="$launchurl"/>";
- </xsl:otherwise>
- </xsl:choose>
- if (launchurl.indexOf("javascript:") == 0)
- {
- <!-- temp code until portal adds support for ui.bookmark in the template gen-url -->
- <xsl:variable name="tempLaunchURL">
- <xsl:value-of select="substring-before($launchurl, ');')"/>
- <xsl:if test="$ui.bookmark != ''">
- <xsl:text>,'ui.bookmark','</xsl:text>
- <xsl:value-of select="xtsext:javascriptencode($ui.bookmark)"/>
- <xsl:text>'</xsl:text>
- </xsl:if>
- <xsl:text>);</xsl:text>
- </xsl:variable>
- <xsl:value-of select="$tempLaunchURL"/>
- if (window.opener != null && launchurl.indexOf("javascript:cognosLaunchInWindow") != -1)
- {
- window.close();
- }
- }
- else
- {
- window.location.href = launchurl;
- }
- }
- </script>
- </head>
- <xsl:choose>
- <xsl:when test="$launchurl != ''">
- <body onload="launchTarget();"/>
- </xsl:when>
- <xsl:otherwise>
- <script language="javascript">
- function onClose()
- {
- if (window.opener != null)
- {
- window.close();
- }
- }
- </script>
- <xsl:variable name="browserTitle">
- <xts:string id="GOTO_PAGE"></xts:string>
- </xsl:variable>
- <dp:page longTitle="$browserTitle">
- <dp:meta>
- <pf:meta/>
- </dp:meta>
- <dp:script>
- <pf:help context="HID_GOTO_DIALOG"/>
- <script language="javascript">
- <xsl:attribute name="src"><xsl:value-of select="$webcontent"/>/<xsl:value-of select="$app"/>/js/list.js<xsl:text/></xsl:attribute>
- </script>
- </dp:script>
- <dp:header>
- <dp:title>
- <xsl:value-of select="$browserTitle"/>
- </dp:title>
- <dp:description>
- <xts:string id="GOTO_NO_PRIVILEGE"/>
- </dp:description>
- <dp:close>
- <a href="javascript:onClose()">
- <dp:closeMarker/>
- </a>
- </dp:close>
- </dp:header>
- <dp:footer>
- <df:button df:id="IDS_CLOSE" df:style="href" df:href="javascript:onClose()"/>
- </dp:footer>
- </dp:page>
- </xsl:otherwise>
- </xsl:choose>
- </html>
- </xsl:template>
- <xsl:template name="build-url">
- <xsl:param name="report" select="''"/>
- <xsl:apply-templates select="$report"/>
- </xsl:template>
- <xsl:template match="/root/cm:queryResponse/cm:report|/root/cm:queryResponse/cm:reportView|/root/cm:queryResponse/cm:query|/root/cm:queryResponse/cm:analysis">
- <pm:permissions/>
- <xsl:variable name="defaultName" select="cm:defaultName"/>
- <xsl:variable name="class" select="cm:objectClass"/>
- <xsl:variable name="preferredAction">
- <xsl:choose>
- <xsl:when test="/root/cm:queryResponse[1]/cm:drillPath/cm:action and /root/cm:queryResponse[1]/cm:drillPath/cm:action != ''">
- <xsl:value-of select="/root/cm:queryResponse[1]/cm:drillPath/cm:action"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="'viewOutput'"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="permissions" select="cm:permissions"/>
- <xsl:variable name="searchPath" select="cm:searchPath"/>
- <xsl:variable name="disabled" select="cm:disabled"/>
- <xsl:variable name="drillpath_output_format">
- <xsl:choose>
- <xsl:when test="string(/root/cm:queryResponse[1]/cm:drillPath/*[local-name()='options']/*[local-name()='value']/*[local-name()='item' and *[local-name()='name' and . = 'outputFormat']]/*[local-name()='value']/*[local-name()='item']) != ''">
- <xsl:value-of select="string(/root/cm:queryResponse[1]/cm:drillPath/*[local-name()='options']/*[local-name()='value']/*[local-name()='item' and *[local-name()='name' and . = 'outputFormat']]/*[local-name()='value']/*[local-name()='item'])"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$output_format"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <!-- If a prompt is defined in drillpath set it (true or false), otherwise set it to "none" as requested by portal team so gen-url will not include run.prompt as
- part of launchurl -->
-
- <xsl:variable name="drillpath_prompt">
- <xsl:choose>
- <xsl:when test="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'] [./*[local-name()='name'][.='prompt']]">
- <xsl:value-of select="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'] [./*[local-name()='name'][.='prompt']]/*[local-name()='value']"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="none"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
- <xsl:variable name="action">
- <xsl:call-template name="calculate-action">
- <xsl:with-param name="class" select="$class"/>
- <xsl:with-param name="preferredAction" select="$preferredAction"/>
- <xsl:with-param name="output_format" select="$drillpath_output_format"/>
- <xsl:with-param name="canRead" select="$canRead"/>
- <xsl:with-param name="canExecute" select="$canExecute"/>
- <xsl:with-param name="canTraverse" select="$canTraverse"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="launchurl">
- <xsl:call-template name="gen-url">
- <xsl:with-param name="canExecute" select="$canExecute"/>
- <xsl:with-param name="canRead" select="$canRead"/>
- <xsl:with-param name="canTraverse" select="$canTraverse"/>
- <xsl:with-param name="output_format" select="$drillpath_output_format"/>
- <xsl:with-param name="class" select="$class"/>
- <xsl:with-param name="userInterfaces" select="false"/>
- <xsl:with-param name="action" select="$action"/>
- <xsl:with-param name="isDangling" select="false()"/>
- <xsl:with-param name="isContainer" select="false()"/>
- <xsl:with-param name="isIgnoreBackURL" select="true()"/>
- <xsl:with-param name="isDrillthruMode" select="true()"/>
- <xsl:with-param name="specifyRunOutputFormat" select="true()"/>
- <!--Add new param for run.prompt -->
- <xsl:with-param name="executionPrompt" select="$drillpath_prompt"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="$launchurl"/>
- </xsl:template>
- <xsl:template name="calculate-action">
- <xsl:param name="class" select="''"/>
- <xsl:param name="preferredAction" select="''"/>
- <xsl:param name="output_format" select="''"/>
- <xsl:param name="canRead" select="false()"/>
- <xsl:param name="canExecute" select="false()"/>
- <xsl:param name="canTraverse" select="false()"/>
- <xsl:param name="userInterfaces" select="''"/>
- <xsl:variable name="action">
- <xsl:choose>
- <xsl:when test="contains(' analysis report query reportView ', concat(' ', $class, ' ' ))">
- <xsl:choose>
- <xsl:when test="$preferredAction='viewOutput' and ($canRead and $canTraverse)">
- <xsl:choose>
- <xsl:when test="$output_format != '' ">view</xsl:when>
- <xsl:when test="($class='query' or $class='analysis') and ($canRead and $canExecute)">edit</xsl:when>
- <xsl:when test="$canRead and $canExecute">run</xsl:when>
- </xsl:choose>
- </xsl:when>
- <xsl:when test="$preferredAction='run' and ($canRead and $canExecute)">run</xsl:when>
- <xsl:when test="$preferredAction='edit' and ($canRead and $canExecute)">
- <xsl:choose>
- <xsl:when test="$userCanUseQS and ($browser='ie' or $browser='moz')">edit</xsl:when> <!-- query object -->
- <xsl:when test="$userCanUseRS and $browser='ie' ">edit</xsl:when> <!-- report object-->
- <xsl:when test="$userCanUseANS">edit</xsl:when> <!--analysis object -->
- </xsl:choose>
- </xsl:when>
- <!-- this is the fall back if action was not set for report and report view: view, run (wouldn't get to edit) -->
- <!-- but for query and anlaysis: view, edit and run -->
- <xsl:when test="$output_format != '' and ($canRead and $canTraverse)">view</xsl:when>
- <xsl:when test="$class='query' and $canRead and $canExecute and $userCanUseQS and ($browser='ie' or $browser='moz')">edit</xsl:when> <!-- query object -->
- <xsl:when test="$class='analysis' and $canRead and $canExecute and $userCanUseANS">edit</xsl:when> <!--analysis object -->
- <xsl:when test="$canRead and $canExecute">run</xsl:when><!-- report object-->
- </xsl:choose>
- </xsl:when>
- <xsl:when test="contains(' package ', concat(' ', $class, ' ' ))">
- <xsl:if test="$userInterfaces='metricStudio'">
- <xsl:choose>
- <xsl:when test="($preferredAction='view') and $canTraverse">view</xsl:when>
- <xsl:when test="($preferredAction='run' or $preferredAction='') and ($canRead and $canExecute) and $userCanUseMetricsManager">run</xsl:when>
- </xsl:choose>
- </xsl:if>
- </xsl:when>
- </xsl:choose>
- </xsl:variable>
- <xsl:value-of select="$action"/>
- </xsl:template>
- <pf:gen-icon/>
- <pf:gen-url/>
- </xsl:stylesheet>
- </xts:block>
-
- <!--Add a new block to obtain mapping and target info from a selected target and display the mapping info for debugging purpose.
- This info becomes available only when a user has the capability to run the debug assistant.
- -->
-
- <xts:block id="debugTarget" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getTarget"
- condition=".[/root/env/param[@name='debugTarget'] and
- (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
- <xts:logicsheet path="logicsheets/portal.xsl"/>
- <xts:logicsheet path="logicsheets/permissions.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
- <xts:logicsheet path="logicsheets/presentation/layout.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:logicsheet path="logicsheets/validation.xslt"/>
- <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
- <xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
- xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
- xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
- xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
- xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
- xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
- xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
- xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
- xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf"
- xmlns:pm="http://developer.cognos.com/schemas/xts/pm"
- xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
- xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl cm pf xts xtsext lyt dp df cf cp">
-
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
- <xsl:variable name="mname" select="'goto.xts'"/>
- <mf:variables/>
- <pf:variables/>
- <xsl:template match="/root">
- <xsl:text disable-output-escaping='yes'><!DOCTYPE html></xsl:text>
- <html>
- <head>
- <!-- CSSs requird to use format properly -->
- <link rel="stylesheet" type="text/css" href="{$skin_root}/portal/default.css"/>
- <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/RVReport.css"/>
- </head>
- <body>
- <div>
- <table>
- <tr>
- <td colspan="2" nowrap="" height="10" class="formLabel">
- <xts:string id="DEBUG_PARAMETER_MAPPING"/></td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_DRILL_THROUGH_DEFINITION"/></td>
- <td class="formText">
- <xsl:for-each select="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']">
- <xsl:value-of select="./*[local-name()='defaultName']"/>
- </xsl:for-each>
- </td>
- </tr>
- <tr>
- <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_MAPPING_PARAMETERS"/></td>
- </tr>
- </table>
- <!-- End Drill Path Info -->
-
- <!-- create a table for mapping parameters -->
- <table width="100%" cellspacing="0" cellpadding="3" border="0" class="cctable">
- <thead id="Header">
- <tr class="tableHeader">
-
- <!--Parameter name column header-->
- <td width="20%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_PARAMETER_NAME"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
-
- <!--Parameter Display column header-->
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="20%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_DISPLAY"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <!--Parameter use column header-->
- <td width="1" height="15">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td class="tableHeaderDivider">
- <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
- <td width="60%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
- <table cellspacing="0" cellpadding="0" border="0">
- <tbody>
- <tr>
- <td valign="top" nowrap="" class="tableTitle">
- <xts:string id="DEBUG_USE"/>
- </td>
- </tr>
- </tbody>
- </table>
- </td>
-
- </tr>
- </thead>
- <xsl:for-each select="/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='getDrillThroughTargetParameterValuesResponse']/*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*[local-name()='parameters']/*[local-name()='item']">
- <!-- To prevent showing credentials in the UI -->
- <xsl:if test="not(contains(*[local-name()='name'],'credential'))">
- <tr>
- <!--Parameter name column rows-->
-
- <td nowrap="" valign="top" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
-
- <!--Parameter display column rows-->
- <td></td>
- <td nowrap="" height="10" class="tabletext">
- <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
-
- <xsl:value-of select="*[local-name()='display']"/>
- <!-- Start of handling in range parameters - Display value -->
- <!-- Check to see if we have range type parameters -->
- <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
-
- <!-- check to see if we have the start range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='start']!=''">
- <xsl:value-of select="*[local-name()='start']/*[local-name()='display']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- <br/>
-
- <!-- Check to see if we have the end range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='end']!=''">
- <xsl:value-of select="*[local-name()='end']/*[local-name()='display']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:if>
- <!-- End of handling range parameters -->
-
- <br />
- </xsl:for-each>
- </td>
-
- <!--Parameter use column rows-->
- <td></td>
- <td nowrap="" height="10" class="tabletext">
- <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
-
- <xsl:value-of select="*[local-name()='use']"/>
-
- <!--
- Start of handling in range parameters.
- Currently this is only related to dates when
- drill through from OLAP to relational.
- Because it is only OLAP date that can be
- a range.
-
- TODO: DTP does not return any information on unbounded starts
- or end and return the same response for all target
- parameters. This needs to be fixed in DTP -->
-
- <!-- Check to see if we have range type parameters -->
- <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
-
- <!-- check to see if we have the start range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='start']!=''">
- <xsl:value-of select="*[local-name()='start']/*[local-name()='use']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- <br/>
-
- <!-- Check to see if we have the end range-->
- <xsl:choose>
- <xsl:when test="*[local-name()='end']!=''">
- <xsl:value-of select="*[local-name()='end']/*[local-name()='use']" />
- </xsl:when>
- <xsl:otherwise>
- <!-- TODO: This provides an empty line for unbounded start
- which needs to be tested after server returns a response
- for such cases-->
- <label>--</label>
- </xsl:otherwise>
- </xsl:choose>
-
- </xsl:if>
- <!-- End of handling range parameters -->
-
- <br/>
- </xsl:for-each>
- </td>
- </tr>
- </xsl:if>
- </xsl:for-each>
- </table>
- <!--end mapping parameter table-->
-
-
- </div>
- </body>
- </html>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- <!-- Debug -->
- <!-- ============================================================================= -->
- <xts:block id="debug" dependency="render" condition=".[/root/session/param[@name='debug'] = '1' ]" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
- <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:dbg="http://developer.cognos.com/schemas/xts/logicsheets/xslt/debug/" exclude-result-prefixes="dbg">
- <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
- <dbg:templates/>
- <xsl:template match="/">
- <dbg:dumpxml select="/root"/>
- </xsl:template>
- </xsl:stylesheet>
- </xts:block>
- </xts:morphlet>
|