goto.xts 171 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. *****************************************************************
  4. ** Licensed Materials - Property of IBM
  5. **
  6. ** IBM Cognos Products: drill
  7. **
  8. ** (C) Copyright IBM Corp. 2001, 2015
  9. **
  10. ** US Government Users Restricted Rights - Use, duplication or
  11. ** disclosure restricted by GSA ADP Schedule Contract with
  12. ** IBM Corp.
  13. *****************************************************************
  14. -->
  15. <!--
  16. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  17. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  18. -->
  19. <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">
  20. <xts:block id="decodeInputContextParams" processor="XSLT" type="exec" dependency="" mandatory="false"
  21. condition=".[/root/env/param[@name='modeledDrillthru'] or /root/env/param[@name='authoredDrillthru']]" nodelist="env">
  22. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  23. <xsl:stylesheet version="1.0"
  24. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  25. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  26. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  27. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  28. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  29. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  30. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  31. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  32. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  33. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  34. <xsl:template match="/root">
  35. <xts:sequence>
  36. <xsl:if test="string(/root/env/param[@name='ui.action'])='forward' or string(/root/env/param[@name='ui.action'])='back'">
  37. <xts:append>
  38. <PromptValues>
  39. <xsl:for-each select="/root/env/param[starts-with(@name, 'p_')]">
  40. <xsl:if test=". != ''">
  41. <PromptValue name="{substring-after(@name,'_')}">
  42. <xsl:value-of select="." disable-output-escaping="yes"/>
  43. </PromptValue>
  44. </xsl:if>
  45. </xsl:for-each>
  46. </PromptValues>
  47. </xts:append>
  48. </xsl:if>
  49. <xts:append>
  50. <drillthruContext>
  51. <xsl:if test="/root/env/param[@name='modeledDrillthru'] and /root/env/param[@name='modeledDrillthru'] != ''">
  52. <modeledDrillthru>
  53. <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='modeledDrillthru'], true())" disable-output-escaping="yes"/>-->
  54. <xsl:value-of select="/root/env/param[@name='modeledDrillthru']" disable-output-escaping="yes"/>
  55. </modeledDrillthru>
  56. <!-- execution parameters are only available for modeled drill-through -->
  57. <xsl:choose>
  58. <xsl:when test="/root/env/param[@name='executionParameters'] and /root/env/param[@name='executionParameters'] != ''">
  59. <executionParameters>
  60. <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='executionParameters'], true())" disable-output-escaping="yes"/>-->
  61. <xsl:value-of select="/root/env/param[@name='executionParameters']" disable-output-escaping="yes"/>
  62. </executionParameters>
  63. </xsl:when>
  64. <xsl:when test="/root/env/param[@name='encExecutionParameters'] and /root/env/param[@name='encExecutionParameters'] != ''">
  65. <executionParameters>
  66. <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='executionParameters'], true())" disable-output-escaping="yes"/>-->
  67. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(/root/env/param[@name='encExecutionParameters'])), true())" disable-output-escaping="yes"/>
  68. </executionParameters>
  69. </xsl:when>
  70. </xsl:choose>
  71. </xsl:if>
  72. <xsl:if test="/root/env/param[@name='authoredDrillthru'] and /root/env/param[@name='authoredDrillthru'] != ''">
  73. <authoredDrillthru>
  74. <!--<xsl:value-of select="xtsext:web64decode(/root/env/param[@name='authoredDrillthru'], true())" disable-output-escaping="yes"/>-->
  75. <xsl:value-of select="/root/env/param[@name='authoredDrillthru']" disable-output-escaping="yes"/>
  76. </authoredDrillthru>
  77. </xsl:if>
  78. </drillthruContext>
  79. </xts:append>
  80. </xts:sequence>
  81. </xsl:template>
  82. </xsl:stylesheet>
  83. </xts:block>
  84. <!-- JSON conversion of parameter values -->
  85. <xts:block id="convertURL" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env,error">
  86. <xsl:stylesheet version="1.0"
  87. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  88. xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
  89. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  90. <xsl:template match="/root">
  91. <xsl:if test="not(/root/*[local-name()='error']/*[local-name()='badParams'])">
  92. <xsl:if test="/root/env/param[@name='customURL'] and /root/env/param[@name='customURL'] != ''">
  93. <xts:sequence>
  94. <xts:append>
  95. <xsl:value-of select="xtsext:convertJSONToURL(string(/root/env/param[@name='customURL']),string('true'))" disable-output-escaping="yes"/>
  96. </xts:append>
  97. </xts:sequence>
  98. </xsl:if>
  99. </xsl:if>
  100. </xsl:template>
  101. </xsl:stylesheet>
  102. </xts:block>
  103. <!--
  104. // TODO: sprint3-WO2374 (details)
  105. -->
  106. <!-- JSON conversion of parameter values -->
  107. <xts:block id="convertForm" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env">
  108. <xsl:stylesheet version="1.0"
  109. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  110. xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
  111. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  112. <xsl:template match="/root">
  113. <xsl:if test="not(/root/*[local-name()='error']/*[local-name()='badParams'])">
  114. <xsl:if test="/root/env/param[@name='customForm'] and /root/env/param[@name='customForm'] != ''">
  115. <xts:sequence>
  116. <xts:append>
  117. <xsl:value-of select="xtsext:convertJSONToForm(string(/root/env/param[@name='customForm']),string('true'))" disable-output-escaping="yes"/>
  118. </xts:append>
  119. </xts:sequence>
  120. </xsl:if>
  121. </xsl:if>
  122. </xsl:template>
  123. </xsl:stylesheet>
  124. </xts:block>
  125. <!--
  126. // TODO: sprint3-WO2374 (details)
  127. // the choice to use the direct action should come as part of the drill through path (WO 2400)
  128. process directAction: take the directAction parameter and convert into an xml array.
  129. This is used during rendering - see the render block
  130. TODO: fix this code up
  131. -->
  132. <xts:block id="convertDirectAction" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env">
  133. <xsl:stylesheet version="1.0"
  134. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  135. xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
  136. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  137. <xsl:template match="/root">
  138. <xsl:if test="/root/env/param[@name='directAction'] and /root/env/param[@name='directAction'] != ''">
  139. <xts:sequence>
  140. <xts:append>
  141. <xsl:value-of select="xtsext:convertDirectAction(string(/root/env/param[@name='directAction']),string('true'))" disable-output-escaping="yes"/>
  142. </xts:append>
  143. </xts:sequence>
  144. </xsl:if>
  145. </xsl:template>
  146. </xsl:stylesheet>
  147. </xts:block>
  148. <!-- JSON conversion of Drill Context -->
  149. <xts:block id="convertDrillContext" mode="interpret" processor="XSLT" type="exec" madatory="false" nodelist="env">
  150. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.drill.ext.XTSExt">
  151. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  152. <xsl:template match="/root">
  153. <xsl:if test="/root/env/param[@name='drillContext'] and /root/env/param[@name='drillContext'] != ''">
  154. <xts:sequence>
  155. <xts:append select="/root">
  156. <DrillScope>
  157. <xsl:value-of select="xtsext:convertJSONToDrillContext(string(/root/env/param[@name='drillContext']),string('true'))" disable-output-escaping="no"/>
  158. </DrillScope>
  159. </xts:append>
  160. </xts:sequence>
  161. </xsl:if>
  162. </xsl:template>
  163. </xsl:stylesheet>
  164. </xts:block>
  165. <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'])='']">
  166. <xts:sequence>
  167. <xts:append select="/root">
  168. <packageBase>
  169. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  170. <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/bibus/3#contentManagerService" outputHeader="true">
  171. <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">
  172. <SOAP-ENV:Header>
  173. <xts:queryNode select="/root/header/*[local-name()='biBusHeader']"/>
  174. </SOAP-ENV:Header>
  175. <SOAP-ENV:Body>
  176. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  177. <search><xts:queryValue select="/root/env/param[@name='modelPath']" /></search>
  178. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[1]">
  179. <item xsi:type="cm:propEnum">parent</item>
  180. </properties>
  181. </cm:query>
  182. </SOAP-ENV:Body>
  183. </SOAP-ENV:Envelope>
  184. </xts:request>
  185. </xts:transform>
  186. </packageBase>
  187. </xts:append>
  188. </xts:sequence>
  189. </xts:block>
  190. <!--
  191. ===============================================================================================
  192. get-object - if this is the first time in and it is a saved report/query, collect some information about the report/query
  193. Also create a new env parameter that is a copy of the url for re-execute.
  194. ===============================================================================================
  195. -->
  196. <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">
  197. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  198. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  199. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  200. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  201. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  202. <xsl:template match="/root">
  203. <xts:sequence>
  204. <xts:append>
  205. <source>
  206. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  207. <send:request provider="cm">
  208. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  209. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  210. <cm:search>
  211. <xsl:value-of select="/root/env/param[@name='ui.object']"/>
  212. </cm:search>
  213. <cm:properties>
  214. <cm:property name="defaultName"/>
  215. <cm:property name="searchPath"/>
  216. <cm:property name="base"/>
  217. <cm:property name="ancestors"/>
  218. <cm:property name="searchPathForURL"/>
  219. <cm:property name="routingServerGroup"/>
  220. <cm:property name="metadataModelPackage"/>
  221. <cm:property name="metadataModel"/>
  222. </cm:properties>
  223. <cm:options schemaInfo="true">
  224. <cm:refProps>
  225. <cm:refProp refPropName="base">
  226. <cm:properties>
  227. <cm:property name="searchPath"/>
  228. <cm:property name="permissions"/>
  229. </cm:properties>
  230. </cm:refProp>
  231. </cm:refProps>
  232. </cm:options>
  233. </cm:query>
  234. </xts:transform>
  235. </send:request>
  236. </xts:transform>
  237. </source>
  238. </xts:append>
  239. </xts:sequence>
  240. </xsl:template>
  241. </xsl:stylesheet>
  242. </xts:block>
  243. <xts:block id="secondary-request" processor="XSLT" type="exec" dependency="decodeInputContextParams" mandatory="false"
  244. 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">
  245. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  246. <xts:logicsheet path="prompting/soaplogic.xsl"/>
  247. <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/"
  248. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  249. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  250. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  251. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  252. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  253. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  254. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  255. xmlns:sl="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/prmt/soaplogic/">
  256. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  257. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  258. <sl:soaplogic/>
  259. <xsl:template match="/root">
  260. <xsl:variable name="method">
  261. <xsl:value-of select="/root/env/param[@name='ui.action']"/>
  262. </xsl:variable>
  263. <xts:sequence>
  264. <xts:append select="/root">
  265. <response>
  266. <xts:request href="bus://dispatcher" protocol="BUS" soapAction="http://developer.cognos.com/schemas/reportService/1.absolute" responseEnvelope="true" outputHeader="true" option="xml-multipart">
  267. <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">
  268. <SOAP-ENV:Header>
  269. <bus:biBusHeader xsi:type="bus:biBusHeader">
  270. <bus:tracking>
  271. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(key('env-param','tracking'))), true())" disable-output-escaping="yes"/>
  272. </bus:tracking>
  273. <xsl:copy-of select="/root/header/bus:biBusHeader/*[local-name()!='tracking']"/>
  274. </bus:biBusHeader>
  275. </SOAP-ENV:Header>
  276. <SOAP-ENV:Body>
  277. <xsl:element name="{$method}" namespace="http://developer.cognos.com/schemas/reportService/1">
  278. <bus:conversation xsi:type="bus:asynchRequest" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  279. <xsl:choose>
  280. <xsl:when test="$method='wait'">
  281. <xsl:attribute name="xsi:nil">true</xsl:attribute>
  282. </xsl:when>
  283. <xsl:otherwise>
  284. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(key('env-param', 'conversation'))), true())" disable-output-escaping="yes"/>
  285. </xsl:otherwise>
  286. </xsl:choose>
  287. </bus:conversation>
  288. <xsl:call-template name="SetParameters"/>
  289. <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  290. </bus:options>
  291. </xsl:element>
  292. </SOAP-ENV:Body>
  293. </SOAP-ENV:Envelope>
  294. </xts:request>
  295. </response>
  296. </xts:append>
  297. <xts:append>
  298. <resultStatus>
  299. <xts:queryNode select="/root//*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='status']"/>
  300. </resultStatus>
  301. </xts:append>
  302. </xts:sequence>
  303. </xsl:template>
  304. </xsl:stylesheet>
  305. </xts:block>
  306. <xts:block id="getContext" processor="XSLT" type="exec" dependency="packageBase get-object decodeInputContextParams secondary-request convertDrillContext" mandatory="false" condition=".[/root/*[local-name()='DrillScope'] and
  307. 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')]">
  308. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  309. <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">
  310. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  311. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  312. <xsl:template match="/root">
  313. <xts:sequence>
  314. <xts:append select="/root">
  315. <response>
  316. <send:request provider="warp" option="xml-multipart" outputHeader="true" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/reportService/1">
  317. <convertDrillThroughContext xmlns="http://developer.cognos.com/schemas/reportService/1">
  318. <inputContext xsi:type="bus:xmlEncodedXML">
  319. <xsl:value-of select="/root/*[local-name()='DrillScope']"/>
  320. </inputContext>
  321. <parameterValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
  322. <xts:transform src="portal/drillthrough.xslt" processor="XSLT">
  323. <extractCredential>
  324. <xsl:copy-of select="*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameterValues']"/>
  325. </extractCredential>
  326. </xts:transform>
  327. </parameterValues>
  328. <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]">
  329. <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
  330. <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDataSourceActions</bus:name>
  331. <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
  332. </item>
  333. <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
  334. <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDrillThroughPaths</bus:name>
  335. <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
  336. </item>
  337. <item xsi:type="bus:runOptionString">
  338. <bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
  339. <bus:value xsi:type="xsd:string">HTMLFragment</bus:value>
  340. </item>
  341. <item xsi:type="bus:runOptionAnyURI">
  342. <bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
  343. <bus:value xsi:type="xsd:string">sa.xsl</bus:value>
  344. </item>
  345. </options>
  346. </convertDrillThroughContext>
  347. </send:request>
  348. </response>
  349. </xts:append>
  350. </xts:sequence>
  351. </xsl:template>
  352. </xsl:stylesheet>
  353. </xts:block>
  354. <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
  355. (/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'working' or
  356. /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) -->
  357. <xts:logicsheet path="logicsheets/portal.xsl"/>
  358. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  359. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  360. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  361. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  362. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  363. <xts:logicsheet path="logicsheets/validation.xslt"/>
  364. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  365. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  366. <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">
  367. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  368. <pf:variables/>
  369. <pf:serialize-xml/>
  370. <xsl:template match="/">
  371. <xsl:variable name="contextid">
  372. <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
  373. </xsl:variable>
  374. <xsl:variable name="status">
  375. <xsl:value-of select="string(/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'])"/>
  376. </xsl:variable>
  377. <xsl:variable name="method">
  378. <xsl:choose>
  379. <xsl:when test="$status = 'working' or $status = 'stillWorking'">
  380. <xsl:value-of select="'wait'"/>
  381. </xsl:when>
  382. <xsl:otherwise>
  383. <xsl:value-of select="'wait'"/>
  384. </xsl:otherwise>
  385. </xsl:choose>
  386. </xsl:variable>
  387. <xsl:variable name="tracking">
  388. <xsl:for-each select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']">
  389. <xsl:variable name="markup-track">
  390. <xsl:call-template name="serialize-xml">
  391. <xsl:with-param name="node-set" select="."/>
  392. </xsl:call-template>
  393. </xsl:variable>
  394. <xsl:value-of select="string($markup-track)"/>
  395. </xsl:for-each>
  396. </xsl:variable>
  397. <xsl:variable name="conversation">
  398. <xsl:call-template name="serialize-xml">
  399. <xsl:with-param name="node-set" select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*/*[local-name() = 'primaryRequest']/*"/>
  400. </xsl:call-template>
  401. </xsl:variable>
  402. <form name="formWarpRequest" id="formWarpRequest" method="POST" action="{$gateway}" style="margin:0px;height:100%;">
  403. <input type="hidden" name="ui.action">
  404. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='ui.action']"/></xsl:attribute>
  405. </input>
  406. <input type="hidden" name="m" value="portal/goto.xts"/>
  407. <input type="hidden" name="b_action" value="xts.run"/>
  408. <input type="hidden" name="inlineSpec" value=""/>
  409. <input type="hidden" name="conversation" value=""/>
  410. <input type="hidden" name="tracking" value=""/>
  411. <input type="hidden" name="ref" value="{/root/env/param[@name='ref']}"/>
  412. <input type="hidden" name="modeledDrillthru">
  413. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='modeledDrillthru']"/></xsl:attribute>
  414. </input>
  415. <input type="hidden" name="executionParameters">
  416. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='executionParameters']"/></xsl:attribute>
  417. </input>
  418. <input type="hidden" name="authoredDrillthru">
  419. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='authoredDrillthru']"/></xsl:attribute>
  420. </input>
  421. <!-- 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 -->
  422. <xsl:if test="string(/root/env/param[@name='lang']) != ''">
  423. <input type="hidden" name="lang" value="{string(/root/env/param[@name='lang'])}"/>
  424. </xsl:if>
  425. <xsl:if test="$contextid!=''">
  426. <input type="hidden" name="cafcontextid">
  427. <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
  428. </input>
  429. </xsl:if>
  430. <input type="hidden" name="errURL">
  431. <xsl:variable name="gotoerror-url">
  432. <xsl:value-of select="$gateway"/>?b_action=xts.run&amp;m=portal/goto.xts&amp;gotoerror<xsl:text/>
  433. </xsl:variable>
  434. <xsl:attribute name="value"><xsl:value-of select="$gotoerror-url"/></xsl:attribute>
  435. </input>
  436. <xsl:if test="/root/env/param[@name='directLaunch']='true'">
  437. <input type="hidden" name="directLaunch" value="true"/>
  438. </xsl:if>
  439. </form>
  440. <script language="javascript">
  441. var method = "<xsl:value-of select="$method"/>";
  442. var tracking = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($tracking), true()))"/>";
  443. var conversation = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($conversation), true()))"/>";
  444. document.formWarpRequest["ui.action"].value = method;
  445. document.formWarpRequest.tracking.value = tracking;
  446. document.formWarpRequest.conversation.value = conversation;
  447. document.formWarpRequest.submit();
  448. setTimeout('document.progress.src="<xsl:value-of select="xtsext:javascriptencode(string($brand_images))"/>progress.gif"', 1);
  449. </script>
  450. </xsl:template>
  451. </xsl:stylesheet>
  452. </xts:block>
  453. <xts:block id="convertServerContext" processor="XSLT" type="exec" dependency="packageBase get-object decodeInputContextParams convertDrillContext getContext" mandatory="false" condition=".[/root/*[local-name()='DrillScope'] and
  454. 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')]">
  455. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  456. <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/">>
  457. <xsl:template match="/root">
  458. <xts:sequence>
  459. <xts:append>
  460. <converterResponse>
  461. <xsl:value-of select="/root/response//*[local-name()='context']" disable-output-escaping="yes"/>
  462. </converterResponse>
  463. </xts:append>
  464. <xts:append>
  465. <drillthruContext>
  466. <xts:queryNode select="/root/converterResponse//ConverterOutput/*[local-name()='selection']" disable-output-escaping="yes"/>
  467. <modeledDrillthru>
  468. <context>
  469. <xts:queryNode select="/root/converterResponse//ConverterOutput/olap/*[local-name()='parameters']" disable-output-escaping="yes"/>
  470. </context>
  471. </modeledDrillthru>
  472. </drillthruContext>
  473. </xts:append>
  474. <xts:delete select="/root/*[local-name()='response']"/>
  475. </xts:sequence>
  476. </xsl:template>
  477. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  478. </xsl:stylesheet>
  479. </xts:block>
  480. <xts:block id="getContent" processor="XSLT" type="exec" dependency="packageBase get-object decodeInputContextParams convertServerContext secondary-request" mandatory="false"
  481. condition=".[/root/drillthruContext/*[local-name()='modeledDrillthru'] and
  482. 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">
  483. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  484. <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/"
  485. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  486. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  487. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  488. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  489. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  490. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  491. xmlns:xs="http://www.w3.org/2001/XMLSchema">
  492. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  493. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  494. <xsl:template match="/root">
  495. <xts:sequence>
  496. <xts:append select="/root">
  497. <response>
  498. <send:request provider="warp" option="xml-multipart" outputHeader="true" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/reportService/1">
  499. <xsl:variable name="context" select="drillthruContext/modeledDrillthru/context/*/child::*"/>
  500. <xsl:variable name="objpath">
  501. <xsl:choose>
  502. <xsl:when test="/root/drillthruContext/selection/@rPackage and /root/drillthruContext/selection/@rPackage != ''">
  503. <xsl:value-of select="/root/drillthruContext/selection/@rPackage"/>
  504. </xsl:when>
  505. <xsl:when test="string(/root/env/param[@name='objpath'])!=''">
  506. <xsl:value-of select="/root/env/param[@name='objpath']"/>
  507. </xsl:when>
  508. <xsl:when test="/root/env/param[@name='modelPath'] and /root/env/param[@name='modelPath']!=''">
  509. <xsl:value-of select="/root/packageBase//*[local-name()='parent']//*[local-name()='searchPath']"/>
  510. </xsl:when>
  511. <xsl:when test="/root/source/*[local-name()='queryResponse']/*/*[local-name()='metadataModelPackage']/*/*[local-name()='searchPath']!=''">
  512. <xsl:value-of select="/root/source/*[local-name()='queryResponse']/*/*[local-name()='metadataModelPackage']/*/*[local-name()='searchPath']"/>
  513. </xsl:when>
  514. <xsl:when test="/root/source/*[local-name()='queryResponse']/*/*[local-name()='package']!=''">
  515. <xsl:value-of select="/root/source/*[local-name()='queryResponse']/*/*[local-name()='package']"/>
  516. </xsl:when>
  517. <xsl:when test="/root/source/*[local-name()='queryResponse']/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo'][./*[local-name()='objectClass']='package']/*[local-name()='searchPath']!=''">
  518. <xsl:value-of select="/root/source/*[local-name()='queryResponse']/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo'][./*[local-name()='objectClass']='package']/*[local-name()='searchPath']"/>
  519. </xsl:when>
  520. </xsl:choose>
  521. </xsl:variable>
  522. <getDrillThroughPaths xmlns="http://developer.cognos.com/schemas/reportService/1">
  523. <objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="$objpath"/></objectPath>
  524. <parameterValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
  525. <xsl:copy-of select="$context"/>
  526. <xts:transform src="portal/drillthrough.xslt" processor="XSLT">
  527. <extractCredential>
  528. <xsl:copy-of select="*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameterValues']"/>
  529. </extractCredential>
  530. </xts:transform>
  531. </parameterValues>
  532. <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]">
  533. <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
  534. <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDataSourceActions</bus:name>
  535. <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
  536. </item>
  537. <item xmlns="" xsi:type="bus:drillThroughOptionBoolean">
  538. <bus:name xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="bus:drillThroughOptionEnum">includeDrillThroughPaths</bus:name>
  539. <bus:value xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xsi:type="xs:boolean">true</bus:value>
  540. </item>
  541. <item xsi:type="bus:runOptionString">
  542. <bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
  543. <bus:value xsi:type="xsd:string">HTMLFragment</bus:value>
  544. </item>
  545. <item xsi:type="bus:runOptionAnyURI">
  546. <bus:name xsi:type="bus:runOptionEnum">xslURL</bus:name>
  547. <bus:value xsi:type="xsd:string">sa.xsl</bus:value>
  548. </item>
  549. </options>
  550. </getDrillThroughPaths>
  551. </send:request>
  552. </response>
  553. </xts:append>
  554. </xts:sequence>
  555. </xsl:template>
  556. </xsl:stylesheet>
  557. </xts:block>
  558. <xts:block id="getOutput" dependency="getContent secondary-request" type="exec" mode="interpret" processor="XSLT" mandatory="false"
  559. condition=".[/root//*[local-name()='Envelope']/*[local-name()='Body']/*//*[local-name() = 'status'] = 'responseReady']" nodelist="header, ,http, env, response, cookies">
  560. <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">
  561. <xsl:output method="xml"/>
  562. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  563. <xsl:template match="/root">
  564. <xts:sequence>
  565. <xts:append>
  566. <affinity>absolute</affinity>
  567. </xts:append>
  568. </xts:sequence>
  569. <xts:sequence>
  570. <xts:replace select="/root/response">
  571. <response>
  572. <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" outputHeader="true" option="xml-multipart" soapAction="http://developer.cognos.com/schemas/reportService/1.absolute">
  573. <SOAP-ENV:Envelope>
  574. <SOAP-ENV:Header>
  575. <bus:biBusHeader xsi:type="bus:biBusHeader" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  576. <bus:tracking>
  577. <xsl:copy-of select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']"/>
  578. </bus:tracking>
  579. <xsl:copy-of select="/root/header/bus:biBusHeader/*[local-name()!='tracking']"/>
  580. </bus:biBusHeader>
  581. </SOAP-ENV:Header>
  582. <SOAP-ENV:Body>
  583. <xsl:element name="getOutput" namespace="http://developer.cognos.com/schemas/reportService/1">
  584. <bus:conversation xsi:type="bus:asynchRequest" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:nil="true"/>
  585. <bus:parameterValues xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parameterValue[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"/>
  586. <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"/>
  587. </xsl:element>
  588. </SOAP-ENV:Body>
  589. </SOAP-ENV:Envelope>
  590. </xts:request>
  591. </response>
  592. </xts:replace>
  593. </xts:sequence>
  594. </xsl:template>
  595. <xsl:template match="*">
  596. <xsl:copy>
  597. <xsl:copy-of select="@*"/>
  598. <xsl:apply-templates/>
  599. </xsl:copy>
  600. </xsl:template>
  601. </xsl:stylesheet>
  602. </xts:block>
  603. <xts:block id="polling_getDrillThroughPaths_request" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false"
  604. dependency="render"
  605. condition=".[not(/root/env/param[@name='redirect']) and not(/root/env/param[@name='debugTarget']) and
  606. (/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'] = 'working' or
  607. /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) -->
  608. <xts:logicsheet path="logicsheets/portal.xsl"/>
  609. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  610. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  611. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  612. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  613. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  614. <xts:logicsheet path="logicsheets/validation.xslt"/>
  615. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  616. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  617. <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/"
  618. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  619. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  620. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  621. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  622. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  623. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  624. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  625. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  626. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  627. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  628. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  629. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  630. xmlns:xs="http://www.w3.org/2001/XMLSchema">
  631. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  632. <pf:variables/>
  633. <pf:serialize-xml/>
  634. <xsl:template match="/">
  635. <xsl:variable name="contextid">
  636. <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
  637. </xsl:variable>
  638. <xsl:variable name="status">
  639. <xsl:value-of select="string(/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']//*[local-name() = 'status'])"/>
  640. </xsl:variable>
  641. <xsl:variable name="method">
  642. <xsl:choose>
  643. <xsl:when test="$status = 'working' or $status = 'stillWorking'">
  644. <xsl:value-of select="'wait'"/>
  645. </xsl:when>
  646. <xsl:otherwise>
  647. <xsl:value-of select="'wait'"/>
  648. </xsl:otherwise>
  649. </xsl:choose>
  650. </xsl:variable>
  651. <xsl:variable name="tracking">
  652. <xsl:for-each select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']">
  653. <xsl:variable name="markup-track">
  654. <xsl:call-template name="serialize-xml">
  655. <xsl:with-param name="node-set" select="."/>
  656. </xsl:call-template>
  657. </xsl:variable>
  658. <xsl:value-of select="string($markup-track)"/>
  659. </xsl:for-each>
  660. </xsl:variable>
  661. <xsl:variable name="conversation">
  662. <xsl:call-template name="serialize-xml">
  663. <xsl:with-param name="node-set" select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*/*[local-name() = 'primaryRequest']/*"/>
  664. </xsl:call-template>
  665. </xsl:variable>
  666. <form name="formWarpRequest" id="formWarpRequest" method="POST" action="{$gateway}" style="margin:0px;height:100%;">
  667. <input type="hidden" name="ui.action">
  668. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='ui.action']"/></xsl:attribute>
  669. </input>
  670. <input type="hidden" name="m" value="portal/goto.xts"/>
  671. <input type="hidden" name="b_action" value="xts.run"/>
  672. <input type="hidden" name="inlineSpec" value=""/>
  673. <input type="hidden" name="conversation" value=""/>
  674. <input type="hidden" name="tracking" value=""/>
  675. <input type="hidden" name="ref" value="{/root/env/param[@name='ref']}"/>
  676. <input type="hidden" name="modeledDrillthru"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='modeledDrillthru']"/></xsl:attribute></input>
  677. <input type="hidden" name="executionParameters"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='executionParameters']"/></xsl:attribute></input>
  678. <input type="hidden" name="authoredDrillthru">
  679. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='authoredDrillthru']"/></xsl:attribute>
  680. </input>
  681. <!-- 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 -->
  682. <xsl:if test="string(/root/env/param[@name='lang']) != ''">
  683. <input type="hidden" name="lang" value="{string(/root/env/param[@name='lang'])}"/>
  684. </xsl:if>
  685. <xsl:if test="$contextid!=''">
  686. <input type="hidden" name="cafcontextid">
  687. <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
  688. </input>
  689. </xsl:if>
  690. <input type="hidden" name="errURL">
  691. <xsl:variable name="gotoerror-url">
  692. <xsl:value-of select="$gateway"/>?b_action=xts.run&amp;m=portal/goto.xts&amp;gotoerror<xsl:text/>
  693. </xsl:variable>
  694. <xsl:attribute name="value"><xsl:value-of select="$gotoerror-url"/></xsl:attribute>
  695. </input>
  696. <xsl:if test="/root/env/param[@name='directLaunch']='true'">
  697. <input type="hidden" name="directLaunch" value="true"/>
  698. </xsl:if>
  699. </form>
  700. <script language="javascript">
  701. var method = "<xsl:value-of select="$method"/>";
  702. var tracking = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($tracking), true()))"/>";
  703. var conversation = "<xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($conversation), true()))"/>";
  704. document.formWarpRequest["ui.action"].value = method;
  705. document.formWarpRequest.tracking.value = tracking;
  706. document.formWarpRequest.conversation.value = conversation;
  707. document.formWarpRequest.submit();
  708. setTimeout('document.progress.src="<xsl:value-of select="xtsext:javascriptencode(string($brand_images))"/>progress.gif"', 1);
  709. </script>
  710. </xsl:template>
  711. </xsl:stylesheet>
  712. </xts:block>
  713. <xts:block id="gotoerror" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false"
  714. condition=".[/root/env/param[@name='gotoerror']]" nodelist="env">
  715. <xts:logicsheet path="logicsheets/portal.xsl"/>
  716. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  717. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  718. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  719. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  720. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  721. <xts:logicsheet path="logicsheets/validation.xslt"/>
  722. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  723. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  724. <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/"
  725. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  726. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  727. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  728. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  729. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  730. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  731. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  732. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  733. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  734. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  735. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  736. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  737. xmlns:xs="http://www.w3.org/2001/XMLSchema">
  738. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  739. <xsl:template match="/">
  740. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
  741. <html>
  742. <head>
  743. <script language="javascript">
  744. function onClose() {
  745. if (window.opener != null) {
  746. window.close();
  747. }
  748. }
  749. </script>
  750. </head>
  751. <body onload="javascript:onClose();"/>
  752. </html>
  753. </xsl:template>
  754. </xsl:stylesheet>
  755. </xts:block>
  756. <xts:block id="getTargets" processor="XSLT" type="exec" dependency="getContent getOutput" mandatory="false"
  757. 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">
  758. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  759. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  760. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  761. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  762. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  763. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  764. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  765. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  766. <xsl:template match="/">
  767. <xts:sequence>
  768. <xts:append>
  769. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  770. <send:request provider="cm">
  771. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  772. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  773. <cm:requests>
  774. <xsl:for-each select="/root//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*[local-name()='paths']/*[local-name()='item']">
  775. <cm:query>
  776. <cm:search>
  777. <xsl:value-of select=".//*[local-name()='searchPath']"/>
  778. </cm:search>
  779. <cm:properties>
  780. <cm:property name="defaultName"/>
  781. <cm:property name="searchPath"/>
  782. <cm:property name="target"/>
  783. <cm:property name="ancestors"/>
  784. <cm:property name="screenTip"/>
  785. <cm:property name="action"/>
  786. </cm:properties>
  787. <cm:options schemaInfo="true">
  788. <cm:refProps>
  789. <!-- Get target info for shortcut objects -->
  790. <cm:refProp refPropName="target">
  791. <cm:properties>
  792. <cm:property name="defaultName"/>
  793. <cm:property name="searchPath"/>
  794. </cm:properties>
  795. </cm:refProp>
  796. </cm:refProps>
  797. </cm:options>
  798. </cm:query>
  799. </xsl:for-each>
  800. </cm:requests>
  801. </cm:query>
  802. </xts:transform>
  803. </send:request>
  804. </xts:transform>
  805. </xts:append>
  806. </xts:sequence>
  807. </xsl:template>
  808. </xsl:stylesheet>
  809. </xts:block>
  810. <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">
  811. <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">
  812. <xsl:template match="/root">
  813. <xts:sequence>
  814. <xts:append select="/root/env">
  815. <param name="redirect"/>
  816. <param name="drillType">modeledDrillThroughPath</param>
  817. </xts:append>
  818. <xts:delete select="/root/env/param[@name='method']"/>
  819. </xts:sequence>
  820. </xsl:template>
  821. </xsl:stylesheet>
  822. </xts:block>
  823. <xts:block id="prompt-page" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getContent getOutput getTargets"
  824. 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">
  825. <xts:logicsheet path="logicsheets/portal.xsl"/>
  826. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  827. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  828. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  829. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  830. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  831. <pf:variables/>
  832. <xsl:template match="/root">
  833. <xsl:variable name="markup-tracking">
  834. <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"/>
  835. </xsl:variable>
  836. <xsl:variable name="markup-conversation">
  837. <xsl:apply-templates select="/root/*[local-name()='response']/*[local-name()='Envelope']/*[local-name()='Body']/*/*/*[local-name()='primaryRequest']/*" mode="markup"/>
  838. </xsl:variable>
  839. <xsl:variable name="contextid">
  840. <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
  841. </xsl:variable>
  842. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
  843. <html>
  844. <head>
  845. <link rel="stylesheet" type="text/css" href="{$skin_root}/portal/default.css"/>
  846. <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/RVReport.css"/>
  847. <script type="text/javascript">
  848. function cancel() {
  849. if (window.opener != null) {
  850. window.close();
  851. }
  852. }
  853. </script>
  854. </head>
  855. <body topmargin="3" bottommargin="0" marginheight="3" rightmargin="5" leftmargin="5" marginwidth="3" style="overflow:auto">
  856. <form action="{$gateway}" name="formWarpRequest" id="formWarpRequest" method="post" style="height:100%;margin:0px">
  857. <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"/>
  858. <input type="hidden" name="b_action" value="xts.run"/>
  859. <input type="hidden" name="m" value="portal/goto.xts"/>
  860. <input type="hidden" name="ui.action" value=""/>
  861. <input type="hidden" name="run.prompt" value=""/>
  862. <input type="hidden" name="conversation">
  863. <xsl:attribute name="value">
  864. <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup-conversation), true()))"/>
  865. </xsl:attribute>
  866. </input>
  867. <input type="hidden" name="tracking">
  868. <xsl:attribute name="value">
  869. <xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($markup-tracking), true()))"/>
  870. </xsl:attribute>
  871. </input>
  872. <input type="hidden" name="inlineSpec" value=""/>
  873. <input type="hidden" name="ref" value="{/root/env/param[@name='ref']}"/>
  874. <input type="hidden" name="modeledDrillthru"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='modeledDrillthru']"/></xsl:attribute></input>
  875. <input type="hidden" name="executionParameters"><xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='executionParameters']"/></xsl:attribute></input>
  876. <input type="hidden" name="authoredDrillthru">
  877. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='authoredDrillthru']"/></xsl:attribute>
  878. </input>
  879. <!-- 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 -->
  880. <xsl:if test="string(/root/env/param[@name='lang']) != ''">
  881. <input type="hidden" name="lang" value="{string(/root/env/param[@name='lang'])}"/>
  882. </xsl:if>
  883. <xsl:if test="$contextid!=''">
  884. <input type="hidden" name="cafcontextid">
  885. <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
  886. </input>
  887. </xsl:if>
  888. <input type="hidden" name="errURL">
  889. <xsl:variable name="gotoerror-url">
  890. <xsl:value-of select="$gateway"/>?b_action=xts.run&amp;m=portal/goto.xts&amp;gotoerror<xsl:text/>
  891. </xsl:variable>
  892. <xsl:attribute name="value"><xsl:value-of select="$gotoerror-url"/></xsl:attribute>
  893. </input>
  894. <xsl:if test="/root/env/param[@name='directLaunch']='true'">
  895. <input type="hidden" name="directLaunch" value="true"/>
  896. </xsl:if>
  897. </form>
  898. </body>
  899. </html>
  900. </xsl:template>
  901. <pf:serialize-xml/>
  902. </xsl:stylesheet>
  903. </xts:block>
  904. <!-- TODO: PERF: Get rid of this block to cut down on the number of CM queries -->
  905. <xts:block id="getAuthoredDrillThroughDetails" mode="interpret" type="exec" processor="XSLT" mandatory="false" condition=".[root/drillthruContext/authoredDrillthru]" dependency="decodeInputContextParams">
  906. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  907. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  908. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  909. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  910. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  911. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  912. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  913. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  914. exclude-result-prefixes="xsl cm xts xtsext">
  915. <xsl:template match="/root">
  916. <!-- Handle the authored drills, get there info -->
  917. <xts:sequence>
  918. <xts:append select="/root">
  919. <authoredDrillThroughDetails>
  920. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  921. <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/bibus/3#contentManagerService" outputHeader="true">
  922. <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">
  923. <SOAP-ENV:Header>
  924. <xsl:copy-of select="/root/header/bus:biBusHeader"/>
  925. </SOAP-ENV:Header>
  926. <SOAP-ENV:Body>
  927. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  928. <cm:requests>
  929. <xsl:for-each select="/root/drillthruContext/authoredDrillthru/context/member">
  930. <cm:request>
  931. <xsl:variable name="currentName">
  932. <xsl:value-of select="name"/>
  933. </xsl:variable>
  934. <search>
  935. <xsl:value-of select="xtsext:urldecode(./drillThroughSearchPath)"/>
  936. </search>
  937. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
  938. <item xsi:type="cm:propEnum">screenTip</item>
  939. <item xsi:type="cm:propEnum">objectClass</item>
  940. <item xsi:type="cm:propEnum">defaultName</item>
  941. <item xsi:type="cm:propEnum">ancestors</item>
  942. <item xsi:type="cm:propEnum">searchPath</item>
  943. </properties>
  944. </cm:request>
  945. </xsl:for-each>
  946. </cm:requests>
  947. </cm:query>
  948. </SOAP-ENV:Body>
  949. </SOAP-ENV:Envelope>
  950. </xts:request>
  951. </xts:transform>
  952. </authoredDrillThroughDetails>
  953. </xts:append>
  954. </xts:sequence>
  955. </xsl:template>
  956. </xsl:stylesheet>
  957. </xts:block>
  958. <!-- TODO: PERF: Get rid of this block to cut down on the number of CM queries -->
  959. <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">
  960. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  961. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  962. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  963. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  964. xmlns:bus="http://developer.cognos.cmo/schemas/bibus/3/"
  965. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  966. xmlns:SOAP-ENC="http://scheams.xmlsoap.org/soap/encoding/"
  967. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  968. exclude-result-prefixes="xsl cm xts xtsext">
  969. <xsl:template match="/root">
  970. <xts:sequence>
  971. <xts:append select="/root">
  972. <modelDrillThroughTargetDetails>
  973. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  974. <xts:request href="bus://dispatcher" protocol="BUS" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/bibus/3#contentManagerService" outputHeader="true">
  975. <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">
  976. <SOAP-ENV:Header>
  977. <xsl:copy-of select="/root/header/bus:biBusHeader"/>
  978. </SOAP-ENV:Header>
  979. <SOAP-ENV:Body>
  980. <xsl:if test="/root/response//*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']!=''">
  981. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  982. <cm:requests>
  983. <xsl:for-each select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']">
  984. <xsl:variable name="searchPath">
  985. <xsl:value-of select="./*/*[local-name()='target']/*/*[local-name()='searchPath']"/>
  986. </xsl:variable>
  987. <xsl:if test="$searchPath != ''">
  988. <cm:request>
  989. <xsl:variable name="targetReportName">
  990. <xsl:value-of select="./*/*[local-name()='target']/*/*[local-name()='defaultName']"/>
  991. </xsl:variable>
  992. <search>
  993. <xsl:value-of select="xtsext:urldecode($searchPath)"/>
  994. </search>
  995. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
  996. <item xsi:type="cm:propEnum">ancestors</item>
  997. <item xsi:type="cm:propEnum">executionFormat</item>
  998. <item xsi:type="cm:propEnum">searchPath</item>
  999. </properties>
  1000. </cm:request>
  1001. </xsl:if>
  1002. </xsl:for-each>
  1003. </cm:requests>
  1004. </cm:query>
  1005. </xsl:if>
  1006. </SOAP-ENV:Body>
  1007. </SOAP-ENV:Envelope>
  1008. </xts:request>
  1009. </xts:transform>
  1010. </modelDrillThroughTargetDetails>
  1011. </xts:append>
  1012. </xts:sequence>
  1013. </xsl:template>
  1014. </xsl:stylesheet>
  1015. </xts:block>
  1016. <xts:block id="render" mode="output" processor="XSLT" type="exec" mimeType="text/html"
  1017. dependency="getContent getOutput handleDirectLaunch getAuthoredDrillThroughDetails getModelDrillThroughDetails convertURL convertForm convertDirectAction"
  1018. 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')]">
  1019. <xts:logicsheet path="logicsheets/portal.xsl"/>
  1020. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  1021. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  1022. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  1023. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  1024. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  1025. <xts:logicsheet path="portal/get2post.xsl"/>
  1026. <xts:logicsheet path="logicsheets/validation.xslt"/>
  1027. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  1028. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  1029. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  1030. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  1031. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  1032. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  1033. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  1034. xmlns:gp="http://developer.cognos.com/schemas/xts/gp"
  1035. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  1036. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  1037. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  1038. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  1039. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  1040. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  1041. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  1042. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  1043. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  1044. xmlns:xtsdrillext="xalan://com.cognos.drill.ext.XTSExt"
  1045. exclude-result-prefixes="xsl cm pf xts xtsext lyt dp df cf cp">
  1046. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  1047. <xsl:variable name="mname" select="'goto.xts'"/>
  1048. <pf:variables/>
  1049. <!-- Required for popup menus -->
  1050. <cp:flyoutControl/>
  1051. <xsl:template match="/root">
  1052. <xsl:variable name="browserTitle">
  1053. <xts:string id="GOTO_PAGE"></xts:string>
  1054. </xsl:variable>
  1055. <dp:page longTitle="$browserTitle">
  1056. <dp:meta>
  1057. <pf:meta/>
  1058. </dp:meta>
  1059. <dp:script>
  1060. <pf:help context="HID_GOTO_DIALOG"/>
  1061. <script language="javascript">
  1062. <xsl:attribute name="src"><xsl:value-of select="$webcontent"/>/<xsl:value-of select="$app"/>/js/list.js<xsl:text/></xsl:attribute>
  1063. </script>
  1064. <script language="JavaScript">
  1065. function onClickDrillThrough(drillType, drillPath, executionParameters, context, drillPath_form)
  1066. {
  1067. if (drillType == 'modeledDrillThroughPath') {
  1068. document.pform.drillPath.value = drillPath;
  1069. document.pform.executionParameters.value = executionParameters;
  1070. document.pform.context.value = context;
  1071. document.pform.drillType.value = drillType;
  1072. document.pform.submit();
  1073. }
  1074. else
  1075. {
  1076. if (drillPath_form &amp;&amp; drillPath_form != '')
  1077. {
  1078. document.forms[drillPath_form].submit();
  1079. }
  1080. else
  1081. {
  1082. window.location.href = drillPath;
  1083. }
  1084. }
  1085. }
  1086. function onClose() {
  1087. if (window.opener != null) {
  1088. window.close();
  1089. }
  1090. }
  1091. </script>
  1092. <!--Include a JS file for implementation of popup menus -->
  1093. <script language="javascript" src="{$webcontent}/{$app}/js/CCflyoutMenu.js"></script>
  1094. </dp:script>
  1095. <form name="pform" method="post" action="{$gateway}?b_action=xts.run&amp;m={$app}/goto.xts">
  1096. <input name="drillPath" type="hidden" value=""/>
  1097. <input name="executionParameters" type="hidden" value=""/>
  1098. <input name="context" type="hidden" value=""/>
  1099. <input name="redirect" type="hidden" value=""/>
  1100. <input name="drillType" type="hidden" value=""/>
  1101. </form>
  1102. <xsl:variable name="theobj" select="/root//bus:result/bus:details/*[local-name()='item']"/>
  1103. <dp:header>
  1104. <dp:title>
  1105. <xsl:value-of select="$browserTitle"/>
  1106. </dp:title>
  1107. <dp:close>
  1108. <a href="javascript:onClose()">
  1109. <dp:closeMarker/>
  1110. </a>
  1111. </dp:close>
  1112. </dp:header>
  1113. <lyt:layout style="1">
  1114. <lyt:section>
  1115. <xsl:choose>
  1116. <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'">
  1117. <div align="center" class="objectNoneFound"> <!-- TODO -->
  1118. <br/><br/>
  1119. <table width="100" border="0" cellpadding="0" cellspacing="0">
  1120. <tr>
  1121. <td valign="middle">
  1122. <img src="{$brand_images}progress.gif" width="48" height="48" border="0" name="progress" align="top"/>
  1123. </td>
  1124. <td width="20">&#160;</td>
  1125. <td class="tabletext">
  1126. <xts:string id="GOTO_LOADING"/><br/><br/>
  1127. </td>
  1128. </tr>
  1129. </table>
  1130. <br/><br/><br/><br/>
  1131. </div>
  1132. </xsl:when>
  1133. <xsl:otherwise>
  1134. <xsl:choose>
  1135. <!-- Handle the case when there are no targets -->
  1136. <xsl:when test="not(
  1137. ($theobj/*[local-name()='paths'] and $theobj/*[local-name()='paths'] != '') or
  1138. ($theobj/*[local-name()='actions'] and $theobj/*[local-name()='actions'] != '') or
  1139. (/root/drillthruContext/authoredDrillthru and /root/drillthruContext/authoredDrillthru != '') or
  1140. (/root/*[local-name()='DirectActionArray']/*[local-name()='array'] != '') or
  1141. (/root/*[local-name()='URLArray']/*[local-name()='array'] != '') or
  1142. (/root/*[local-name()='FormArray']/*[local-name()='array'] != '')
  1143. ) or (/root/*[local-name()='error']/*[local-name()='badParams'])">
  1144. <dp:list>
  1145. <dp:section>
  1146. <dp:text nospace="nospace" tdClass="formLabel"><xts:string id="GOTO_AVAILABLE_LINKS"/></dp:text>
  1147. <dp:text width="100%"/>
  1148. </dp:section>
  1149. </dp:list>
  1150. <cp:table width="100%">
  1151. <cp:tableContent>
  1152. <cp:columnContent align="center" height="165px;">
  1153. <dp:list valign="middle">
  1154. <xsl:choose> <!-- Begin: CAF Error or none found -->
  1155. <xsl:when test="/root/*[local-name()='error']/*[local-name()='badParams']">
  1156. <dp:section class="objectNoneFound"><xts:string id="GOTO_CAF_ERROR_FOUND"/></dp:section>
  1157. </xsl:when>
  1158. <xsl:otherwise>
  1159. <dp:section class="objectNoneFound"><xts:string id="GOTO_NO_ITEMS_FOUND"/></dp:section>
  1160. </xsl:otherwise>
  1161. </xsl:choose> <!-- End: CAF Error or none found -->
  1162. </dp:list>
  1163. </cp:columnContent>
  1164. </cp:tableContent>
  1165. </cp:table>
  1166. </xsl:when>
  1167. <xsl:otherwise>
  1168. <!-- Render the target entries in this order: authored, modeled drill paths, modeled drill actions -->
  1169. <dp:list>
  1170. <dp:section>
  1171. <dp:text nospace="nospace" tdClass="formLabel"><xts:string id="GOTO_AVAILABLE_LINKS"/></dp:text>
  1172. <dp:text width="100%"/>
  1173. </dp:section>
  1174. </dp:list>
  1175. <div name="drillpathlinks" id="drillpathlinksid" style="padding-top: 10px;">
  1176. <!-- Render authored Drillthrough entries -->
  1177. <table width="100%" cellspacing="0" cellpadding="2" border="0" class="cctable">
  1178. <thead id="Header">
  1179. <tr class="tableHeader">
  1180. <td width="16" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle"></td>
  1181. <td width="1" height="15">
  1182. <table cellspacing="0" cellpadding="0" border="0">
  1183. <tbody>
  1184. <tr>
  1185. <td class="tableHeaderDivider">
  1186. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1187. </td>
  1188. </tr>
  1189. </tbody>
  1190. </table>
  1191. </td>
  1192. <td width="50%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1193. <table cellspacing="0" cellpadding="0" border="0">
  1194. <tbody>
  1195. <tr>
  1196. <td valign="top" nowrap="" class="tableTitle">
  1197. <xts:string id="GOTO_NAME"/>
  1198. </td>
  1199. </tr>
  1200. </tbody>
  1201. </table>
  1202. </td>
  1203. <td width="1" height="15">
  1204. <table cellspacing="0" cellpadding="0" border="0">
  1205. <tbody>
  1206. <tr>
  1207. <td class="tableHeaderDivider">
  1208. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1209. </td>
  1210. </tr>
  1211. </tbody>
  1212. </table>
  1213. </td>
  1214. <td width="50%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1215. <table cellspacing="0" cellpadding="0" border="0">
  1216. <tbody>
  1217. <tr>
  1218. <td valign="top" nowrap="" class="tableTitle">
  1219. <xts:string id="GOTO_TARGET_REPORT"/>
  1220. </td>
  1221. </tr>
  1222. </tbody>
  1223. </table>
  1224. </td>
  1225. </tr>
  1226. </thead>
  1227. <tbody>
  1228. <!--
  1229. // TODO: sprint4-WO2374 (details)
  1230. -->
  1231. <!-- render custom urls -->
  1232. <xsl:if test="/root/*[local-name()='URLArray']/*[local-name()='array'] != ''">
  1233. <xsl:for-each select="/root/*[local-name()='URLArray']/*[local-name()='array']">
  1234. <tr style="height: 1px;">
  1235. <td nowrap="" height="10" class="tabletext"><img src="{*[local-name()='icon']}" border="0"/></td>
  1236. <td width="1" height="15">
  1237. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1238. </td>
  1239. <td width="50%" nowrap="" height="10" class="tabletext"><a href="{*[local-name()='url']}"><xsl:value-of select="*[local-name()='name']"/></a></td>
  1240. <td width="1" height="15"><img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/></td>
  1241. <td width="50%" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='description']"/></td>
  1242. </tr>
  1243. </xsl:for-each>
  1244. </xsl:if>
  1245. <!--
  1246. // TODO: sprint4-WO2374 (details)
  1247. -->
  1248. <!-- render custom forms -->
  1249. <xsl:if test="/root/*[local-name()='FormArray']/*[local-name()='array'] != ''">
  1250. <xsl:for-each select="/root/*[local-name()='FormArray']/*[local-name()='array']">
  1251. <xsl:variable name="formId" select="concat('f', generate-id(.))"/>
  1252. <tr style="height: 1px;">
  1253. <td nowrap="" height="10" class="tabletext"><img src="{*[local-name()='icon']}" border="0"/></td>
  1254. <td width="1" height="15">
  1255. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1256. </td>
  1257. <td width="50%" nowrap="" height="10" class="tabletext"><a href="javascript:document.forms['{$formId}'].submit()"><xsl:value-of select="*[local-name()='name']"/></a></td>
  1258. <td width="1" height="15"><img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/></td>
  1259. <td width="50%" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='description']"/></td>
  1260. </tr>
  1261. <form name="{$formId}" action="{*[local-name()='fAction']}" method="{*[local-name()='fMethod']}" target="{*[local-name()='fTarget']}">
  1262. <xsl:for-each select="./*[local-name()='fElements']">
  1263. <input type="hidden" name="{*[local-name()='fName']}" value="{*[local-name()='fValue']}"/>
  1264. </xsl:for-each>
  1265. </form>
  1266. </xsl:for-each>
  1267. </xsl:if>
  1268. <!--
  1269. // TODO: sprint3-WO2374 (details)
  1270. // Render dynamic drill through from PowerPlay -->
  1271. <xsl:if test="/root/*[local-name()='DirectActionArray']/*[local-name()='array'] != ''">
  1272. <xsl:for-each select="/root/*[local-name()='DirectActionArray']/*[local-name()='array']">
  1273. <tr style="height: 1px;">
  1274. <td nowrap="" height="10" class="tabletext"><img src="{$webRoot}/qs/images/filter.gif" border="0"/></td>
  1275. <td width="1" height="15">
  1276. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1277. </td>
  1278. <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>
  1279. <td width="1" height="15"><img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/></td>
  1280. <td width="50%" nowrap="" height="10" class="tabletext">Dynamic Filter</td>
  1281. </tr>
  1282. <form name="fDrill{position()}" method="post">
  1283. <input type="hidden" name="b_action" value="cognosViewer"/>
  1284. <input type="hidden" name="ui.action" value="run"/>
  1285. <input type="hidden" name="ui.object" value="{*[local-name()='targetReport']}"/>
  1286. <input type="hidden" name="ui.name" value="{*[local-name()='name']}"/>
  1287. <input type="hidden" name="run.prompt" value="false"/>
  1288. <input type="hidden" name="drill.up" value="{xtsdrillext:convertPPFilterToC8FilterSpec(*[local-name()='filterPredicate'])}"/>
  1289. </form>
  1290. </xsl:for-each>
  1291. </xsl:if>
  1292. <!-- Render authored drill throughs -->
  1293. <xsl:if test="/root/drillthruContext/authoredDrillthru and /root/drillthruContext/authoredDrillthru != ''">
  1294. <xsl:for-each select="/root/drillthruContext/authoredDrillthru/context/member">
  1295. <xsl:variable name="searchPath">
  1296. <xsl:value-of select="xtsext:urldecode(./drillThroughSearchPath)"/>
  1297. </xsl:variable>
  1298. <xsl:variable name="tooltip">
  1299. <xsl:value-of select="/root/*[local-name()='authoredDrillThroughDetails']/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='screenTip']/*[local-name()='multilingualString']"/>
  1300. </xsl:variable>
  1301. <xsl:variable name="drillPath"><xsl:value-of select="data"/></xsl:variable>
  1302. <xsl:variable name="drillPath_form">
  1303. <xsl:value-of select="concat('drillPath_form_authored', string(position()))"/>
  1304. </xsl:variable>
  1305. <tr style="height: 1px;">
  1306. <td nowrap="" height="10" class="tabletext">
  1307. <xsl:choose>
  1308. <xsl:when test="./drillThroughAction='execute' or ./drillThroughAction='run' or ./drillThroughAction='reportView'">
  1309. <xsl:choose>
  1310. <xsl:when test="./*[local-name()='drillThroughFormat'] != ''">
  1311. <xsl:call-template name="pick-icon">
  1312. <xsl:with-param name="outputType" select="./*[local-name()='drillThroughFormat']"/>
  1313. </xsl:call-template>
  1314. </xsl:when>
  1315. <xsl:otherwise>
  1316. <xsl:call-template name="pick-icon">
  1317. <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
  1318. </xsl:call-template>
  1319. </xsl:otherwise>
  1320. </xsl:choose>
  1321. <xsl:if test="./drillThroughAction='execute' or ./drillThroughAction='run'">
  1322. <img width="12" height="16" src="{$webRoot}/ps/portal/images/action_run.gif"/>
  1323. </xsl:if>
  1324. </xsl:when>
  1325. <xsl:when test="./drillThroughAction='editAnalysis'">
  1326. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_ps_analysis.gif"/>
  1327. </xsl:when>
  1328. <xsl:when test="./drillThroughAction='editQuery'">
  1329. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_qs_query.gif"/>
  1330. </xsl:when>
  1331. <xsl:otherwise>
  1332. <xsl:call-template name="pick-icon">
  1333. <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
  1334. </xsl:call-template>
  1335. </xsl:otherwise>
  1336. </xsl:choose>
  1337. </td>
  1338. <td width="1" height="15">
  1339. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1340. </td>
  1341. <td width="50%" nowrap="" height="10" class="tabletext">
  1342. <!-- Generate the form for the entry -->
  1343. <xsl:variable name="action" select="substring-before($drillPath, '?')"/>
  1344. <xsl:variable name="arguments" select="substring-after($drillPath, '?')"/>
  1345. <form name="{$drillPath_form}" method="post" style="display:none">
  1346. <xsl:attribute name="action"><xsl:value-of select="$action"/></xsl:attribute>
  1347. <xsl:call-template name="getToPostConversion">
  1348. <xsl:with-param name="arguments">
  1349. <xsl:value-of select="$arguments"/>
  1350. </xsl:with-param>
  1351. </xsl:call-template>
  1352. </form>
  1353. <a>
  1354. <xsl:attribute name="href">#</xsl:attribute>
  1355. <xsl:attribute name="onclick">javascript:onClickDrillThrough('authoredDrillthru', '<xsl:value-of select="xtsext:javascriptencode($drillPath)"/>', '', '', '<xsl:value-of select="$drillPath_form"/>')</xsl:attribute>
  1356. <xsl:attribute name="title">
  1357. <xsl:value-of select="name"/>
  1358. <xsl:text> - </xsl:text>
  1359. <xsl:value-of select="$tooltip"/>
  1360. </xsl:attribute>
  1361. <xsl:value-of select="name"/>
  1362. </a>
  1363. </td>
  1364. <td width="1" height="15">
  1365. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1366. </td>
  1367. <td width="50%" nowrap="" height="10" class="tabletext">
  1368. <xsl:for-each select="/root/*[local-name()='authoredDrillThroughDetails']/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo']">
  1369. <xsl:value-of select="./*[local-name()='title']"/>
  1370. <xsl:text> &gt; </xsl:text>
  1371. </xsl:for-each>
  1372. <xsl:value-of select="/root/*[local-name()='authoredDrillThroughDetails']/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='defaultName']"/>
  1373. </td>
  1374. </tr>
  1375. </xsl:for-each>
  1376. </xsl:if>
  1377. <!-- add in model-based drill through rendering code here -->
  1378. <xsl:if test="$theobj/*[local-name()='paths'] and $theobj/*[local-name()='paths'] != ''">
  1379. <xsl:variable name="context">
  1380. <xsl:if test="/root/drillthruContext/modeledDrillthru/context">
  1381. <xsl:call-template name="serialize-xml">
  1382. <xsl:with-param name="node-set" select="/root/drillthruContext/modeledDrillthru/context/*/child::*"/>
  1383. </xsl:call-template>
  1384. </xsl:if>
  1385. </xsl:variable>
  1386. <xsl:variable name="contextEnc">
  1387. <xsl:if test="/root/drillthruContext/modeledDrillthru/context">
  1388. <xsl:value-of select="xtsext:web64encode(string($context), true())"/>
  1389. </xsl:if>
  1390. </xsl:variable>
  1391. <xsl:variable name="executionParameters">
  1392. <xsl:if test="/root/drillthruContext/executionParameters">
  1393. <xsl:call-template name="serialize-xml">
  1394. <xsl:with-param name="node-set" select="/root/drillthruContext/executionParameters/*/child::*"/>
  1395. </xsl:call-template>
  1396. </xsl:if>
  1397. </xsl:variable>
  1398. <xsl:variable name="executionParametersEnc">
  1399. <xsl:if test="/root/drillthruContext/executionParameters">
  1400. <xsl:value-of select="xtsext:web64encode(string($executionParameters), true())"/>
  1401. </xsl:if>
  1402. </xsl:variable>
  1403. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply">
  1404. <xsl:variable name="searchPath">
  1405. <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='searchPath']"/>
  1406. </xsl:variable>
  1407. <xsl:if test="$searchPath != ''">
  1408. <xsl:variable name="tooltip">
  1409. <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='screenTip']"/>
  1410. </xsl:variable>
  1411. <tr style="height: 1px;">
  1412. <td nowrap="" height="10" class="tabletext">
  1413. <xsl:variable name="mdAction">
  1414. <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='action']"/>
  1415. </xsl:variable>
  1416. <xsl:variable name="mdClass">
  1417. <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='target']//*[local-name()='objectClass']"/>
  1418. </xsl:variable>
  1419. <xsl:choose>
  1420. <xsl:when test="$mdAction='run' or $mdAction='execute' or $mdAction='reportView'">
  1421. <xsl:choose>
  1422. <!-- <xsl:when test="./*[local-name()='modelDrillThroughTargetDetails']/*/*/*[local-name()='executionFormat'] != ''"> -->
  1423. <xsl:when test="/root/modelDrillThroughTargetDetails/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='executionFormat'] != ''">
  1424. <xsl:call-template name="pick-icon">
  1425. <!-- <xsl:with-param name="outputType" select="./*[local-name()='modelDrillThroughTargetDetails']/*/*/*[local-name()='executionFormat']"/> -->
  1426. <xsl:with-param name="outputType" select="/root/modelDrillThroughTargetDetails/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='executionFormat']"/>
  1427. </xsl:call-template>
  1428. </xsl:when>
  1429. <xsl:otherwise>
  1430. <xsl:call-template name="pick-icon">
  1431. <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
  1432. </xsl:call-template>
  1433. </xsl:otherwise>
  1434. </xsl:choose>
  1435. <xsl:if test="$mdAction='run' or $mdAction='execute'">
  1436. <img width="12" height="16" src="{$webRoot}/ps/portal/images/action_run.gif"/>
  1437. </xsl:if>
  1438. </xsl:when>
  1439. <xsl:when test="$mdAction='edit'">
  1440. <xsl:if test="$mdClass='analysis'">
  1441. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_ps_analysis.gif"/>
  1442. </xsl:if>
  1443. <xsl:if test="$mdClass='query'">
  1444. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_qs_query.gif"/>
  1445. </xsl:if>
  1446. </xsl:when>
  1447. <xsl:otherwise>
  1448. <xsl:call-template name="pick-icon">
  1449. <xsl:with-param name="outputType" select="/root/user/param[@name='format']"/>
  1450. </xsl:call-template>
  1451. </xsl:otherwise>
  1452. </xsl:choose>
  1453. </td>
  1454. <td width="1" height="15">
  1455. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1456. </td>
  1457. <!-- Add popup menus to allow a user to display mapping info for the selceted target
  1458. todo: craete string file in drill depot to add new strings.
  1459. -->
  1460. <!-- Unique ids are required to create multiple menus -->
  1461. <!-- popup menu ids-->
  1462. <xsl:variable name="menuId" select="concat('Menu', generate-id(.))"/>
  1463. <xsl:variable name="menuSpanId" select="concat('MenuSpan', generate-id(.))"/>
  1464. <!-- menu item ids -->
  1465. <xsl:variable name="menuRunId" select="concat('Run', generate-id(.))"/>
  1466. <xsl:variable name="menuDebugId" select="concat('Debug', generate-id(.))"/>
  1467. <!-- Add a link to a target and dropdown arrow for a popup menu-->
  1468. <td nowrap="" height="10" class="tabletext">
  1469. <!-- Define a menu with 2 items Run and debug-->
  1470. <xsl:variable name="contactMenu">
  1471. <flyout id="{$menuId}">
  1472. <items>
  1473. <item id="{$menuRunId}">
  1474. <text><xts:string id="DEBUG_RUN"/></text>
  1475. <action>onClickDrillThrough('modeledDrillThroughPath', '<xsl:value-of select="xtsext:web64encode(string(./*/*[local-name()='searchPath']), true())"/>', '<xsl:value-of select="$executionParametersEnc"/>', '<xsl:value-of select="$contextEnc"/>');
  1476. </action>
  1477. </item>
  1478. <item id="{$menuDebugId}">
  1479. <text><xts:string id="DEBUG_DEBUG"/></text>
  1480. <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>
  1481. </item>
  1482. </items>
  1483. </flyout>
  1484. </xsl:variable>
  1485. <!-- Display a link to drill to the target directly-->
  1486. <a>
  1487. <xsl:attribute name="href">#</xsl:attribute>
  1488. <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>
  1489. <xsl:attribute name="title">
  1490. <xsl:value-of select="./*/*[local-name()='defaultName']"/>
  1491. <xsl:text> - </xsl:text>
  1492. <xsl:value-of select="$tooltip"/>
  1493. </xsl:attribute>
  1494. <xsl:value-of select="./*/*[local-name()='defaultName']"/>
  1495. </a>
  1496. <!-- A dropdown arrow to invoke drill through assistant. It is only available when a user has Capability to run the tool-->
  1497. <xsl:if test="($hasDrillThroughAssistantCapability)">
  1498. <img name="contactMenu_imgFlyControl" src="{$skin_shared_images}dropdown_arrow.gif" title="" alt="">
  1499. <xsl:attribute name="onclick">
  1500. <xsl:text>return CCPopupMenu.dropDown(event,0,0,'</xsl:text>
  1501. <xsl:value-of select="$menuId"/>
  1502. <xsl:text>');</xsl:text>
  1503. </xsl:attribute>
  1504. </img>
  1505. </xsl:if>
  1506. <!-- Display menus and add z-index to make sure it is on the top-->
  1507. <div id="{$menuSpanId}" style="z-index:1; position: relative;">
  1508. </div>
  1509. <!--Call to create menus -->
  1510. <xsl:call-template name="renderPopup">
  1511. <xsl:with-param name="flyoutXML">
  1512. <xsl:copy-of select="$contactMenu"/>
  1513. </xsl:with-param>
  1514. <xsl:with-param name="controlID"><xsl:value-of select="$menuSpanId"/></xsl:with-param>
  1515. </xsl:call-template>
  1516. <!-- end popup -->
  1517. </td>
  1518. <td width="1" height="15">
  1519. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1520. </td>
  1521. <td width="50%" nowrap="" height="10" class="tabletext">
  1522. <xsl:for-each select="/root/modelDrillThroughTargetDetails/*/*[local-name()='queryReply'][./*/*[local-name()='searchPath']=$searchPath]/*/*[local-name()='ancestors']/*[local-name()='ancestorInfo']">
  1523. <xsl:value-of select="./*[local-name()='title']"/>
  1524. <xsl:text> &gt; </xsl:text>
  1525. </xsl:for-each>
  1526. <xsl:value-of select="./*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='defaultName']"/>
  1527. </td>
  1528. </tr>
  1529. </xsl:if>
  1530. </xsl:for-each>
  1531. </xsl:if>
  1532. <!-- Render Drillthrough actions entries - URI | HTML -->
  1533. <xsl:if test="$theobj/*[local-name()='actions'] and $theobj/*[local-name()='actions'] != ''">
  1534. <xsl:for-each select="$theobj/*[local-name()='actions']/*[local-name()='item']">
  1535. <!--
  1536. <xsl:variable name="uri" select="translate(normalize-space(string(bus:uri)), 'HTML','html')"/>
  1537. <xsl:variable name="isurl" select="not(starts-with($uri,'&lt;') or contains($uri,'&lt;html&gt;'))"/>
  1538. -->
  1539. <xsl:variable name="isuri" select="true()"/>
  1540. <tr style="height: 1px;">
  1541. <td nowrap="" height="10" class="tabletext">
  1542. <img width="16" height="16" src="{$webRoot}/rv/images/icon_ms_analysis_action.gif"/>
  1543. </td>
  1544. <td width="1" height="15">
  1545. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1546. </td>
  1547. <xsl:choose>
  1548. <xsl:when test="$isuri">
  1549. <xsl:variable name="actionURI" select="string(bus:uri)"/>
  1550. <xsl:variable name="drillPath_form">
  1551. <xsl:if test="string-length($actionURI) &gt; 2048">
  1552. <xsl:value-of select="concat('drillPath_form_action', string(position()))"/>
  1553. </xsl:if>
  1554. </xsl:variable>
  1555. <td width="50%" nowrap="" height="10" class="tabletext">
  1556. <!-- Generate the form for the entry -->
  1557. <xsl:if test="string-length($actionURI) &gt; 2048">
  1558. <xsl:variable name="action" select="substring-before($actionURI, '?')"/>
  1559. <xsl:variable name="arguments" select="substring-after($actionURI, '?')"/>
  1560. <form name="{$drillPath_form}" method="post">
  1561. <xsl:attribute name="action">
  1562. <xsl:value-of select="$action"/>
  1563. </xsl:attribute>
  1564. <xsl:call-template name="getToPostConversion">
  1565. <xsl:with-param name="arguments">
  1566. <xsl:value-of select="$arguments"/>
  1567. </xsl:with-param>
  1568. </xsl:call-template>
  1569. </form>
  1570. </xsl:if>
  1571. <a>
  1572. <xsl:attribute name="href">#</xsl:attribute>
  1573. <xsl:attribute name="onclick">javascript:onClickDrillThrough('modeledDrillThroughAction', '<xsl:value-of select="xtsext:javascriptencode(string($actionURI))"/>', '', '', '<xsl:value-of select="$drillPath_form"/>')</xsl:attribute>
  1574. <xsl:attribute name="title">
  1575. <xsl:value-of select="bus:name"/>
  1576. </xsl:attribute>
  1577. <xsl:value-of select="bus:name"/>
  1578. </a>
  1579. </td>
  1580. </xsl:when>
  1581. <xsl:otherwise>
  1582. <xsl:variable name="actionHTML" select="bus:uri"/>
  1583. <script language="JavaScript">
  1584. var html_<xsl:value-of select="position()"/> = '<xsl:value-of select="xtsext:javascriptencode(xtsext:xmldecode($actionHTML))"/>';
  1585. function run_<xsl:value-of select="position()"/>() {
  1586. document.write(html_<xsl:value-of select="position()"/>);
  1587. document.close();
  1588. }
  1589. </script>
  1590. <td width="50%" nowrap="" height="10" class="tabletext">
  1591. <a>
  1592. <xsl:attribute name="href">javascript:run_<xsl:value-of select="position()"/>()</xsl:attribute>
  1593. <xsl:value-of select="bus:name"/>
  1594. </a>
  1595. </td>
  1596. </xsl:otherwise>
  1597. </xsl:choose>
  1598. <td width="1" height="15">
  1599. <img width="1" height="15" src="{$webRoot}/ps/images/space.gif"/>
  1600. </td>
  1601. <td width="50%" nowrap="" height="10" class="tabletext">
  1602. <xsl:text> - </xsl:text>
  1603. </td>
  1604. </tr>
  1605. </xsl:for-each>
  1606. </xsl:if>
  1607. </tbody>
  1608. </table>
  1609. <!-- Provide debug info for source, the info sent to GOTO page from various sources (Studios, Viewer and test page ...)
  1610. There are 4 types of drill through: custom URL, dynamic filtering, authered and model based.
  1611. We only allow a user to see these info when he has capability to run Drill Through Assistant.
  1612. -->
  1613. <xsl:if test="($hasDrillThroughAssistantCapability)">
  1614. <script>
  1615. var bShowSourceState = false;
  1616. //toggle the debug pane
  1617. function showSourceInfo()
  1618. {
  1619. var oSourceInfo = document.getElementById('idDebugInfo');
  1620. if (bShowSourceState == true)
  1621. {
  1622. oSourceInfo.style.display = 'none';
  1623. bShowSourceState = false;
  1624. }
  1625. else
  1626. {
  1627. oSourceInfo.style.display = 'block';
  1628. bShowSourceState = true;
  1629. }
  1630. }
  1631. // Invoke to show a mapping info of a selected target
  1632. function showTargetInfo(drillType, drillPath, executionParameters, context, drillPath_form)
  1633. {
  1634. var oForm = document.forms['f'];
  1635. document.f.drillPath.value = drillPath;
  1636. document.f.executionParameters.value = executionParameters;
  1637. document.f.context.value = context;
  1638. document.f.drillType.value = drillType;
  1639. document.getElementById('targetIframe').style.display = "inline";
  1640. document.getElementById('targetIframe').style.overflow= "auto";
  1641. document.f.submit();
  1642. }
  1643. </script>
  1644. <!--Display a link to show/hide source info -->
  1645. <TABLE border="0" cellpadding="0" cellspacing="0" style="margin-top: 5px; align:right">
  1646. <TR onClick="showSourceInfo()">
  1647. <TD class="formText" width="100%"> </TD>
  1648. <!--TD class="formText" nowrap="nowrap"><A href="#">Source Information</A-->
  1649. <TD class="formText" nowrap="nowrap"><A href="#"><xts:string id="DEBUG_SOURCE_INFORMATION"/></A>
  1650. </TD>
  1651. <TD align="left"><IMG border="0" src="{$webRoot}/common/images/spacer.gif" width="3" height="1"/>
  1652. </TD>
  1653. <TD><IMG border="0" src="{$skin_root}/prompting/images/prompt_option_expand.gif"/>
  1654. </TD>
  1655. </TR>
  1656. </TABLE>
  1657. <!-- Show debug info for custom URL, dynamic filter, authored and model based -->
  1658. <div id="idDebugInfo" style="display:none">
  1659. <table>
  1660. <!-- Provide debug info custom urls -->
  1661. <xsl:if test="/root/*[local-name()='URLArray']/*[local-name()='array'] != ''">
  1662. <tr>
  1663. <td colspan="2" nowrap="" height="10" class="formLabel">
  1664. <xts:string id="DEBUG_CUSTOM_URL"/></td>
  1665. </tr>
  1666. <xsl:for-each select="/root/*[local-name()='URLArray']/*[local-name()='array']">
  1667. <tr >
  1668. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_NAME"/></td>
  1669. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
  1670. </tr>
  1671. <tr >
  1672. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_DESCRIPTION"/></td>
  1673. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='description']"/></td>
  1674. </tr>
  1675. <tr>
  1676. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_URL"/></td>
  1677. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='url']"/></td>
  1678. </tr>
  1679. </xsl:for-each>
  1680. </xsl:if>
  1681. <!-- Provide debug information for package drill through for PowerPlay Studio -->
  1682. <!-- The following info are provided
  1683. Context type: Where the request is originated from. It is always PowerPlay Studio.
  1684. Encoding:The current encoding PowerPlayStudio is rendering in.
  1685. Model path:A model path in Base64 encoded form ?
  1686. Data source name:A data source name.
  1687. Relational predicate filters: Relational filters defined in an array of predicate filters.
  1688. OLAP predicate filters:OLAP filters defined in an array of predicate filters.
  1689. -->
  1690. <xsl:if test="/root/env/param[@name='drillContext'] and /root/env/param[@name='drillContext'] != ''">
  1691. <tr>
  1692. <td colspan="2" nowrap="" height="10" class="formLabel">
  1693. <xts:string id="DEBUG_PACKAGE_BASED_DRILL_THROUGH"/></td>
  1694. </tr>
  1695. <xsl:for-each select="/root/*[local-name()='converterResponse']/*[local-name()='Response']/*[local-name()='ConverterInput']/*[local-name()='array']">
  1696. <tr>
  1697. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_CONTEXT_TYPE"/></td>
  1698. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="(*[local-name()='contextType'])"/></td>
  1699. </tr>
  1700. <tr>
  1701. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_ENCODING"/></td>
  1702. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='encoding']"/></td>
  1703. </tr>
  1704. <tr>
  1705. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_MODEL_PATH"/></td>
  1706. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='modelPath']"/></td>
  1707. </tr>
  1708. <tr>
  1709. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_DATA_SOURCE_NAME"/></td>
  1710. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='dataSourceName']"/></td>
  1711. </tr>
  1712. <tr>
  1713. <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_RELATIONAL_PREDICATE_FILTERS"/></td>
  1714. <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>
  1715. </tr>
  1716. <tr>
  1717. <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_OLAP_PREDICATE_FILTERS"/></td>
  1718. <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>
  1719. </tr>
  1720. </xsl:for-each>
  1721. </xsl:if>
  1722. <!--Provides debug information for the dynamic filtering-->
  1723. <xsl:if test="/root/*[local-name()='DirectActionArray']/*[local-name()='array'] != ''">
  1724. <tr>
  1725. <td colspan="2" nowrap="" height="10" class="formLabel">
  1726. <xts:string id="DEBUG_DYNAMIC_FILTER"/></td>
  1727. </tr>
  1728. <xsl:for-each select="/root/*[local-name()='DirectActionArray']/*[local-name()='array']">
  1729. <tr >
  1730. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_ACTION"/></td>
  1731. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='action']"/></td>
  1732. </tr>
  1733. <tr>
  1734. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_TARGET_REPORT_NAME"/></td>
  1735. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
  1736. </tr>
  1737. <tr>
  1738. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_TARGET_SEARCH_PATH"/></td>
  1739. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='targetReport']"/></td>
  1740. </tr>
  1741. <tr>
  1742. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_S7_FILTER_PREDICATE"/></td>
  1743. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='filterPredicate']"/></td>
  1744. </tr>
  1745. <tr>
  1746. <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_COGNOS8_FILTER_SPECIFICATION"/></td>
  1747. <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>
  1748. </tr>
  1749. </xsl:for-each>
  1750. </xsl:if>
  1751. <!--Provide authored Drill through debug info -->
  1752. <xsl:if test="/root/env/param[@name='authoredDrillthru'] and /root/env/param[@name='authoredDrillthru'] != ''">
  1753. <tr>
  1754. <td colspan="2" nowrap="" height="10" class="formLabel">
  1755. <xts:string id="DEBUG_AUTHORED_DRILL_THROUGH"/></td>
  1756. </tr>
  1757. <xsl:for-each select="/root/*[local-name()='drillthruContext']/*[local-name()='authoredDrillthru']/*[local-name()='context']/*[local-name()='member']">
  1758. <tr>
  1759. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_TARGET_SEARCH_PATH"/></td>
  1760. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="xtsext:urldecode(*[local-name()='drillThroughSearchPath'])"/></td>
  1761. </tr>
  1762. <tr>
  1763. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_ACTION"/></td>
  1764. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='drillThroughAction']"/></td>
  1765. </tr>
  1766. <tr>
  1767. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_FORMAT"/></td>
  1768. <td nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='drillThroughFormat']"/></td>
  1769. </tr>
  1770. <tr>
  1771. <td nowrap="" height="10" class="tabletext" valign="top"><xts:string id="DEBUG_DATA"/></td>
  1772. <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>
  1773. </tr>
  1774. </xsl:for-each>
  1775. </xsl:if>
  1776. <!-- Provide package based drill through debug info -->
  1777. <xsl:if test="/root/env/param[@name='modeledDrillthru'] and /root/env/param[@name='modeledDrillthru'] != ''">
  1778. <tr>
  1779. <td colspan="2" nowrap="" height="10" class="formLabel">
  1780. <xts:string id="DEBUG_PACKAGE_BASED_DRILL_THROUGH"/></td>
  1781. </tr>
  1782. <tr>
  1783. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_PACKAGE_SEARCH_PATH"/></td>
  1784. <td class="formText">
  1785. <xsl:for-each select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]/*[local-name()='drillPath']/*[local-name()='ancestors']/*[local-name()='ancestorInfo']">
  1786. <xsl:if test="./*[local-name()='objectClass']='package'">
  1787. <xsl:value-of select="./*[local-name()='searchPath']"/>
  1788. </xsl:if>
  1789. </xsl:for-each>
  1790. </td>
  1791. </tr>
  1792. <tr>
  1793. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_SOURCE_PARAMETERS"/></td>
  1794. </tr>
  1795. </xsl:if>
  1796. </table>
  1797. <!-- create a table for selection context and source parameters that sent to Goto page-->
  1798. <xsl:if test="/root/env/param[@name='modeledDrillthru'] and /root/env/param[@name='modeledDrillthru'] != ''">
  1799. <table width="100%" cellspacing="0" cellpadding="2" border="0" class="cctable">
  1800. <thead id="Header">
  1801. <tr class="tableHeader">
  1802. <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1803. <table cellspacing="0" cellpadding="0" border="0">
  1804. <tbody>
  1805. <tr>
  1806. <td valign="top" nowrap="" class="tableTitle">
  1807. <xts:string id="DEBUG_ITEM_NAME"/>
  1808. </td>
  1809. </tr>
  1810. </tbody>
  1811. </table>
  1812. </td>
  1813. <td width="1" height="15">
  1814. <table cellspacing="0" cellpadding="0" border="0">
  1815. <tbody>
  1816. <tr>
  1817. <td class="tableHeaderDivider">
  1818. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1819. </td>
  1820. </tr>
  1821. </tbody>
  1822. </table>
  1823. </td>
  1824. <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1825. <table cellspacing="0" cellpadding="0" border="0">
  1826. <tbody>
  1827. <tr>
  1828. <td valign="top" nowrap="" class="tableTitle">
  1829. <xts:string id="DEBUG_DISPLAY"/>
  1830. </td>
  1831. </tr>
  1832. </tbody>
  1833. </table>
  1834. </td>
  1835. <td width="1" height="15">
  1836. <table cellspacing="0" cellpadding="0" border="0">
  1837. <tbody>
  1838. <tr>
  1839. <td class="tableHeaderDivider">
  1840. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1841. </td>
  1842. </tr>
  1843. </tbody>
  1844. </table>
  1845. </td>
  1846. <td width="70%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1847. <table cellspacing="0" cellpadding="0" border="0">
  1848. <tbody>
  1849. <tr>
  1850. <td valign="top" nowrap="" class="tableTitle">
  1851. <xts:string id="DEBUG_USE"/>
  1852. </td>
  1853. </tr>
  1854. </tbody>
  1855. </table>
  1856. </td>
  1857. </tr>
  1858. </thead>
  1859. <!-- Selected Context by user -->
  1860. <xsl:for-each select="/root/*[local-name()='drillthruContext']/*[local-name()='modeledDrillthru']/*[local-name()='context']/*[local-name()='parameterValues']/*[local-name()='item']">
  1861. <tr>
  1862. <!-- Model Item Name -->
  1863. <td valign="top" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
  1864. <td></td>
  1865. <!-- Display Value -->
  1866. <xsl:for-each select="/*[local-name()='value']/*[local-name()='item']"/>
  1867. <td nowrap="" height="10" class="tabletext">
  1868. <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
  1869. <xsl:value-of select="*[local-name()='display']"/>
  1870. <br/>
  1871. </xsl:for-each>
  1872. </td>
  1873. <td></td>
  1874. <!-- Use value -->
  1875. <td nowrap="" height="10" class="tabletext">
  1876. <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
  1877. <xsl:value-of select="*[local-name()='use']"/>
  1878. <br/>
  1879. </xsl:for-each>
  1880. </td>
  1881. </tr>
  1882. </xsl:for-each>
  1883. </table>
  1884. <!-- End of selected context -->
  1885. <!-- Source Parameters: This section shows the parameters passed by source reports (if any) -->
  1886. <!-- This condition is used to create the source parameters table if required -->
  1887. <xsl:if test="count(/root/*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameters']/*[local-name()='item']//*[local-name()='display']) > 0">
  1888. <br/>
  1889. <table width="100%" cellspacing="0" cellpadding="2" border="0" class="cctable">
  1890. <thead id="Header">
  1891. <tr class="tableHeader">
  1892. <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1893. <table cellspacing="0" cellpadding="0" border="0">
  1894. <tbody>
  1895. <tr>
  1896. <td valign="top" nowrap="" class="tableTitle">
  1897. <xts:string id="DEBUG_PARAMETER_NAME"/>
  1898. </td>
  1899. </tr>
  1900. </tbody>
  1901. </table>
  1902. </td>
  1903. <td width="1" height="15">
  1904. <table cellspacing="0" cellpadding="0" border="0">
  1905. <tbody>
  1906. <tr>
  1907. <td class="tableHeaderDivider">
  1908. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1909. </td>
  1910. </tr>
  1911. </tbody>
  1912. </table>
  1913. </td>
  1914. <td width="30%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1915. <table cellspacing="0" cellpadding="0" border="0">
  1916. <tbody>
  1917. <tr>
  1918. <td valign="top" nowrap="" class="tableTitle">
  1919. <xts:string id="DEBUG_DISPLAY"/>
  1920. </td>
  1921. </tr>
  1922. </tbody>
  1923. </table>
  1924. </td>
  1925. <td width="1" height="15">
  1926. <table cellspacing="0" cellpadding="0" border="0">
  1927. <tbody>
  1928. <tr>
  1929. <td class="tableHeaderDivider">
  1930. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  1931. </td>
  1932. </tr>
  1933. </tbody>
  1934. </table>
  1935. </td>
  1936. <td width="70%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  1937. <table cellspacing="0" cellpadding="0" border="0">
  1938. <tbody>
  1939. <tr>
  1940. <td valign="top" nowrap="" class="tableTitle">
  1941. <xts:string id="DEBUG_USE"/>
  1942. </td>
  1943. </tr>
  1944. </tbody>
  1945. </table>
  1946. </td>
  1947. </tr>
  1948. </thead>
  1949. <!-- To handle cases with multiple parameters in source report -->
  1950. <xsl:for-each select="/root/*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*[local-name()='parameters']/*[local-name()='item']">
  1951. <!-- This condition is used To prevent showing credentials in the UI -->
  1952. <xsl:if test="not(contains(*[local-name()='name'],'credential'))">
  1953. <tr>
  1954. <!-- Source parameter name -->
  1955. <td valign="top" nowrap="" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
  1956. <td></td>
  1957. <!-- we can have multiple values for one parameter -->
  1958. <xsl:for-each select="/*[local-name()='value']/*[local-name()='item']"/>
  1959. <!-- Source parameter display -->
  1960. <td nowrap="" height="10" class="tabletext">
  1961. <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
  1962. <xsl:value-of select="*[local-name()='display']"/>
  1963. <!-- Start of handling in range parameters - Display value -->
  1964. <!-- Check to see if we have range type parameters -->
  1965. <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
  1966. <!-- check to see if we have the start range-->
  1967. <xsl:choose>
  1968. <xsl:when test="*[local-name()='start']!=''">
  1969. <xsl:value-of select="*[local-name()='start']/*[local-name()='display']" />
  1970. </xsl:when>
  1971. <xsl:otherwise>
  1972. <!-- TODO: This provides an empty line for unbounded start
  1973. which needs to be tested after server returns a response
  1974. for such cases-->
  1975. <label>--</label>
  1976. </xsl:otherwise>
  1977. </xsl:choose>
  1978. <br/>
  1979. <!-- Check to see if we have the end range-->
  1980. <xsl:choose>
  1981. <xsl:when test="*[local-name()='end']!=''">
  1982. <xsl:value-of select="*[local-name()='end']/*[local-name()='display']" />
  1983. </xsl:when>
  1984. <xsl:otherwise>
  1985. <!-- TODO: This provides an empty line for unbounded start
  1986. which needs to be tested after server returns a response
  1987. for such cases-->
  1988. <label>--</label>
  1989. </xsl:otherwise>
  1990. </xsl:choose>
  1991. </xsl:if>
  1992. <!-- End of handling range parameters - Display Value -->
  1993. <br/>
  1994. </xsl:for-each>
  1995. </td>
  1996. <td></td>
  1997. <td nowrap="" height="10" class="tabletext">
  1998. <!-- Source paramtere use -->
  1999. <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
  2000. <xsl:value-of select="*[local-name()='use']"/>
  2001. <!-- Start of handling in range parameters - Use value -->
  2002. <!-- Check to see if we have range type parameters -->
  2003. <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
  2004. <!-- check to see if we have the start range-->
  2005. <xsl:choose>
  2006. <xsl:when test="*[local-name()='start']!=''">
  2007. <xsl:value-of select="*[local-name()='start']/*[local-name()='use']" />
  2008. </xsl:when>
  2009. <xsl:otherwise>
  2010. <!-- TODO: This provides an empty line for unbounded start
  2011. which needs to be tested after server returns a response
  2012. for such cases-->
  2013. <label>--</label>
  2014. </xsl:otherwise>
  2015. </xsl:choose>
  2016. <br/>
  2017. <!-- Check to see if we have the end range-->
  2018. <xsl:choose>
  2019. <xsl:when test="*[local-name()='end']!=''">
  2020. <xsl:value-of select="*[local-name()='end']/*[local-name()='use']" />
  2021. </xsl:when>
  2022. <xsl:otherwise>
  2023. <!-- TODO: This provides an empty line for unbounded start
  2024. which needs to be tested after server returns a response
  2025. for such cases-->
  2026. <label>--</label>
  2027. </xsl:otherwise>
  2028. </xsl:choose>
  2029. </xsl:if>
  2030. <!-- End of handling range parameters - Use Value -->
  2031. <br/>
  2032. </xsl:for-each>
  2033. </td>
  2034. </tr>
  2035. </xsl:if>
  2036. </xsl:for-each>
  2037. </table>
  2038. </xsl:if>
  2039. <!-- End of source parameters -->
  2040. </xsl:if>
  2041. </div>
  2042. <!-- End passed source values -->
  2043. <!-- Used to invoke target mapping info pane -->
  2044. <form name="f" method="post" action="{$gateway}?b_action=xts.run&amp;m={$app}/goto.xts" target="mapping">
  2045. <input name="drillPath" type="hidden" value=""/>
  2046. <input name="executionParameters" type="hidden" value=""/>
  2047. <input name="context" type="hidden" value=""/>
  2048. <input name="debugTarget" type="hidden" value=""/>
  2049. <input name="drillType" type="hidden" value=""/>
  2050. </form>
  2051. <!-- iFrame is used to display mapping info for a selected target-->
  2052. <!-- iFrame display has been set to none and we make it visible on the run time and when we call it. -->
  2053. <iframe id="targetIframe" style="display: none;" src="" name="mapping" width="100%" height="400px"
  2054. marginwidth="0" marginheight="0" frameborder="0"></iframe>
  2055. </xsl:if>
  2056. <!-- End of goto info code-->
  2057. </div>
  2058. </xsl:otherwise>
  2059. </xsl:choose>
  2060. </xsl:otherwise>
  2061. </xsl:choose>
  2062. </lyt:section>
  2063. </lyt:layout>
  2064. <dp:footer>
  2065. <df:button df:id="IDS_CANCEL" df:style="href" df:href="javascript:onClose()"/>
  2066. </dp:footer>
  2067. </dp:page>
  2068. </xsl:template>
  2069. <xsl:template name="pick-icon">
  2070. <xsl:param name="outputType"/>
  2071. <xsl:choose>
  2072. <xsl:when test="$outputType='HTML' or $outputType='HTMLFragment'">
  2073. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_html.gif"/>
  2074. </xsl:when>
  2075. <xsl:when test="$outputType='PDF'">
  2076. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_pdf.gif"/>
  2077. </xsl:when>
  2078. <xsl:when test="$outputType='XML'">
  2079. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_xml.gif"/>
  2080. </xsl:when>
  2081. <xsl:when test="$outputType='CSV'">
  2082. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_csv.gif"/>
  2083. </xsl:when>
  2084. <xsl:when test="$outputType='singleXLS'">
  2085. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel_single.gif"/>
  2086. </xsl:when>
  2087. <xsl:when test="$outputType='XLS'">
  2088. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel.gif"/>
  2089. </xsl:when>
  2090. <xsl:when test="$outputType='XLWA'">
  2091. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel_web_arch.gif"/>
  2092. </xsl:when>
  2093. <xsl:when test="$outputType='spreadsheetML'">
  2094. <img width="16" height="16" src="{$webRoot}/ps/portal/images/icon_result_excel_2007.gif"/>
  2095. </xsl:when>
  2096. </xsl:choose>
  2097. </xsl:template>
  2098. <pf:serialize-xml/>
  2099. <gp:getToPostConversion/>
  2100. </xsl:stylesheet>
  2101. </xts:block>
  2102. <xts:block id="getDrillThroughTargetParameterValues" processor="XSLT" type="exec" dependency="secondary-request handleDirectLaunch" mandatory="false"
  2103. condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
  2104. not(string(/root/env/param[@name='ui.action'])='wait')]" nodelist="env, header, http, cookies, drillPath, drillthruContext, response">
  2105. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  2106. <xts:logicsheet path="logicsheets/portal.xsl"/>
  2107. <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/"
  2108. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  2109. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  2110. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  2111. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  2112. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  2113. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2114. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  2115. xmlns:xs="http://www.w3.org/2001/XMLSchema">
  2116. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  2117. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  2118. <xsl:template match="/root">
  2119. <xsl:variable name="drillPath">
  2120. <xsl:choose>
  2121. <xsl:when test="/root/env/param[@name='directLaunch']='true'">
  2122. <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']"/>
  2123. </xsl:when>
  2124. <xsl:otherwise>
  2125. <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='drillPath'], true())"/>
  2126. </xsl:otherwise>
  2127. </xsl:choose>
  2128. </xsl:variable>
  2129. <xsl:variable name="context">
  2130. <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='context'], true())" disable-output-escaping="yes"/>
  2131. </xsl:variable>
  2132. <xsl:variable name="executionParameters">
  2133. <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='executionParameters'], true())" disable-output-escaping="yes"/>
  2134. </xsl:variable>
  2135. <xts:sequence>
  2136. <xts:append select="/root">
  2137. <drillPath><xsl:value-of select="$drillPath"/></drillPath>
  2138. </xts:append>
  2139. <xts:delete select="/root/*[local-name()='response']"/>
  2140. <xts:append select="/root">
  2141. <response>
  2142. <send:request provider="warp" option="xml-multipart" outputHeader="true" responseEnvelope="true" soapAction="http://developer.cognos.com/schemas/reportService/1">
  2143. <getDrillThroughTargetParameterValues xmlns="http://developer.cognos.com/schemas/reportService/1">
  2144. <objectPath xsi:type="bus:searchPathSingleObject"><xsl:value-of select="$drillPath"/></objectPath>
  2145. <sourceContextValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
  2146. <xsl:choose>
  2147. <xsl:when test="/root/env/param[@name='directLaunch']='true'">
  2148. <xsl:copy-of select="/root/*[local-name()='drillthruContext']/*[local-name()='modeledDrillthru']/*[local-name()='context']/*/*"/>
  2149. </xsl:when>
  2150. <xsl:otherwise>
  2151. <xsl:copy-of select="$context"/>
  2152. </xsl:otherwise>
  2153. </xsl:choose>
  2154. </sourceContextValues>
  2155. <!-- TODO: Send the source parameter values only if user wants to do it.
  2156. User should be able to set the source parameters to passed or not -->
  2157. <parameterValues SOAP-ENC:arrayType="bus:parameterValue[]" xsi:type="SOAP-ENC:Array">
  2158. <xsl:choose>
  2159. <xsl:when test="/root/env/param[@name='directLaunch']='true'">
  2160. <xsl:copy-of select="/root/*[local-name()='drillthruContext']/*[local-name()='executionParameters']/*/*"/>
  2161. </xsl:when>
  2162. <xsl:otherwise>
  2163. <xsl:copy-of select="$executionParameters"/>
  2164. </xsl:otherwise>
  2165. </xsl:choose>
  2166. </parameterValues>
  2167. <options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]"/>
  2168. </getDrillThroughTargetParameterValues>
  2169. </send:request>
  2170. </response>
  2171. </xts:append>
  2172. <xts:delete select="/root/*[local-name()='resultStatus']"/>
  2173. <xts:append>
  2174. <resultStatus>
  2175. <xts:queryNode select="/root//*[local-name()='Envelope']/*[local-name()='Body']/*/*[local-name()='result']/*[local-name()='status']"/>
  2176. </resultStatus>
  2177. </xts:append>
  2178. </xts:sequence>
  2179. </xsl:template>
  2180. <pf:serialize-xml/>
  2181. </xsl:stylesheet>
  2182. </xts:block>
  2183. <xts:block id="polling_getDrillThroughTargetParameterValues_request" mode="output" processor="XSLT" type="exec" mimeType="text/html" mandatory="false"
  2184. dependency="getDrillThroughTargetParameterValues"
  2185. condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
  2186. (/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) -->
  2187. <xts:logicsheet path="logicsheets/portal.xsl"/>
  2188. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  2189. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  2190. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  2191. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  2192. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  2193. <xts:logicsheet path="logicsheets/validation.xslt"/>
  2194. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  2195. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  2196. <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/"
  2197. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  2198. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  2199. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  2200. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  2201. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2202. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  2203. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  2204. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  2205. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  2206. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  2207. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  2208. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  2209. xmlns:xs="http://www.w3.org/2001/XMLSchema">
  2210. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  2211. <pf:variables/>
  2212. <pf:serialize-xml/>
  2213. <xsl:template match="/">
  2214. <xsl:variable name="contextid">
  2215. <xsl:value-of select="xtsext:cafaction(concat('get_contextid_setcomponent_es_setpassportid_', $passport), '')"/>
  2216. </xsl:variable>
  2217. <xsl:variable name="tracking">
  2218. <xsl:for-each select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Header']/*[local-name() = 'biBusHeader']/*[local-name() = 'tracking']/*[local-name() = 'conversationContext']">
  2219. <xsl:variable name="markup-track">
  2220. <xsl:call-template name="serialize-xml">
  2221. <xsl:with-param name="node-set" select="."/>
  2222. </xsl:call-template>
  2223. </xsl:variable>
  2224. <xsl:value-of select="string($markup-track)"/>
  2225. </xsl:for-each>
  2226. </xsl:variable>
  2227. <xsl:variable name="conversation">
  2228. <xsl:call-template name="serialize-xml">
  2229. <xsl:with-param name="node-set" select="/root//*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*/*[local-name() = 'primaryRequest']/*"/>
  2230. </xsl:call-template>
  2231. </xsl:variable>
  2232. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
  2233. <html>
  2234. <!-- CSSs requird to use format properly -->
  2235. <link rel="stylesheet" type="text/css" href="{$skin_root}/portal/default.css"/>
  2236. <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/RVReport.css"/>
  2237. <body>
  2238. <table id="workingStatus" cellspacing="0" cellpadding="0" width="100%" height="100%" align="center" valign="middle">
  2239. <tr>
  2240. <td width="100%" height="100%" align="center" valign="middle">
  2241. <table align="center" cellspacing="0" cellpadding="0" style="vertical-align:middle; border:1px outset;" class="busyBody">
  2242. <tr>
  2243. <td rowspan="2">
  2244. <img src="{$brand_images}progress.gif" style="margin:5px;" width="48" height="48" name="progress"/>
  2245. </td>
  2246. <td nowrap="nowrap">
  2247. <span class="busyUpdatingStr">
  2248. <xts:string id="GOTO_WORKING"/>
  2249. </span>
  2250. </td>
  2251. </tr>
  2252. <tr>
  2253. <td nowrap="nowrap">
  2254. <span class="busyUpdatingStr">
  2255. <xts:string id="RV_PLEASE_WAIT"/>
  2256. </span>
  2257. </td>
  2258. </tr>
  2259. <tr>
  2260. <td style="height:7px;" colspan="2"></td>
  2261. </tr>
  2262. </table>
  2263. </td>
  2264. </tr>
  2265. </table>
  2266. <form name="formWarpRequest" id="formWarpRequest" method="POST" action="{$gateway}" style="margin:0px;height:100%;">
  2267. <input type="hidden" name="drillPath">
  2268. <xsl:attribute name="value">
  2269. <xsl:choose>
  2270. <xsl:when test="/root/env/param[@name='directLaunch']='true'">
  2271. <xsl:value-of select="/root/*[local-name()='drillPath']"/>
  2272. </xsl:when>
  2273. <xsl:otherwise>
  2274. <xsl:value-of select="/root/env/param[@name='drillPath']"/>
  2275. </xsl:otherwise>
  2276. </xsl:choose>
  2277. </xsl:attribute>
  2278. </input>
  2279. <input type="hidden" name="context">
  2280. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='context']"/></xsl:attribute>
  2281. </input>
  2282. <input type="hidden" name="drillType">
  2283. <xsl:attribute name="value"><xsl:value-of select="/root/env/param[@name='drillType']"/></xsl:attribute>
  2284. </input>
  2285. <input type="hidden" name="redirect"/>
  2286. <input type="hidden" name="ui.action" value="wait"/>
  2287. <input type="hidden" name="m" value="portal/goto.xts"/>
  2288. <input type="hidden" name="b_action" value="xts.run"/>
  2289. <input type="hidden" name="inlineSpec" value=""/>
  2290. <input type="hidden" name="conversation">
  2291. <xsl:attribute name="value"><xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($conversation), true()))"/></xsl:attribute>
  2292. </input>
  2293. <input type="hidden" name="tracking">
  2294. <xsl:attribute name="value"><xsl:value-of select="xtsext:cafaction(concat('sign_wrap_setpassportid_', $passport), xtsext:web64encode(string($tracking), true()))"/></xsl:attribute>
  2295. </input>
  2296. <xsl:if test="/root/env/param[@name='directLaunch']='true'">
  2297. <input type="hidden" name="directLaunch" value="true"/>
  2298. </xsl:if>
  2299. <xsl:if test="$contextid!=''">
  2300. <input type="hidden" name="cafcontextid">
  2301. <xsl:attribute name="value"><xsl:value-of select="$contextid"/></xsl:attribute>
  2302. </input>
  2303. </xsl:if>
  2304. </form>
  2305. </body>
  2306. <script language="javascript">
  2307. document.formWarpRequest.submit();
  2308. setTimeout('document.progress.src="<xsl:value-of select="xtsext:javascriptencode(string($brand_images))"/>progress.gif"', 1);
  2309. </script>
  2310. </html>
  2311. </xsl:template>
  2312. </xsl:stylesheet>
  2313. </xts:block>
  2314. <xts:block id="getDrillPath" processor="XSLT" type="exec" dependency="getDrillThroughTargetParameterValues" mandatory="false"
  2315. condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
  2316. (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]" nodelist="env, resultStatus, header, http, cookies, drillPath">
  2317. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  2318. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  2319. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  2320. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  2321. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2322. 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/">
  2323. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  2324. <xsl:template match="/">
  2325. <xsl:variable name="drillPath">
  2326. <xsl:choose>
  2327. <xsl:when test="string(/root/env/param[@name='drillPath'])!=''">
  2328. <xsl:value-of select="xtsext:web64decode(/root/env/param[@name='drillPath'], true())"/>
  2329. </xsl:when>
  2330. <xsl:when test="/root/env/param[@name='directLaunch']='true'">
  2331. <xsl:value-of select="/root/*[local-name()='drillPath']"/>
  2332. </xsl:when>
  2333. </xsl:choose>
  2334. </xsl:variable>
  2335. <xsl:if test="$drillPath and $drillPath != ''">
  2336. <xts:sequence>
  2337. <xts:delete select="/root/*[local-name()='queryResponse']"/>
  2338. <xts:append>
  2339. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  2340. <send:request provider="cm">
  2341. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  2342. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  2343. <cm:search>
  2344. <xsl:value-of select="$drillPath"/>
  2345. </cm:search>
  2346. <cm:properties>
  2347. <cm:property name="defaultName"/>
  2348. <cm:property name="action"/>
  2349. <cm:property name="options"/>
  2350. <cm:property name="target"/>
  2351. </cm:properties>
  2352. <cm:options schemaInfo="true">
  2353. <cm:refProps>
  2354. <cm:refProp refPropName="target">
  2355. <cm:properties>
  2356. <cm:property name="searchPath"/>
  2357. <cm:property name="defaultName"/>
  2358. <cm:property name="action"/>
  2359. </cm:properties>
  2360. </cm:refProp>
  2361. </cm:refProps>
  2362. </cm:options>
  2363. </cm:query>
  2364. </xts:transform>
  2365. </send:request>
  2366. </xts:transform>
  2367. </xts:append>
  2368. </xts:sequence>
  2369. </xsl:if>
  2370. </xsl:template>
  2371. </xsl:stylesheet>
  2372. </xts:block>
  2373. <xts:block id="getTargetReport" processor="XSLT" type="exec" dependency="getDrillPath" mandatory="false"
  2374. condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
  2375. (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
  2376. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  2377. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  2378. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  2379. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  2380. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  2381. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  2382. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2383. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  2384. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  2385. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  2386. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  2387. <xsl:template match="/">
  2388. <xsl:variable name="report_path">
  2389. <xsl:value-of select="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']/*[local-name()='target']/*/*[local-name()='searchPath']"/>
  2390. </xsl:variable>
  2391. <xsl:if test="$report_path and $report_path != ''">
  2392. <xts:sequence>
  2393. <xts:append>
  2394. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  2395. <send:request provider="cm">
  2396. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  2397. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  2398. <cm:search>
  2399. <xsl:value-of select="$report_path"/>
  2400. </cm:search>
  2401. <cm:properties>
  2402. <cm:property name="defaultName"/>
  2403. <cm:property name="action"/>
  2404. <cm:property name="defaultOutputFormat"/>
  2405. <cm:property name="defaultPortalAction"/>
  2406. <cm:property name="permissions"/>
  2407. <cm:property name="base"/>
  2408. <cm:property name="searchPath"/>
  2409. <cm:property name="format"/>
  2410. <cm:property name="disabled"/>
  2411. </cm:properties>
  2412. <options xsi:type="xsd:queryOptions">
  2413. <refProps xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:refProp[]">
  2414. <item xsi:type="cm:refProp">
  2415. <refPropName xsi:type="cm:propEnum">base</refPropName>
  2416. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
  2417. <item xsi:type="cm:propEnum">searchPath</item>
  2418. <item xsi:type="cm:propEnum">permissions</item>
  2419. <item xsi:type="cm:propEnum">defaultOutputFormat</item>
  2420. <item xsi:type="cm:propEnum">executionFormat</item>
  2421. <item xsi:type="cm:propEnum">defaultPortalAction</item>
  2422. <item xsi:type="cm:propEnum">disabled</item>
  2423. <item xsi:type="cm:propEnum">storeID</item>
  2424. </properties>
  2425. </item>
  2426. </refProps>
  2427. </options>
  2428. </cm:query>
  2429. </xts:transform>
  2430. </send:request>
  2431. </xts:transform>
  2432. </xts:append>
  2433. </xts:sequence>
  2434. </xsl:if>
  2435. </xsl:template>
  2436. </xsl:stylesheet>
  2437. </xts:block>
  2438. <xts:block id="extractBookmark" processor="XSLT" type="exec" dependency="getDrillThroughTargetParameterValues getOutput getDrillPath getTargetReport" mandatory="false"
  2439. condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
  2440. (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]" nodelist="env, resultStatus, response">
  2441. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  2442. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  2443. <xsl:template match="/">
  2444. <xts:sequence>
  2445. <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'">
  2446. <xts:append select="/root">
  2447. <bookmarkRef>
  2448. <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']"/>
  2449. </bookmarkRef>
  2450. </xts:append>
  2451. </xsl:if>
  2452. <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']"/>
  2453. </xts:sequence>
  2454. </xsl:template>
  2455. </xsl:stylesheet>
  2456. </xts:block>
  2457. <xts:block id="getTarget" processor="XSLT" type="exec" dependency="extractBookmark" mandatory="false"
  2458. condition=".[(/root/env/param[@name='redirect'] or /root/env/param[@name='debugTarget']) and /root/env/param[@name='drillType']='modeledDrillThroughPath' and
  2459. (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
  2460. <xts:logicsheet path="logicsheets/portal.xsl"/>
  2461. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  2462. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  2463. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  2464. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  2465. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  2466. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  2467. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  2468. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  2469. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  2470. xmlns:rns1="http://developer.cognos.com/schemas/reportService/1"
  2471. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2472. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  2473. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/">
  2474. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  2475. <xsl:template match="/">
  2476. <xts:sequence>
  2477. <xsl:variable name="theobj" select="/root//*[local-name()='Envelope']/*[local-name()='Body']//*[local-name()='result']/*[local-name()='details']/*[local-name()='item']"/>
  2478. <xsl:if test="$theobj">
  2479. <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">
  2480. <xsl:variable name="targetParameterValues">
  2481. <xsl:call-template name="serialize-xml">
  2482. <xsl:with-param name="node-set" select="$theobj/*"/>
  2483. </xsl:call-template>
  2484. </xsl:variable>
  2485. <xsl:choose>
  2486. <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='report']">
  2487. <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='report']">
  2488. <drillThroughTargetParameterValues>
  2489. <xsl:value-of select="xtsext:web64encode(string($targetParameterValues), true())"/>
  2490. </drillThroughTargetParameterValues>
  2491. </xts:append>
  2492. </xsl:when>
  2493. <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='reportView']">
  2494. <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='reportView']">
  2495. <drillThroughTargetParameterValues>
  2496. <xsl:value-of select="xtsext:web64encode(string($targetParameterValues), true())"/>
  2497. </drillThroughTargetParameterValues>
  2498. </xts:append>
  2499. </xsl:when>
  2500. <xsl:when test="/root/*[local-name()='queryResponse']/*[local-name()='query']">
  2501. <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='query']">
  2502. <drillThroughTargetParameterValues>
  2503. <xsl:value-of select="xtsext:web64encode(string($targetParameterValues), true())"/>
  2504. </drillThroughTargetParameterValues>
  2505. </xts:append>
  2506. </xsl:when>
  2507. <xsl:otherwise>
  2508. <xts:append select="/root/*[local-name()='queryResponse']/*[local-name()='analysis']">
  2509. <drillThroughTargetParameterValues>
  2510. <xsl:value-of select="$targetParameterValues"/>
  2511. </drillThroughTargetParameterValues>
  2512. </xts:append>
  2513. </xsl:otherwise>
  2514. </xsl:choose>
  2515. </xsl:if>
  2516. </xsl:if>
  2517. </xts:sequence>
  2518. </xsl:template>
  2519. <pf:serialize-xml/>
  2520. </xsl:stylesheet>
  2521. </xts:block>
  2522. <xts:block id="redirect" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getTarget"
  2523. condition=".[/root/env/param[@name='redirect'] and
  2524. (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
  2525. <xts:logicsheet path="logicsheets/portal.xsl"/>
  2526. <xts:logicsheet path="logicsheets/permissions.xsl"/>
  2527. <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
  2528. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  2529. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  2530. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  2531. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  2532. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  2533. <xts:logicsheet path="logicsheets/validation.xslt"/> <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  2534. <xsl:stylesheet version="1.0"
  2535. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  2536. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  2537. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  2538. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  2539. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  2540. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  2541. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  2542. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  2543. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  2544. xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf"
  2545. xmlns:pm="http://developer.cognos.com/schemas/xts/pm"
  2546. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  2547. xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl cm pf xts xtsext lyt dp df cf cp">
  2548. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  2549. <xsl:variable name="mname" select="'goto.xts'"/>
  2550. <mf:variables/>
  2551. <pf:variables/>
  2552. <xsl:template match="/root">
  2553. <xsl:variable name="ui.bookmark">
  2554. <!-- url encode the bookmark string. Replace any spaces with '+' -->
  2555. <xsl:value-of select="xtsext:urlencode(string(/root/*[local-name()='bookmarkRef']),'UTF-8','true')"/>
  2556. </xsl:variable>
  2557. <xsl:variable name="drillType" select="/root/env/param[@name='drillType']"></xsl:variable>
  2558. <xsl:variable name="launchurl">
  2559. <xsl:choose>
  2560. <xsl:when test="/root/cm:queryResponse[2]/cm:report">
  2561. <xsl:call-template name="build-url">
  2562. <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:report"/>
  2563. </xsl:call-template>
  2564. </xsl:when>
  2565. <xsl:when test="/root/cm:queryResponse[2]/cm:reportView">
  2566. <xsl:call-template name="build-url">
  2567. <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:reportView"/>
  2568. </xsl:call-template>
  2569. </xsl:when>
  2570. <xsl:when test="/root/cm:queryResponse[2]/cm:query">
  2571. <xsl:call-template name="build-url">
  2572. <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:query"/>
  2573. </xsl:call-template>
  2574. </xsl:when>
  2575. <xsl:otherwise>
  2576. <xsl:call-template name="build-url">
  2577. <xsl:with-param name="report" select="/root/cm:queryResponse[2]/cm:analysis"/>
  2578. </xsl:call-template>
  2579. </xsl:otherwise>
  2580. </xsl:choose>
  2581. </xsl:variable>
  2582. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
  2583. <html>
  2584. <head>
  2585. <xsl:variable name="cmd-form" select="'pform'"/>
  2586. <pf:launch/>
  2587. <script language="javascript">
  2588. var launchurl = "";
  2589. function launchTarget()
  2590. {
  2591. <xsl:choose>
  2592. <xsl:when test="starts-with($launchurl, 'javascript:')">
  2593. launchurl = "<xsl:value-of select="xtsext:javascriptencode($launchurl)"/>";
  2594. </xsl:when>
  2595. <xsl:otherwise>
  2596. launchurl = "<xsl:value-of select="$launchurl"/>";
  2597. </xsl:otherwise>
  2598. </xsl:choose>
  2599. if (launchurl.indexOf("javascript:") == 0)
  2600. {
  2601. <!-- temp code until portal adds support for ui.bookmark in the template gen-url -->
  2602. <xsl:variable name="tempLaunchURL">
  2603. <xsl:value-of select="substring-before($launchurl, ');')"/>
  2604. <xsl:if test="$ui.bookmark != ''">
  2605. <xsl:text>,&apos;ui.bookmark&apos;,&apos;</xsl:text>
  2606. <xsl:value-of select="xtsext:javascriptencode($ui.bookmark)"/>
  2607. <xsl:text>&apos;</xsl:text>
  2608. </xsl:if>
  2609. <xsl:text>);</xsl:text>
  2610. </xsl:variable>
  2611. <xsl:value-of select="$tempLaunchURL"/>
  2612. if (window.opener != null &amp;&amp; launchurl.indexOf("javascript:cognosLaunchInWindow") != -1)
  2613. {
  2614. window.close();
  2615. }
  2616. }
  2617. else
  2618. {
  2619. window.location.href = launchurl;
  2620. }
  2621. }
  2622. </script>
  2623. </head>
  2624. <xsl:choose>
  2625. <xsl:when test="$launchurl != ''">
  2626. <body onload="launchTarget();"/>
  2627. </xsl:when>
  2628. <xsl:otherwise>
  2629. <script language="javascript">
  2630. function onClose()
  2631. {
  2632. if (window.opener != null)
  2633. {
  2634. window.close();
  2635. }
  2636. }
  2637. </script>
  2638. <xsl:variable name="browserTitle">
  2639. <xts:string id="GOTO_PAGE"></xts:string>
  2640. </xsl:variable>
  2641. <dp:page longTitle="$browserTitle">
  2642. <dp:meta>
  2643. <pf:meta/>
  2644. </dp:meta>
  2645. <dp:script>
  2646. <pf:help context="HID_GOTO_DIALOG"/>
  2647. <script language="javascript">
  2648. <xsl:attribute name="src"><xsl:value-of select="$webcontent"/>/<xsl:value-of select="$app"/>/js/list.js<xsl:text/></xsl:attribute>
  2649. </script>
  2650. </dp:script>
  2651. <dp:header>
  2652. <dp:title>
  2653. <xsl:value-of select="$browserTitle"/>
  2654. </dp:title>
  2655. <dp:description>
  2656. <xts:string id="GOTO_NO_PRIVILEGE"/>
  2657. </dp:description>
  2658. <dp:close>
  2659. <a href="javascript:onClose()">
  2660. <dp:closeMarker/>
  2661. </a>
  2662. </dp:close>
  2663. </dp:header>
  2664. <dp:footer>
  2665. <df:button df:id="IDS_CLOSE" df:style="href" df:href="javascript:onClose()"/>
  2666. </dp:footer>
  2667. </dp:page>
  2668. </xsl:otherwise>
  2669. </xsl:choose>
  2670. </html>
  2671. </xsl:template>
  2672. <xsl:template name="build-url">
  2673. <xsl:param name="report" select="''"/>
  2674. <xsl:apply-templates select="$report"/>
  2675. </xsl:template>
  2676. <xsl:template match="/root/cm:queryResponse/cm:report|/root/cm:queryResponse/cm:reportView|/root/cm:queryResponse/cm:query|/root/cm:queryResponse/cm:analysis">
  2677. <pm:permissions/>
  2678. <xsl:variable name="defaultName" select="cm:defaultName"/>
  2679. <xsl:variable name="class" select="cm:objectClass"/>
  2680. <xsl:variable name="preferredAction">
  2681. <xsl:choose>
  2682. <xsl:when test="/root/cm:queryResponse[1]/cm:drillPath/cm:action and /root/cm:queryResponse[1]/cm:drillPath/cm:action != ''">
  2683. <xsl:value-of select="/root/cm:queryResponse[1]/cm:drillPath/cm:action"/>
  2684. </xsl:when>
  2685. <xsl:otherwise>
  2686. <xsl:value-of select="'viewOutput'"/>
  2687. </xsl:otherwise>
  2688. </xsl:choose>
  2689. </xsl:variable>
  2690. <xsl:variable name="permissions" select="cm:permissions"/>
  2691. <xsl:variable name="searchPath" select="cm:searchPath"/>
  2692. <xsl:variable name="disabled" select="cm:disabled"/>
  2693. <xsl:variable name="drillpath_output_format">
  2694. <xsl:choose>
  2695. <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']) != ''">
  2696. <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'])"/>
  2697. </xsl:when>
  2698. <xsl:otherwise>
  2699. <xsl:value-of select="$output_format"/>
  2700. </xsl:otherwise>
  2701. </xsl:choose>
  2702. </xsl:variable>
  2703. <!-- 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
  2704. part of launchurl -->
  2705. <xsl:variable name="drillpath_prompt">
  2706. <xsl:choose>
  2707. <xsl:when test="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']/*[local-name()='options']/*[local-name()='value']/*[local-name()='item'] [./*[local-name()='name'][.='prompt']]">
  2708. <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']"/>
  2709. </xsl:when>
  2710. <xsl:otherwise>
  2711. <xsl:value-of select="none"/>
  2712. </xsl:otherwise>
  2713. </xsl:choose>
  2714. </xsl:variable>
  2715. <xsl:variable name="action">
  2716. <xsl:call-template name="calculate-action">
  2717. <xsl:with-param name="class" select="$class"/>
  2718. <xsl:with-param name="preferredAction" select="$preferredAction"/>
  2719. <xsl:with-param name="output_format" select="$drillpath_output_format"/>
  2720. <xsl:with-param name="canRead" select="$canRead"/>
  2721. <xsl:with-param name="canExecute" select="$canExecute"/>
  2722. <xsl:with-param name="canTraverse" select="$canTraverse"/>
  2723. </xsl:call-template>
  2724. </xsl:variable>
  2725. <xsl:variable name="launchurl">
  2726. <xsl:call-template name="gen-url">
  2727. <xsl:with-param name="canExecute" select="$canExecute"/>
  2728. <xsl:with-param name="canRead" select="$canRead"/>
  2729. <xsl:with-param name="canTraverse" select="$canTraverse"/>
  2730. <xsl:with-param name="output_format" select="$drillpath_output_format"/>
  2731. <xsl:with-param name="class" select="$class"/>
  2732. <xsl:with-param name="userInterfaces" select="false"/>
  2733. <xsl:with-param name="action" select="$action"/>
  2734. <xsl:with-param name="isDangling" select="false()"/>
  2735. <xsl:with-param name="isContainer" select="false()"/>
  2736. <xsl:with-param name="isIgnoreBackURL" select="true()"/>
  2737. <xsl:with-param name="isDrillthruMode" select="true()"/>
  2738. <xsl:with-param name="specifyRunOutputFormat" select="true()"/>
  2739. <!--Add new param for run.prompt -->
  2740. <xsl:with-param name="executionPrompt" select="$drillpath_prompt"/>
  2741. </xsl:call-template>
  2742. </xsl:variable>
  2743. <xsl:value-of select="$launchurl"/>
  2744. </xsl:template>
  2745. <xsl:template name="calculate-action">
  2746. <xsl:param name="class" select="''"/>
  2747. <xsl:param name="preferredAction" select="''"/>
  2748. <xsl:param name="output_format" select="''"/>
  2749. <xsl:param name="canRead" select="false()"/>
  2750. <xsl:param name="canExecute" select="false()"/>
  2751. <xsl:param name="canTraverse" select="false()"/>
  2752. <xsl:param name="userInterfaces" select="''"/>
  2753. <xsl:variable name="action">
  2754. <xsl:choose>
  2755. <xsl:when test="contains(' analysis report query reportView ', concat(' ', $class, ' ' ))">
  2756. <xsl:choose>
  2757. <xsl:when test="$preferredAction='viewOutput' and ($canRead and $canTraverse)">
  2758. <xsl:choose>
  2759. <xsl:when test="$output_format != '' ">view</xsl:when>
  2760. <xsl:when test="($class='query' or $class='analysis') and ($canRead and $canExecute)">edit</xsl:when>
  2761. <xsl:when test="$canRead and $canExecute">run</xsl:when>
  2762. </xsl:choose>
  2763. </xsl:when>
  2764. <xsl:when test="$preferredAction='run' and ($canRead and $canExecute)">run</xsl:when>
  2765. <xsl:when test="$preferredAction='edit' and ($canRead and $canExecute)">
  2766. <xsl:choose>
  2767. <xsl:when test="$userCanUseQS and ($browser='ie' or $browser='moz')">edit</xsl:when> <!-- query object -->
  2768. <xsl:when test="$userCanUseRS and $browser='ie' ">edit</xsl:when> <!-- report object-->
  2769. <xsl:when test="$userCanUseANS">edit</xsl:when> <!--analysis object -->
  2770. </xsl:choose>
  2771. </xsl:when>
  2772. <!-- this is the fall back if action was not set for report and report view: view, run (wouldn't get to edit) -->
  2773. <!-- but for query and anlaysis: view, edit and run -->
  2774. <xsl:when test="$output_format != '' and ($canRead and $canTraverse)">view</xsl:when>
  2775. <xsl:when test="$class='query' and $canRead and $canExecute and $userCanUseQS and ($browser='ie' or $browser='moz')">edit</xsl:when> <!-- query object -->
  2776. <xsl:when test="$class='analysis' and $canRead and $canExecute and $userCanUseANS">edit</xsl:when> <!--analysis object -->
  2777. <xsl:when test="$canRead and $canExecute">run</xsl:when><!-- report object-->
  2778. </xsl:choose>
  2779. </xsl:when>
  2780. <xsl:when test="contains(' package ', concat(' ', $class, ' ' ))">
  2781. <xsl:if test="$userInterfaces='metricStudio'">
  2782. <xsl:choose>
  2783. <xsl:when test="($preferredAction='view') and $canTraverse">view</xsl:when>
  2784. <xsl:when test="($preferredAction='run' or $preferredAction='') and ($canRead and $canExecute) and $userCanUseMetricsManager">run</xsl:when>
  2785. </xsl:choose>
  2786. </xsl:if>
  2787. </xsl:when>
  2788. </xsl:choose>
  2789. </xsl:variable>
  2790. <xsl:value-of select="$action"/>
  2791. </xsl:template>
  2792. <pf:gen-icon/>
  2793. <pf:gen-url/>
  2794. </xsl:stylesheet>
  2795. </xts:block>
  2796. <!--Add a new block to obtain mapping and target info from a selected target and display the mapping info for debugging purpose.
  2797. This info becomes available only when a user has the capability to run the debug assistant.
  2798. -->
  2799. <xts:block id="debugTarget" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="getTarget"
  2800. condition=".[/root/env/param[@name='debugTarget'] and
  2801. (/root/resultStatus = 'complete' or /root/resultStatus = 'conversationComplete')]">
  2802. <xts:logicsheet path="logicsheets/portal.xsl"/>
  2803. <xts:logicsheet path="logicsheets/permissions.xsl"/>
  2804. <xts:logicsheet path="logicsheets/presentation/main/framework.xsl"/>
  2805. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  2806. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  2807. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  2808. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  2809. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  2810. <xts:logicsheet path="logicsheets/validation.xslt"/>
  2811. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  2812. <xsl:stylesheet version="1.0"
  2813. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  2814. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  2815. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  2816. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  2817. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  2818. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  2819. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  2820. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  2821. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  2822. xmlns:mf="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mf"
  2823. xmlns:pm="http://developer.cognos.com/schemas/xts/pm"
  2824. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  2825. xmlns:xts="http://developer.cognos.com/schemas/xts/" exclude-result-prefixes="xsl cm pf xts xtsext lyt dp df cf cp">
  2826. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  2827. <xsl:variable name="mname" select="'goto.xts'"/>
  2828. <mf:variables/>
  2829. <pf:variables/>
  2830. <xsl:template match="/root">
  2831. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text>
  2832. <html>
  2833. <head>
  2834. <!-- CSSs requird to use format properly -->
  2835. <link rel="stylesheet" type="text/css" href="{$skin_root}/portal/default.css"/>
  2836. <link rel="stylesheet" type="text/css" href="{$skin_root}/qs/RVReport.css"/>
  2837. </head>
  2838. <body>
  2839. <div>
  2840. <table>
  2841. <tr>
  2842. <td colspan="2" nowrap="" height="10" class="formLabel">
  2843. <xts:string id="DEBUG_PARAMETER_MAPPING"/></td>
  2844. </tr>
  2845. <tr>
  2846. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_DRILL_THROUGH_DEFINITION"/></td>
  2847. <td class="formText">
  2848. <xsl:for-each select="/root/*[local-name()='queryResponse'][1]/*[local-name()='drillPath']">
  2849. <xsl:value-of select="./*[local-name()='defaultName']"/>
  2850. </xsl:for-each>
  2851. </td>
  2852. </tr>
  2853. <tr>
  2854. <td nowrap="" height="10" class="tabletext"><xts:string id="DEBUG_MAPPING_PARAMETERS"/></td>
  2855. </tr>
  2856. </table>
  2857. <!-- End Drill Path Info -->
  2858. <!-- create a table for mapping parameters -->
  2859. <table width="100%" cellspacing="0" cellpadding="3" border="0" class="cctable">
  2860. <thead id="Header">
  2861. <tr class="tableHeader">
  2862. <!--Parameter name column header-->
  2863. <td width="20%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  2864. <table cellspacing="0" cellpadding="0" border="0">
  2865. <tbody>
  2866. <tr>
  2867. <td valign="top" nowrap="" class="tableTitle">
  2868. <xts:string id="DEBUG_PARAMETER_NAME"/>
  2869. </td>
  2870. </tr>
  2871. </tbody>
  2872. </table>
  2873. </td>
  2874. <!--Parameter Display column header-->
  2875. <td width="1" height="15">
  2876. <table cellspacing="0" cellpadding="0" border="0">
  2877. <tbody>
  2878. <tr>
  2879. <td class="tableHeaderDivider">
  2880. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  2881. </td>
  2882. </tr>
  2883. </tbody>
  2884. </table>
  2885. </td>
  2886. <td width="20%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  2887. <table cellspacing="0" cellpadding="0" border="0">
  2888. <tbody>
  2889. <tr>
  2890. <td valign="top" nowrap="" class="tableTitle">
  2891. <xts:string id="DEBUG_DISPLAY"/>
  2892. </td>
  2893. </tr>
  2894. </tbody>
  2895. </table>
  2896. </td>
  2897. <!--Parameter use column header-->
  2898. <td width="1" height="15">
  2899. <table cellspacing="0" cellpadding="0" border="0">
  2900. <tbody>
  2901. <tr>
  2902. <td class="tableHeaderDivider">
  2903. <img width="1" height="15" src="/blacksea/ps/images/space.gif"/>
  2904. </td>
  2905. </tr>
  2906. </tbody>
  2907. </table>
  2908. </td>
  2909. <td width="60%" valign="center" nowrap="" height="10" style="padding-left: 2px; padding-top: 2px;" class="tableTitle">
  2910. <table cellspacing="0" cellpadding="0" border="0">
  2911. <tbody>
  2912. <tr>
  2913. <td valign="top" nowrap="" class="tableTitle">
  2914. <xts:string id="DEBUG_USE"/>
  2915. </td>
  2916. </tr>
  2917. </tbody>
  2918. </table>
  2919. </td>
  2920. </tr>
  2921. </thead>
  2922. <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']">
  2923. <!-- To prevent showing credentials in the UI -->
  2924. <xsl:if test="not(contains(*[local-name()='name'],'credential'))">
  2925. <tr>
  2926. <!--Parameter name column rows-->
  2927. <td nowrap="" valign="top" height="10" class="tabletext"><xsl:value-of select="*[local-name()='name']"/></td>
  2928. <!--Parameter display column rows-->
  2929. <td></td>
  2930. <td nowrap="" height="10" class="tabletext">
  2931. <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
  2932. <xsl:value-of select="*[local-name()='display']"/>
  2933. <!-- Start of handling in range parameters - Display value -->
  2934. <!-- Check to see if we have range type parameters -->
  2935. <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
  2936. <!-- check to see if we have the start range-->
  2937. <xsl:choose>
  2938. <xsl:when test="*[local-name()='start']!=''">
  2939. <xsl:value-of select="*[local-name()='start']/*[local-name()='display']" />
  2940. </xsl:when>
  2941. <xsl:otherwise>
  2942. <!-- TODO: This provides an empty line for unbounded start
  2943. which needs to be tested after server returns a response
  2944. for such cases-->
  2945. <label>--</label>
  2946. </xsl:otherwise>
  2947. </xsl:choose>
  2948. <br/>
  2949. <!-- Check to see if we have the end range-->
  2950. <xsl:choose>
  2951. <xsl:when test="*[local-name()='end']!=''">
  2952. <xsl:value-of select="*[local-name()='end']/*[local-name()='display']" />
  2953. </xsl:when>
  2954. <xsl:otherwise>
  2955. <!-- TODO: This provides an empty line for unbounded start
  2956. which needs to be tested after server returns a response
  2957. for such cases-->
  2958. <label>--</label>
  2959. </xsl:otherwise>
  2960. </xsl:choose>
  2961. </xsl:if>
  2962. <!-- End of handling range parameters -->
  2963. <br />
  2964. </xsl:for-each>
  2965. </td>
  2966. <!--Parameter use column rows-->
  2967. <td></td>
  2968. <td nowrap="" height="10" class="tabletext">
  2969. <xsl:for-each select="*[local-name()='value']/*[local-name()='item']">
  2970. <xsl:value-of select="*[local-name()='use']"/>
  2971. <!--
  2972. Start of handling in range parameters.
  2973. Currently this is only related to dates when
  2974. drill through from OLAP to relational.
  2975. Because it is only OLAP date that can be
  2976. a range.
  2977. TODO: DTP does not return any information on unbounded starts
  2978. or end and return the same response for all target
  2979. parameters. This needs to be fixed in DTP -->
  2980. <!-- Check to see if we have range type parameters -->
  2981. <xsl:if test="*[local-name()='start']!='' or *[local-name()='end']!=''">
  2982. <!-- check to see if we have the start range-->
  2983. <xsl:choose>
  2984. <xsl:when test="*[local-name()='start']!=''">
  2985. <xsl:value-of select="*[local-name()='start']/*[local-name()='use']" />
  2986. </xsl:when>
  2987. <xsl:otherwise>
  2988. <!-- TODO: This provides an empty line for unbounded start
  2989. which needs to be tested after server returns a response
  2990. for such cases-->
  2991. <label>--</label>
  2992. </xsl:otherwise>
  2993. </xsl:choose>
  2994. <br/>
  2995. <!-- Check to see if we have the end range-->
  2996. <xsl:choose>
  2997. <xsl:when test="*[local-name()='end']!=''">
  2998. <xsl:value-of select="*[local-name()='end']/*[local-name()='use']" />
  2999. </xsl:when>
  3000. <xsl:otherwise>
  3001. <!-- TODO: This provides an empty line for unbounded start
  3002. which needs to be tested after server returns a response
  3003. for such cases-->
  3004. <label>--</label>
  3005. </xsl:otherwise>
  3006. </xsl:choose>
  3007. </xsl:if>
  3008. <!-- End of handling range parameters -->
  3009. <br/>
  3010. </xsl:for-each>
  3011. </td>
  3012. </tr>
  3013. </xsl:if>
  3014. </xsl:for-each>
  3015. </table>
  3016. <!--end mapping parameter table-->
  3017. </div>
  3018. </body>
  3019. </html>
  3020. </xsl:template>
  3021. </xsl:stylesheet>
  3022. </xts:block>
  3023. <!-- Debug -->
  3024. <!-- ============================================================================= -->
  3025. <xts:block id="debug" dependency="render" condition=".[/root/session/param[@name='debug'] = '1' ]" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
  3026. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  3027. <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">
  3028. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  3029. <dbg:templates/>
  3030. <xsl:template match="/">
  3031. <dbg:dumpxml select="/root"/>
  3032. </xsl:template>
  3033. </xsl:stylesheet>
  3034. </xts:block>
  3035. </xts:morphlet>