activities_upcoming_chart.xts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: cogadmin
  5. (C) Copyright IBM Corp. 2005, 2014
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <!--
  9. Copyright (C) 2008 Cognos ULC, an IBM Company. All rights reserved.
  10. Cognos (R) is a trademark of Cognos ULC, (formerly Cognos Incorporated).
  11. -->
  12. <xts:morphlet version="1.0" xmlns:xts="http://developer.cognos.com/schemas/xts/" messageBase="messages/cogadminuimsgs.xml" requiredCapability="canUseScheduling canUseMonitorActivityTool or">
  13. <xts:block id="frag_init" nodelist="env, credential" type="exec" mode="interpret" processor="XSLT" path="cogadmin/logicsheets/fragment_init.xslt" condition=".[not(/root/env/param[@name='frag-directive']='meta-only') and not(/root/env/param[@name='release_conversation'] = 'true')]" mandatory="true"/>
  14. <xts:block id="getCurrentUser" nodelist="header, env, http, cookies" type="exec" mode="interpret" processor="XSLT" dependency="frag_init" condition="/root/env/param[@name='personalOnly'] ='true'" mandatory="false">
  15. <xts:logicsheet path="/cogadmin/logicsheets/buslogic.xslt"/>
  16. <xsl:stylesheet version="1.0"
  17. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  18. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  19. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  20. exclude-result-prefixes="xsl xts send">
  21. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  22. <xsl:template match="/">
  23. <xts:sequence>
  24. <xts:append>
  25. <currentUser>
  26. <send:request provider="cm">
  27. <cm:query xmlns:cm="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">
  28. <search xsi:type="xsd:string">~</search>
  29. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[]">
  30. <item xsi:type="cm:propEnum">storeID</item>
  31. </properties>
  32. </cm:query>
  33. </send:request>
  34. </currentUser>
  35. </xts:append>
  36. </xts:sequence>
  37. </xsl:template>
  38. </xsl:stylesheet>
  39. </xts:block>
  40. <!-- the following two blocks are meant to release the JSM conversation (if any) when user is leaving the current window -->
  41. <xts:block id="initConversation" nodelist="env, credential" type="exec" mode="interpret" processor="XSLT" path="cogadmin/logicsheets/fragment_init.xslt" condition=".[(/root/env/param[@name='release_conversation'] = 'true')]" mandatory="true"/>
  42. <xts:block id="releaseConversation" dependency="initConversation" nodelist="session, env, header, http" type="exec" mode="interpret" processor="XSLT">
  43. <xts:logicsheet path="/cogadmin/logicsheets/buslogic.xslt"/>
  44. <xsl:stylesheet version="1.0"
  45. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  46. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  47. xmlns:async="http://developer.cognos.com/schemas/xts/cogadmin/iAsyncRequest/1/"
  48. exclude-result-prefixes="xsl async xts send">
  49. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  50. <xsl:template match="/">
  51. <xts:sequence>
  52. <xts:append select="/root">
  53. <send:request provider="xts" option="xml-multipart">
  54. <async:asyncRequest>
  55. <provider>eventManagementService</provider>
  56. <releaseConversation>true</releaseConversation>
  57. <conversation><xsl:value-of select="/root/env/param[@name='web64conversation']"/></conversation>
  58. <tracking><xsl:value-of select="/root/env/param[@name='tracking']"/></tracking>
  59. </async:asyncRequest>
  60. </send:request>
  61. </xts:append>
  62. </xts:sequence>
  63. </xsl:template>
  64. </xsl:stylesheet>
  65. </xts:block>
  66. <!--
  67. Get the upcoming run activities summary
  68. -->
  69. <xts:block id="getUpcomingActivitiesSummary" type="exec" mode="interpret" nodelist="session, header, cookies, http, configProps, env, user, currentUser" dependency="frag_init getCurrentUser" processor="XSLT">
  70. <xts:logicsheet path="cogadmin/logicsheets/admin.xslt"/>
  71. <xts:logicsheet path="/cogadmin/logicsheets/buslogic.xslt"/>
  72. <xsl:stylesheet version="1.0"
  73. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  74. xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
  75. xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
  76. xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  77. xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  78. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  79. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  80. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  81. xmlns:admui="http://developer.cognos.com/schemas/xts/admui"
  82. xmlns:async="http://developer.cognos.com/schemas/xts/cogadmin/iAsyncRequest/1/"
  83. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  84. exclude-result-prefixes="xsl xsi xts SOAP-ENV bus xtsext admui send SOAP-ENV SOAP-ENC xsd soapenc">
  85. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  86. <!-- common variables -->
  87. <admui:variables/>
  88. <xsl:variable name="personalOnly" select="/root/env/param[@name='personalOnly'] ='true' or not(key('session-param','capabilities')/canUseAdministrationPortal)"/>
  89. <xsl:template match="/">
  90. <xsl:variable name="now">
  91. <xsl:value-of select="xtsext:getCurrentDateTime(string($timeZone))"/>
  92. </xsl:variable>
  93. <xsl:variable name="now_date">
  94. <xsl:value-of select="substring-before($now,'T')"/>
  95. </xsl:variable>
  96. <xsl:variable name="now_time">
  97. <xsl:value-of select="substring-after($now,'T')"/>
  98. </xsl:variable>
  99. <xsl:variable name="summary_date">
  100. <xsl:choose>
  101. <xsl:when test="key('env-param','summary_date') and key('env-param','summary_date') != ''">
  102. <xsl:value-of select="key('env-param','summary_date')"/>
  103. </xsl:when>
  104. <xsl:when test="key('env-param','upcoming_filter_date[]') and key('env-param','upcoming_filter_date[]') != ''">
  105. <xsl:value-of select="substring-before(key('env-param','upcoming_filter_date[]'),'T')"/>
  106. </xsl:when>
  107. <xsl:otherwise>
  108. <xsl:value-of select="$now_date"/>
  109. </xsl:otherwise>
  110. </xsl:choose>
  111. </xsl:variable>
  112. <xsl:variable name="from_time">
  113. <xsl:choose>
  114. <xsl:when test="$summary_date = $now_date">
  115. <xsl:value-of select="$now_time"/>
  116. </xsl:when>
  117. <xsl:otherwise>
  118. <xsl:value-of select="'00:00:00'"/>
  119. </xsl:otherwise>
  120. </xsl:choose>
  121. </xsl:variable>
  122. <xts:sequence>
  123. <xts:append select="/root">
  124. <send:request provider="xts" option="xml-multipart">
  125. <async:asyncRequest>
  126. <provider>eventManagementService</provider>
  127. <conversation><xsl:value-of select="/root/env/param[@name='web64conversation']"/></conversation>
  128. <tracking><xsl:value-of select="/root/env/param[@name='tracking']"/></tracking>
  129. <request>runSpecification</request>
  130. <specification>
  131. <bus:specification xsi:type="bus:eventManagementServiceSpecification">
  132. <bus:value xsi:type="bus:specification">
  133. <xts:transform name="XMLEncode">
  134. <eventManagementServiceSpecification>
  135. <sort>
  136. <order>ascending</order>
  137. <sortItem>startTime</sortItem>
  138. </sort>
  139. <xsl:if test="/root/env/param[@name='upcoming_filter_scope[]'] != ''">
  140. <scope>
  141. <searchPaths>
  142. <searchPath><xsl:value-of select="/root/env/param[@name='upcoming_filter_scope[]']"/></searchPath>
  143. </searchPaths>
  144. </scope>
  145. </xsl:if>
  146. <filters>
  147. <xsl:if test="/root/env/param[@name='upcoming_filter_type[]'] != ''">
  148. <objectClass><xsl:value-of select="/root/env/param[@name='upcoming_filter_type[]']"/></objectClass>
  149. </xsl:if>
  150. <xsl:choose>
  151. <xsl:when test="/root/env/param[@name='upcoming_filter_scheduled_by[]'] != ''" >
  152. <user><xsl:value-of select="/root/env/param[@name='upcoming_filter_scheduled_by[]']"/></user>
  153. </xsl:when>
  154. <xsl:when test="$personalOnly">
  155. <user><xsl:value-of select="/root/currentUser/*[local-name()='queryResponse']/queryResult/item/storeID/value"/></user>
  156. </xsl:when>
  157. </xsl:choose>
  158. <xsl:if test="/root/env/param[@name='upcoming_filter_owned_by[]'] != ''" >
  159. <owner><xsl:value-of select="/root/env/param[@name='upcoming_filter_owned_by[]']"/></owner>
  160. </xsl:if>
  161. <!--Since JSM didn't isolate the summary query from the detail query, we pass a fake start and end time to improve the perf as possible-->
  162. <startTime><xsl:value-of select="concat($summary_date,'T23:59:58')"/></startTime>
  163. <endTime><xsl:value-of select="concat($summary_date,'T23:59:59')"/></endTime>
  164. <!-- add the priority filter -->
  165. <xsl:if test="/root/env/param[@name='upcoming_filter_priority[]'] and /root/env/param[@name='upcoming_filter_priority[]']!=''">
  166. <priority>
  167. <xsl:value-of select="/root/env/param[@name='upcoming_filter_priority[]']"/>
  168. </priority>
  169. </xsl:if>
  170. <xsl:if test="/root/env/param[@name='upcoming_filter_tenantid[]'] and /root/env/param[@name='upcoming_filter_tenantid[]']!=''">
  171. <tenantID>
  172. <xsl:value-of select="/root/env/param[@name='upcoming_filter_tenantid[]']"/>
  173. </tenantID>
  174. </xsl:if>
  175. </filters>
  176. <summary>
  177. <startTime><xsl:value-of select="xtsext:formatDateToUTC(concat($summary_date,'T',$from_time), string( $timeZone ))"/>Z</startTime>
  178. <endTime><xsl:value-of select="xtsext:formatDateToUTC(concat($summary_date,'T23:59:59'), string( $timeZone ))"/>Z</endTime>
  179. <groupBy>hour</groupBy>
  180. </summary>
  181. </eventManagementServiceSpecification>
  182. </xts:transform>
  183. </bus:value>
  184. </bus:specification>
  185. </specification>
  186. <parameters>
  187. <bus:parameterValues xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parameterValue[]"/>
  188. </parameters>
  189. <options>
  190. <bus:options SOAP-ENC:arrayType="bus:option[]" xsi:type="SOAP-ENC:Array">
  191. <item xsi:type="bus:asynchOptionInt">
  192. <bus:name xsi:type="bus:asynchOptionEnum">primaryWaitThreshold</bus:name>
  193. <bus:value xsi:type="xsd:int">0</bus:value>
  194. </item>
  195. <item xsi:type="bus:pagingOptionInt">
  196. <bus:name xsi:type="bus:pagingOptionEnum">maximumObjects</bus:name>
  197. <bus:value xsi:type="xsd:int">0</bus:value>
  198. </item>
  199. </bus:options>
  200. </options>
  201. </async:asyncRequest>
  202. </send:request>
  203. </xts:append>
  204. </xts:sequence>
  205. </xsl:template>
  206. </xsl:stylesheet>
  207. </xts:block>
  208. <xts:block id="getMeta" type="exec" mode="interpret" nodelist="" processor="XSLT">
  209. <xsl:stylesheet version="1.0"
  210. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  211. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  212. xmlns:xos="http://developer.cognos.com/schemas/xts/output/"
  213. exclude-result-prefixes="xsl xts xos xtsext">
  214. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  215. <xsl:template match="/">
  216. <xts:sequence>
  217. <xts:append select="/root/output">
  218. <xos:part>
  219. <xos:entityHeader>
  220. <xos:param name="Content-Type">text/xml; charset=utf-8</xos:param>
  221. </xos:entityHeader>
  222. <xos:entityBody>
  223. <fragment>
  224. <info>
  225. <title><xts:string id="IDS_UAC_TITLE"/></title>
  226. </info>
  227. <preferredTitle>
  228. <xts:string id="IDS_UAC_TITLE"/>
  229. </preferredTitle>
  230. <meta/>
  231. </fragment>
  232. </xos:entityBody>
  233. </xos:part>
  234. </xts:append>
  235. </xts:sequence>
  236. </xsl:template>
  237. </xsl:stylesheet>
  238. </xts:block>
  239. <xts:block id="renderMarkup" type="exec" mode="interpret" processor="XSLT" nodelist="env, user, asyncRequestResponse" dependency="frag_init getMeta getUpcomingActivitiesSummary">
  240. <xts:logicsheet path="/cogadmin/logicsheets/admin.xslt"/>
  241. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  242. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  243. xmlns:ui="http://developer.cognos.com/schemas/ui/presentation/markup/"
  244. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  245. xmlns:xos="http://developer.cognos.com/schemas/xts/output/"
  246. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  247. xmlns:admui="http://developer.cognos.com/schemas/xts/admui"
  248. exclude-result-prefixes="xts xtsext xos admui xsi ui">
  249. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no" />
  250. <!-- common variables -->
  251. <admui:variables/>
  252. <xsl:template match="/">
  253. <xsl:variable name="now">
  254. <xsl:value-of select="xtsext:getCurrentDateTime(string($timeZone))"/>
  255. </xsl:variable>
  256. <xsl:variable name="now_date">
  257. <xsl:value-of select="substring-before($now,'T')"/>
  258. </xsl:variable>
  259. <xsl:variable name="now_time">
  260. <xsl:value-of select="substring-after($now,'T')"/>
  261. </xsl:variable>
  262. <xsl:variable name="select_granularity">
  263. <xsl:value-of select="/root/env/param[@name= 'upcoming_filter_granularity[]']"/>
  264. </xsl:variable>
  265. <xsl:variable name="select_date_time">
  266. <xsl:value-of select="/root/env/param[@name= 'upcoming_filter_date[]']"/>
  267. </xsl:variable>
  268. <xsl:variable name="summary_date">
  269. <xsl:choose>
  270. <xsl:when test="/root/env/param[@name='summary_date'] and /root/env/param[@name='summary_date'] != ''">
  271. <xsl:value-of select="/root/env/param[@name= 'summary_date']"/>
  272. </xsl:when>
  273. <xsl:when test="key('env-param','upcoming_filter_date[]') and key('env-param','upcoming_filter_date[]') != ''">
  274. <xsl:value-of select="substring-before(key('env-param','upcoming_filter_date[]'),'T')"/>
  275. </xsl:when>
  276. <xsl:otherwise>
  277. <xsl:value-of select="$now_date"/>
  278. </xsl:otherwise>
  279. </xsl:choose>
  280. </xsl:variable>
  281. <xsl:variable name="asynchDetailParameterValues" select="/root/asyncRequestResponse/response/*/result/details/details[contains(@xsi:type, ':asynchDetailParameterValues')]/parameters/parameters"/>
  282. <xsl:variable name="source">
  283. <xsl:value-of select="'['"/>
  284. <xsl:for-each select="$asynchDetailParameterValues">
  285. <xsl:value-of select="'{'"/>
  286. <xsl:value-of select="concat('status: &quot;',*[local-name()='name'],'&quot;,')"/>
  287. <xsl:value-of select="'count: ['"/>
  288. <xsl:for-each select="*[local-name()='value']/*[local-name()='value']">
  289. <xsl:value-of select="'{'"/>
  290. <xsl:if test="contains(*[local-name()='use'],'T')">
  291. <xsl:variable name="localTime" select="xtsext:formatDateFromUTC( string( *[local-name()='use'] ), string('H'), string( $timeZone ), string( '' ))"/>
  292. <xsl:value-of select="concat('time: &quot;',$localTime,'&quot;',',')"/>
  293. </xsl:if>
  294. <xsl:value-of select="concat('number: &quot;',*[local-name()='display'],'&quot;')"/>
  295. <xsl:value-of select="'}'"/>
  296. <xsl:if test="position() != last()"><xsl:value-of select="','"/></xsl:if>
  297. </xsl:for-each>
  298. <xsl:value-of select="']'"/>
  299. <xsl:value-of select="'}'"/>
  300. <xsl:if test="position() != last()"><xsl:value-of select="','"/></xsl:if>
  301. </xsl:for-each>
  302. <xsl:value-of select="']'"/>
  303. </xsl:variable>
  304. <xts:sequence>
  305. <xts:append select="/root/output/xos:part/xos:entityBody/fragment">
  306. <library type="text/javascript" href="$WEB$/ps/j2html/js/j2html.js"/>
  307. <library type="text/javascript" href="$WEB$/dojo16/dojo/dojo.js"/>
  308. <library type="text/javascript" href="$WEB$/ps/cogadmin/js/com/ibm/cognos/admin/dojoInit.js"/>
  309. <state>
  310. <xsl:variable name="state">
  311. <xsl:if test="/root/asyncRequestResponse">
  312. <xsl:text>&lt;param name="web64conversation"&gt;</xsl:text>
  313. <xsl:value-of select="xtsext:xmlencode(string(/root/asyncRequestResponse/conversation))"/>
  314. <xsl:text>&lt;/param&gt;</xsl:text>
  315. <xsl:text>&lt;param name="tracking"&gt;</xsl:text>
  316. <xsl:value-of select="xtsext:xmlencode(string(/root/asyncRequestResponse/tracking))"/>
  317. <xsl:text>&lt;/param&gt;</xsl:text>
  318. </xsl:if>
  319. </xsl:variable>
  320. <xsl:value-of select="xtsext:base64encode($state,true())"/>
  321. </state>
  322. <markup>
  323. <mimeType>text/html</mimeType>
  324. <markupXml>
  325. <style type="text/css">
  326. .dojoxLegendNode {border: 1px solid #ccc; margin: 5px 10px 5px 10px; padding: 3px;}
  327. .dojoxLegendText {vertical-align: text-top;}
  328. .cogadminLegendText {padding-left:10px; height:20px;}
  329. .cogadminLegendValue {float:right;}
  330. </style>
  331. <script type="text/javascript">
  332. dojo.require("com.ibm.cognos.admin.chart.stackedColumns");
  333. dojo.addOnLoad(function(){(new com.ibm.cognos.admin.chart.stackedColumns(_THIS_,{
  334. selectDateTime : '<xsl:value-of select="$select_date_time"/>',
  335. selectGranularity : '<xsl:value-of select="$select_granularity"/>',
  336. summaryDate : '<xsl:value-of select="$summary_date"/>',
  337. data : '<xsl:value-of select="$source"/>'
  338. })).renderChart()});
  339. regAppOnLeaveEvent(_THIS_.id, function(evt) {
  340. var des = document.createElement("div");
  341. this.lockUpdates(false);
  342. return this.retrieve('release_conversation=true',des,true,true);
  343. },_THIS_);
  344. </script>
  345. <div id="dojoContainer">
  346. <table cellspacing="0" cellpadding="0" border="0" role="presentation">
  347. <tr>
  348. <td colspan="2">
  349. <div id="title_THIS_" align="center" style="display:none;">
  350. <table cellspacing="2" cellpadding="0" border="0" role="presentation">
  351. <tr nowrap="nowrap">
  352. <!--make the icon skinnable when the chart is skinnable.-->
  353. <td>
  354. <xsl:choose>
  355. <xsl:when test="xtsext:dateTimeCmp(concat($summary_date,'T00:00:00'), concat($now_date,'T00:00:00')) &gt; 0">
  356. <img id="previous_THIS_" border="0" onmouseout="this.className='button'" role="button" onmouseover="this.className='button_hover'" onmousedown="this.className='button_pressed'" src="" class="button" style="margin-right: 2px; cursor: pointer;" tabindex="0">
  357. <xsl:attribute name="src"><xsl:value-of select="concat($webRoot,'/ps/cogadmin/images/control_btn_pageup.gif')"/></xsl:attribute>
  358. <xsl:attribute name="alt"><xts:string id="IDS_PAGER_PREVIOUS"/></xsl:attribute>
  359. <xsl:attribute name="title"><xts:string id="IDS_PAGER_PREVIOUS"/></xsl:attribute>
  360. </img>
  361. </xsl:when>
  362. <xsl:otherwise>
  363. <img id="previous_THIS_" border="0" class="button" style="margin-right: 2px;">
  364. <xsl:attribute name="src"><xsl:value-of select="concat($webRoot,'/ps/cogadmin/images/control_btn_pageup_disabled.gif')"/></xsl:attribute>
  365. <xsl:attribute name="alt"></xsl:attribute>
  366. <xsl:attribute name="title"></xsl:attribute>
  367. </img>
  368. </xsl:otherwise>
  369. </xsl:choose>
  370. </td>
  371. <td nowrap="nowrap" style="text-align:center;font-weight:bold;">
  372. <xsl:value-of select="xtsext:formatDateOnlyFromUTC( string(concat($summary_date,'T00:00:00')), number('3'), string(''), string( $productLocale ))"/>
  373. </td>
  374. <td>
  375. <img id="next_THIS_" border="0" onmouseout="this.className='button'" role="button" onmouseover="this.className='button_hover'" onmousedown="this.className='button_pressed'" class="button" style="margin-right: 2px; cursor: pointer;" tabindex="0">
  376. <xsl:attribute name="src"><xsl:value-of select="concat($webRoot,'/ps/cogadmin/images/control_btn_pagedown.gif')"/></xsl:attribute>
  377. <xsl:attribute name="alt"><xts:string id="IDS_PAGER_NEXT"/></xsl:attribute>
  378. <xsl:attribute name="title"><xts:string id="IDS_PAGER_NEXT"/></xsl:attribute>
  379. </img>
  380. </td>
  381. </tr>
  382. </table>
  383. </div>
  384. </td>
  385. </tr>
  386. <tr>
  387. <td>
  388. <div id="chart_THIS_"/>
  389. </td>
  390. <td>
  391. <div id="legend_THIS_"/>
  392. </td>
  393. </tr>
  394. </table>
  395. </div>
  396. </markupXml>
  397. </markup>
  398. <state>
  399. <xsl:variable name="state">
  400. <xsl:text>&lt;param name="personalOnly"&gt;</xsl:text>
  401. <xsl:value-of select="xtsext:xmlencode(string(/root/env/param[@name='personalOnly']))"/>
  402. <xsl:text>&lt;/param&gt;</xsl:text>
  403. </xsl:variable>
  404. <xsl:value-of select="xtsext:base64encode($state, true())"/>
  405. </state>
  406. </xts:append>
  407. </xts:sequence>
  408. </xsl:template>
  409. </xsl:stylesheet>
  410. </xts:block>
  411. </xts:morphlet>