submit.xts 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ASV
  5. (C) Copyright IBM Corp. 2005, 2015
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" messageBase="messages/subscribe.xml,messages/portal.xml, messages/portalRL.xml" requiredCapability="canUseConditionalSubscriptions">
  9. <!--
  10. ===============================================================================================
  11. getCredentials - get credentials from Content Manager. This is for schedule only. If they are not there then we create
  12. h_CAM_action so that the credentials can be generated.
  13. ===============================================================================================
  14. -->
  15. <xts:block id="getCredentials" processor="XSLT" type="exec">
  16. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  17. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  18. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" 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/">
  19. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  20. <xsl:template match="/">
  21. <xts:sequence>
  22. <xts:append>
  23. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  24. <send:request provider="cm">
  25. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  26. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  27. <cm:requests>
  28. <cm:query>
  29. <cm:search>~/credential</cm:search>
  30. <cm:properties>
  31. <cm:property name="searchPath"/>
  32. </cm:properties>
  33. </cm:query>
  34. </cm:requests>
  35. </cm:query>
  36. </xts:transform>
  37. </send:request>
  38. </xts:transform>
  39. </xts:append>
  40. </xts:sequence>
  41. </xsl:template>
  42. </xsl:stylesheet>
  43. </xts:block>
  44. <!--
  45. ===============================================================================================
  46. appendDefaultScheduleParams
  47. Block should only get executed if we haven't got schedule parameters already. We can come back here if there's an error
  48. like the name of the subscription has already been used.
  49. ===============================================================================================
  50. -->
  51. <xts:block id="appendDefaultScheduleParams" dependency="getCredentials" type="exec" mode="interpret" processor="XSLT" condition=".[not(/root/env/param[@name='m_sp_type'])]" mandatory="false">
  52. <xts:logicsheet path="logicsheets/portal.xsl"/>
  53. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  54. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  55. <pf:variables/>
  56. <xsl:template match="/">
  57. <xts:sequence>
  58. <xts:append select="/root/env">
  59. <xts:transform src="transforms/portal/schedule/generateParams.xslt" processor="XSLT">
  60. <schedule>
  61. <timeZone>
  62. <xsl:value-of select="$timeZone"/>
  63. </timeZone>
  64. </schedule>
  65. </xts:transform>
  66. <xts:transform src="transforms/portal/schedule/generateDefaults.xslt" processor="XSLT">
  67. <xts:param name="logicsheet">logicsheets/portal.xsl</xts:param>
  68. <params>
  69. <timeZone>
  70. <xsl:value-of select="$timeZone"/>
  71. </timeZone>
  72. <contentLocale>
  73. <xsl:value-of select="$contentLocale"/>
  74. </contentLocale>
  75. <env>
  76. <xsl:copy-of select="/root/env/*"/>
  77. </env>
  78. </params>
  79. </xts:transform>
  80. <!-- and add a new one which is the periodical producer value -->
  81. <param name="m_sp_periodicalProducer">
  82. <xsl:value-of select="/root/env/param[@name='m_subData_periodical_producer']"/>
  83. </param>
  84. <!-- set the schedule credential -->
  85. <param name="m_sp_credential">
  86. <xsl:value-of select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='credential']/*[local-name()='searchPath']"/>
  87. </param>
  88. </xts:append>
  89. <!-- now we can alter the type to subscription -->
  90. <xts:append select="/root/env">
  91. <param name="m_sp_type">
  92. <xsl:text>subscription</xsl:text>
  93. </param>
  94. </xts:append>
  95. </xts:sequence>
  96. </xsl:template>
  97. </xsl:stylesheet>
  98. </xts:block>
  99. <!--
  100. ===============================================================================================
  101. doFrmCommand - submit the from command (create, save, move, copy, delete)
  102. ===============================================================================================
  103. -->
  104. <xts:block id="doFrmCommand" processor="XSLT" type="exec" dependency="appendDefaultScheduleParams">
  105. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  106. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  107. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  108. <xsl:template match="/root">
  109. <xts:sequence>
  110. <xts:append>
  111. <frmResult>
  112. <xsl:variable name="params" select="/root/env/param"/>
  113. <send:request provider="xts">
  114. <xsl:element name="{/root/env/param[@name='ifrmcmd']}" namespace="http://developer.cognos.com/schemas/xts/subscribe/iFrmCmd/1/">
  115. <!-- call the template to build the env variables -->
  116. <xsl:call-template name="build_form_env"/>
  117. </xsl:element>
  118. </send:request>
  119. </frmResult>
  120. </xts:append>
  121. <xts:delete select="/root/env/param[starts-with( @name, 'm_t_default_')]"/>
  122. </xts:sequence>
  123. </xsl:template>
  124. <!--
  125. Build the form variables which we are going to send in to XTS
  126. -->
  127. <xsl:template name="build_form_env">
  128. <xsl:variable name="the-credential" select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply']/*[local-name()='credential']"/>
  129. <env xmlns="http://developer.cognos.com/schemas/xts/subscribe/iFrmCmd/1/">
  130. <!--xsl:if test="not($the-credential) and $the-credential/*[local-name()='searchPath'] != '' "-->
  131. <!--param name="h_CAM_action"><xsl:text>generateTC</xsl:text></param-->
  132. <!--/xsl:if-->
  133. <!-- copy anything in env -->
  134. <xsl:choose>
  135. <xsl:when test="/root/env/param[starts-with(@name,'m_t_default_')]">
  136. <xsl:for-each select="/root/env/param">
  137. <xsl:if test="not(@name='m_p_defaultName') and not(@name='m_p_defaultDescription') and not(@name='m_p_defaultScreenTip')">
  138. <param name="{@name}">
  139. <xsl:value-of select="."/>
  140. </param>
  141. </xsl:if>
  142. </xsl:for-each>
  143. </xsl:when>
  144. <xsl:otherwise>
  145. <xsl:for-each select="/root/env/param">
  146. <xsl:if test="not(starts-with(@name, 'checkbox_'))">
  147. <xsl:choose>
  148. <xsl:when test="not(starts-with(@name,'m_p_defaultDescription') or starts-with(@name,'m_p_defaultScreenTip'))">
  149. <param name="{@name}">
  150. <xsl:value-of select="."/>
  151. </param>
  152. </xsl:when>
  153. <xsl:otherwise>
  154. <xsl:if test="(/root/env/param[@name='ifrmcmd']!='create' or (/root/env/param[@name='ifrmcmd']='create' and child::node() != ''))">
  155. <param name="{@name}">
  156. <xsl:value-of select="."/>
  157. </param>
  158. </xsl:if>
  159. </xsl:otherwise>
  160. </xsl:choose>
  161. </xsl:if>
  162. </xsl:for-each>
  163. </xsl:otherwise>
  164. </xsl:choose>
  165. <!-- if we have a group of object from the sort to save-->
  166. <!-- <xsl:for-each select="/root/env/param[@name='containerSortOrder' or @name='entriesSortOrder' or @name='containerDefaultOrder' or @name='entriesDefaultOrder']">
  167. <objs>
  168. <param name="m_obj">
  169. <xsl:value-of select="substring-after(., ',')"/>
  170. </param>
  171. <param name="m_p_displaySequence">
  172. <xsl:value-of select="substring-before(., ',')"/>
  173. </param>
  174. </objs>
  175. </xsl:for-each> -->
  176. <!-- handle inputs from the multilingual property page -->
  177. <xsl:if test="/root/env/param[starts-with(@name, 'm_t_default_')]">
  178. <!--
  179. Determine if there is NOT a description that has a value.
  180. If there are none, then create an empty description so CM will clear all locale entries.
  181. Note: The opposite test condition would not be correct here - to see if there is
  182. a screenTip that has a blank value.
  183. -->
  184. <xsl:if test="not(/root/env/param[starts-with(@name, 'm_t_default_description')] != '') and not(/root/env/param[@name='pty_desc'] != '')">
  185. <param>
  186. <xsl:attribute name="name"><xsl:value-of select="'m_p_description'"/></xsl:attribute>
  187. </param>
  188. </xsl:if>
  189. <!--
  190. Determine if there is NOT a screenTip that has a value.
  191. If there are none, then create an empty screenTip so CM will clear all locale entries.
  192. Note: The opposite test condition would not be correct here - to see if there is
  193. a screenTip that has a blank value.
  194. -->
  195. <xsl:if test="not(/root/env/param[starts-with(@name, 'm_t_default_screenTip')] != '') and not(/root/env/param[@name='pty_scrt'] != '')">
  196. <param>
  197. <xsl:attribute name="name"><xsl:value-of select="'m_p_screenTip'"/></xsl:attribute>
  198. </param>
  199. </xsl:if>
  200. </xsl:if>
  201. <xsl:variable name="ptyn">
  202. <xsl:value-of select="/root/env/param[@name='pty_name']"/>
  203. </xsl:variable>
  204. <xsl:variable name="ptyd">
  205. <xsl:value-of select="/root/env/param[@name='pty_desc']"/>
  206. </xsl:variable>
  207. <xsl:variable name="ptys">
  208. <xsl:value-of select="/root/env/param[@name='pty_scrt']"/>
  209. </xsl:variable>
  210. <xsl:for-each select="/root/env/param[starts-with(@name, 'm_t_default_')]">
  211. <xsl:variable name="localeVal">
  212. <xsl:value-of select="xtsext:substringAfterLast(string(@name), '_')"/>
  213. </xsl:variable>
  214. <xsl:choose>
  215. <xsl:when test="$localeVal != string(/root/env/param[@name='pty_activeLang'])">
  216. <!--
  217. Handle the case where the user has just cleared all the fields, so don't pass it along for update.
  218. -->
  219. <xsl:if test="string(/root/env/param[@name=concat('m_t_default_name_',$localeVal)]) != '' or string(/root/env/param[@name=concat('m_t_default_description_',$localeVal)]) != '' or string(/root/env/param[@name=concat('m_t_default_screenTip_',$localeVal)]) != ''">
  220. <xsl:if test="string(.) != ''">
  221. <param>
  222. <xsl:attribute name="name"><xsl:value-of select="concat('m_p_', xtsext:substringBeforeLast(substring-after(string(@name), 'm_t_default_'), '_'))"/></xsl:attribute>
  223. <xsl:attribute name="locale"><xsl:value-of select="$localeVal"/></xsl:attribute>
  224. <xsl:value-of select="."/>
  225. </param>
  226. </xsl:if>
  227. </xsl:if>
  228. </xsl:when>
  229. <xsl:otherwise>
  230. <!--
  231. Special processing required for the property page information - in case the user has pressed ok
  232. when a new language is in presentation.
  233. -->
  234. <xsl:variable name="theName">
  235. <xsl:value-of select="xtsext:substringBeforeLast(substring-after(string(@name), 'm_t_default_'),'_')"/>
  236. </xsl:variable>
  237. <xsl:variable name="theValue">
  238. <xsl:choose>
  239. <xsl:when test="$theName='name'">
  240. <xsl:if test="$ptyn != ''">
  241. <xsl:value-of select="$ptyn"/>
  242. </xsl:if>
  243. </xsl:when>
  244. <xsl:when test="$theName='description'">
  245. <xsl:if test="$ptyd != ''">
  246. <xsl:value-of select="$ptyd"/>
  247. </xsl:if>
  248. </xsl:when>
  249. <xsl:otherwise>
  250. <xsl:if test="$ptys != ''">
  251. <xsl:value-of select="$ptys"/>
  252. </xsl:if>
  253. </xsl:otherwise>
  254. </xsl:choose>
  255. </xsl:variable>
  256. <!--
  257. Only create the parameter when all the values are available - otherwise they will be removed.
  258. -->
  259. <xsl:if test="$ptyn != '' or $ptyd != '' or $ptys != ''">
  260. <xsl:if test="$theValue != ''">
  261. <param>
  262. <xsl:attribute name="name"><xsl:value-of select="concat('m_p_',$theName)"/></xsl:attribute>
  263. <xsl:attribute name="locale"><xsl:value-of select="$localeVal"/></xsl:attribute>
  264. <xsl:value-of select="$theValue"/>
  265. </param>
  266. </xsl:if>
  267. </xsl:if>
  268. </xsl:otherwise>
  269. </xsl:choose>
  270. </xsl:for-each>
  271. <!-- if we dont have m_p_path and we have m_path create m_p_path to always be consistent -->
  272. <xsl:if test="not(/root/env/param[@name='m_p_path']) and (/root/env/param[@name='m_path'])">
  273. <param name="m_p_path">
  274. <xsl:value-of select="/root/env/param[@name='m_path']"/>
  275. </param>
  276. </xsl:if>
  277. </env>
  278. </xsl:template>
  279. </xsl:stylesheet>
  280. </xts:block>
  281. <!--
  282. ===============================================================================================
  283. formlogic_init - standard form logic initialization
  284. ===============================================================================================
  285. -->
  286. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" dependency="doFrmCommand"/>
  287. <!--
  288. ===============================================================================================
  289. Process Response
  290. ===============================================================================================
  291. -->
  292. <!--
  293. ===============================================================================================
  294. redirect - redirect the browser
  295. ===============================================================================================
  296. -->
  297. <xts:block id="redirect" dependency="formlogic_init" mode="output" processor="XSLT" type="exec" mimeType="text/html">
  298. <xts:logicsheet path="logicsheets/portal.xsl"/>
  299. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  300. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  301. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  302. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/" xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/" xmlns:xts="http://developer.cognos.com/schemas/xts/" xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/" exclude-result-prefixes="xsl pf dp utml xtsext cp bus cm cml xts lyt SOAP-ENV">
  303. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no"/>
  304. <pf:variables/>
  305. <xsl:template match="/">
  306. <xsl:choose>
  307. <!-- check for specific error -->
  308. <xsl:when test="(/root/*[local-name() = 'frmResult']/*[local-name() = 'response']/*[local-name() = 'error']/*[local-name() = 'errorCode'] = 'cmNameConflict' or /root/*[local-name() = 'frmResult']/*[local-name() = 'response']/*[local-name() = 'error']/*[local-name() = 'errorCode'] = 'cmDuplicateName' or /root/frmResult/error/errorCode = 'cmNameConflict' or /root/frmResult/error/errorCode = 'cmDuplicateName' or (/root/*[local-name() = 'frmResult']/*[local-name() = 'response']/*[local-name() = 'error']/*[local-name() = 'errorCode'] = 'cmUpdateFailed1' and contains(string(/root/*[local-name() = 'frmResult']/*[local-name() = 'response']/*[local-name() = 'error']/*[local-name() = 'errorMessage']),'CM-REQ-4024'))) or (string(/root/URLError) != '')">
  309. <!-- We have a duplicate name error condition. -->
  310. <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html&gt;</xsl:text>
  311. <dp:page longTitle="$product_name">
  312. <dp:meta>
  313. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  314. <pf:meta/>
  315. <!-- Add standard meta tags -->
  316. </dp:meta>
  317. <form name="pform" method="post" action="{$gateway}">
  318. <xsl:choose>
  319. <xsl:when test="key('env-param', 'ifrmcmd') = 'create'">
  320. <!-- We ran into a duplicate name error during the copy or move -->
  321. <input name="m" type="hidden" value="portal/error.xts"/>
  322. <input name="cmdErrorResubmit" type="hidden" value="subscribe/submit.xts"/>
  323. <input name="cmdErrorMessage" type="hidden" value="{/root/*[local-name() = 'frmResult']/*[local-name() = 'response']/*[local-name() = 'error']/*[local-name() = 'errorMessage']}"/>
  324. <input name="cmdErrorCode" type="hidden" value="{/root/*[local-name() = 'frmResult']/*[local-name() = 'response']/*[local-name() = 'error']/*[local-name() = 'errorCode']}"/>
  325. <xsl:choose>
  326. <xsl:when test="key('env-param', 'm_new_class') = 'folder'">
  327. <input name="cmdErrorAction" type="hidden" value="rename"/>
  328. </xsl:when>
  329. <xsl:otherwise>
  330. <input name="cmdErrorAction" type="hidden" value="overwrite,rename"/>
  331. </xsl:otherwise>
  332. </xsl:choose>
  333. <xsl:choose>
  334. <xsl:when test="key('env-param', 'x_p_defaultName') != ''">
  335. <input name="cmdErrorNameField" type="hidden" value="x_p_defaultName"/>
  336. </xsl:when>
  337. <xsl:otherwise>
  338. <input name="cmdErrorNameField" type="hidden" value="m_p_defaultName"/>
  339. </xsl:otherwise>
  340. </xsl:choose>
  341. <xsl:choose>
  342. <xsl:when test="key('env-param', 'x_path') != ''">
  343. <input name="cmdErrorPath" type="hidden" value="x_path"/>
  344. </xsl:when>
  345. <xsl:otherwise>
  346. <input name="cmdErrorPath" type="hidden" value="m_path"/>
  347. </xsl:otherwise>
  348. </xsl:choose>
  349. <xsl:choose>
  350. <xsl:when test="key('env-param', 'x_new_class') != ''">
  351. <input name="cmdErrorClass" type="hidden" value="x_new_class"/>
  352. </xsl:when>
  353. <xsl:otherwise>
  354. <input name="cmdErrorClass" type="hidden" value="m_new_class"/>
  355. </xsl:otherwise>
  356. </xsl:choose>
  357. </xsl:when>
  358. </xsl:choose>
  359. <xsl:for-each select="/root/env/param[@name != 'm_connection_password' and @name != 'm' and @name != 'cmdErrorMessage' and @name != 'cmdErrorCode' and @name != 'cmdErrorResubmit' and @name != 'cmdErrorNameField' and @name != 'cmdErrorAction' and @name != 'cmdErrorPath' and @name != 'cmdErrorClass']">
  360. <input name="{@name}" type="hidden" value="{.}"/>
  361. </xsl:for-each>
  362. </form>
  363. <script language="javascript">document.pform.submit();</script>
  364. </dp:page>
  365. </xsl:when>
  366. <!-- check for no-specific error -->
  367. <xsl:otherwise>
  368. <!-- go to the back-url if we don't have an m_return -->
  369. <xsl:variable name="redirect-url-fragment">
  370. <xsl:choose>
  371. <xsl:when test="/root/env/param[@name='backURL']">
  372. <xsl:value-of select="/root/env/param[@name='backURL']"/>
  373. </xsl:when>
  374. <xsl:otherwise>
  375. <xsl:text>javascript:window.close();</xsl:text>
  376. </xsl:otherwise>
  377. </xsl:choose>
  378. </xsl:variable>
  379. <xsl:variable name="redirect-url">
  380. <xsl:value-of select="$redirect-url-fragment"/>
  381. <xsl:if test="key('env-param','m_reload') and not(starts-with($redirect-url-fragment, 'javascript:'))">
  382. <xsl:text/>&amp;m_reload=<xsl:value-of select="key('env-param','m_reload')"/>
  383. </xsl:if>
  384. </xsl:variable>
  385. <xsl:text disable-output-escaping="yes">&lt;!DOCTYPE html&gt;</xsl:text>
  386. <dp:page longTitle="$product_name">
  387. <!-- this is the redirect portion of the code -->
  388. <dp:meta>
  389. <!-- Add standard meta tags -->
  390. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  391. <pf:meta/>
  392. <xsl:if test="not(starts-with($redirect-url,'javascript:'))">
  393. <meta http-equiv="refresh">
  394. <xsl:attribute name="content">0; URL=<xsl:value-of select="$redirect-url"/></xsl:attribute>
  395. </meta>
  396. </xsl:if>
  397. </dp:meta>
  398. <xsl:if test="starts-with($redirect-url,'javascript:')">
  399. <script language="javascript">
  400. window.location.href = "<xsl:value-of select="xtsext:javascriptencode(string($redirect-url))"/>";
  401. </script>
  402. </xsl:if>
  403. <xsl:if test="/root/frmResult/Noop">
  404. <script language="javascript" src="{$webcontent}/{$app}/js/cookie_jar.js"/>
  405. <script language="javascript">
  406. var sParamDelimiter = "<xsl:value-of select="xtsext:javascriptencode(string(key('system-param', 'delimiters')/@d1))"/>";
  407. var sNameValueDelimiter = "<xsl:value-of select="xtsext:javascriptencode(string(key('system-param', 'delimiters')/@d2))"/>";
  408. var sCookiePath = "<xsl:value-of select="xtsext:javascriptencode(string($cookie_path))"/>";
  409. var sCookieDomain = "<xsl:value-of select="xtsext:javascriptencode(string($cookie_domain))"/>";
  410. resetStateParam('edit');
  411. </script>
  412. </xsl:if>
  413. </dp:page>
  414. </xsl:otherwise>
  415. </xsl:choose>
  416. </xsl:template>
  417. </xsl:stylesheet>
  418. </xts:block>
  419. </xts:morphlet>