properties_privileges.xts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: ps
  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 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/portal.xml, messages/portalRL.xml">
  13. <!--
  14. ===============================================================================================
  15. formlogic_init
  16. Standard form logic initialization
  17. ===============================================================================================
  18. -->
  19. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
  20. <!--
  21. ===============================================================================================
  22. get_advanced_settings - get advanced settings
  23. ===============================================================================================
  24. -->
  25. <xts:block id="get_advanced_settings" type="exec" processor="XSLT" mandatory="false" condition=".[/root/env/param[@name='m_class']='userInterfaceProfile']" mode="interpret">
  26. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  27. <xsl:template match="/">
  28. <xts:sequence>
  29. <xts:append>
  30. <advancedSettings>
  31. <xts:function name="getConfiguration">
  32. <xts:param name="COGADMIN.UIPROFILES.DEVELOPER_MODE"/>
  33. </xts:function>
  34. </advancedSettings>
  35. </xts:append>
  36. </xts:sequence>
  37. </xsl:template>
  38. </xsl:stylesheet>
  39. </xts:block>
  40. <!-- Load object-specific property tabs map ============================================================== -->
  41. <xts:block id="getTabs" dependency="get_advanced_settings" type="exec" mode="interpret" processor="XML" path="/portal/uiobjects_tabs.xml"/>
  42. <!--
  43. ===============================================================================================
  44. getObjects - get object class names
  45. ===============================================================================================
  46. -->
  47. <xts:block id="classNames" type="exec" mode="input" processor="XML" path="/portal/uiExtensions.xml">
  48. <xts:logicsheet path="/logicsheets/uiobjects/uiobjects_names.xslt"/>
  49. </xts:block>
  50. <!--
  51. ================================================================================
  52. get_content
  53. Retrieve the object details from Content Manager.
  54. ================================================================================
  55. -->
  56. <xts:block id="get_content" processor="XSLT" type="exec" mode="interpret">
  57. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  58. <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">
  59. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  60. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  61. <xsl:template match="/">
  62. <xts:sequence>
  63. <xts:append>
  64. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  65. <send:request provider="cm">
  66. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  67. <query xmlns="http://developer.cognos.com/schemas/xts-cm/1/">
  68. <search>
  69. <xsl:value-of select="key('env-param','m_obj')"/>
  70. <xsl:text>[permission('setPolicy')]</xsl:text>
  71. </search>
  72. <properties>
  73. <cm:property name="defaultName"/>
  74. <cm:property name="permissions"/>
  75. <cm:property name="searchPath"/>
  76. <cm:property name="storeID"/>
  77. <cm:property name="policies"/>
  78. <cm:property name="launchableType"/>
  79. <xsl:if test="/root/env/param[@name='m_class'] = 'package'">
  80. <cm:property name="userInterfaces"/>
  81. </xsl:if>
  82. </properties>
  83. <options schemaInfo="true"/>
  84. </query>
  85. </xts:transform>
  86. </send:request>
  87. </xts:transform>
  88. </xts:append>
  89. </xts:sequence>
  90. </xsl:template>
  91. </xsl:stylesheet>
  92. </xts:block>
  93. <!--
  94. ================================================================================
  95. render_page
  96. Render the HTML page.
  97. ================================================================================
  98. -->
  99. <xts:block id="render_page" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="get_content formlogic_init getTabs classNames">
  100. <!-- portal specific information -->
  101. <xts:logicsheet path="logicsheets/portal.xsl"/>
  102. <!-- get the presentation theme -->
  103. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  104. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  105. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  106. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  107. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  108. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  109. <!-- apply the form logic -->
  110. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  111. <xts:logicsheet path="logicsheets/validation.xslt"/>
  112. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  113. <xsl:stylesheet version="1.0"
  114. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  115. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  116. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  117. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  118. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  119. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  120. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  121. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  122. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  123. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  124. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  125. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xts xsl cm pf df dp dc lyt utml cp cf cml xtsext">
  126. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  127. <!-- current file name -->
  128. <xsl:variable name="mname" select="'properties_privileges.xts'"/>
  129. <!-- add any theme variables -->
  130. <pf:variables/>
  131. <xsl:variable name="object" select="/root/cm:queryResponse/*"/>
  132. <!-- start the output -->
  133. <xsl:template match="/root">
  134. <!-- get passed in parameters -->
  135. <xsl:variable name="canWrite" select="contains(concat(' ',$object/cm:permissions,' '),' write ')"/>
  136. <xsl:variable name="canSetPolicy" select="contains(concat(' ', $object/cm:permissions, ' '), ' setPolicy ')"/>
  137. <xsl:variable name="has_read_permission" select="contains(concat(' ', $object/cm:permissions, ' '), 'read')"/>
  138. <xsl:variable name="has_write_permission" select="contains(concat(' ', $object/cm:permissions, ' '), 'write')"/>
  139. <xsl:variable name="has_traverse_permission" select="contains(concat(' ', $object/cm:permissions, ' '), 'traverse')"/>
  140. <xsl:variable name="showOKCancel" select="$canWrite or $canSetPolicy"/>
  141. <xsl:variable name="browserTitle">
  142. <xsl:choose>
  143. <xsl:when test="key('env-param','from_cogadmin')='true'">
  144. <xsl:choose>
  145. <xsl:when test="key('env-param', 'containerLabel') and key('env-param', 'containerLabel') != ''">
  146. <xts:string id="IDS_PERMISSIONS_TITLE"><xts:param name="objectName"><span lang="{$contentLocale}"><xsl:value-of select="key('env-param', 'containerLabel')"/></span></xts:param></xts:string>
  147. </xsl:when>
  148. <xsl:when test="$object/cm:defaultName and $object/cm:defaultName != ''">
  149. <xts:string id="IDS_PERMISSIONS_TITLE"><xts:param name="objectName"><span lang="{$contentLocale}"><xsl:value-of select="/root/cm:queryResponse/*/cm:defaultName"/></span></xts:param></xts:string>
  150. </xsl:when>
  151. <xsl:otherwise>
  152. <xts:string id="IDS_PERMISSIONS"/>
  153. </xsl:otherwise>
  154. </xsl:choose>
  155. </xsl:when>
  156. <xsl:when test="$object/cm:defaultName and $object/cm:defaultName != ''">
  157. <xts:string id="IDS_PROPERTIES_TITLE">
  158. <xts:param name="objectName">
  159. <xsl:value-of select="xtsext:enforceBTD($object/cm:defaultName, $baseTextDirection, $productLocale, boolean($isBidiEnabled='true'))"/>
  160. </xts:param>
  161. </xts:string>
  162. </xsl:when>
  163. <xsl:otherwise>
  164. <xts:string id="IDS_PROPERTIES"/>
  165. </xsl:otherwise>
  166. </xsl:choose>
  167. </xsl:variable>
  168. <xsl:variable name="is3rdPartyNS" select="starts-with(/root/cm:queryResponse/*/cm:searchPath,'CAMID(') and not(starts-with(/root/cm:queryResponse/*/cm:searchPath,'CAMID(&quot;:')) and not(starts-with(/root/cm:queryResponse/*/cm:searchPath, concat(/root/session/param[@name='e_hp'],'/folder')))"/>
  169. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  170. <dp:meta>
  171. <!-- Standard meta tags -->
  172. <pf:meta/>
  173. </dp:meta>
  174. <dp:script>
  175. <!-- Help system -->
  176. <pf:help context="HID_PERMISSIONS"/>
  177. <xsl:if test="$canWrite">
  178. <script language="JavaScript">
  179. function confirmCancel()
  180. {
  181. var confirmationRequired = false;
  182. var form = document.pform;
  183. var isDirty = com.cognos.admin.publicParam.states["PERMISSIONS_EDITOR"].isDirty;
  184. if (!isDirty) {
  185. var isAcquired = <xsl:value-of select="/root/cm:queryResponse/*/cm:policies/@acquired"/>;
  186. isDirty = isAcquired != com.cognos.admin.publicParam.states["PERMISSIONS_EDITOR"].acquired;
  187. }
  188. if (isDirty == true) {
  189. confirmationRequired = true;
  190. }
  191. else {
  192. for (var i = 0; i &lt; form.length; i++) {
  193. if (form.elements[i] &amp;&amp; form.elements[i].name &amp;&amp; form.elements[i].name.indexOf(&apos;changed_&apos;) == 0 &amp;&amp; form.elements[i].value &amp;&amp; form.elements[i].value == &apos;1&apos;) {
  194. confirmationRequired = true;
  195. break;
  196. }
  197. }
  198. }
  199. if (confirmationRequired == true)
  200. {
  201. return window.confirm("<xts:string id="IDS_PROP_CANCEL_CONFIRM" encode="javascript"/>");
  202. }
  203. else
  204. {
  205. return true;
  206. }
  207. }
  208. </script>
  209. <script language="javascript" src="{$webcontent}/{$app}/js/utilities.js"/>
  210. </xsl:if>
  211. </dp:script>
  212. <utml:form name="pform" method="post" action="{$gateway}">
  213. <utml:read-only>
  214. <xsl:choose>
  215. <xsl:when test="$canWrite">false</xsl:when>
  216. <xsl:otherwise>true</xsl:otherwise>
  217. </xsl:choose>
  218. </utml:read-only>
  219. <!--
  220. this defines the form command operation to be performed when all the collected properties are submitted.
  221. -->
  222. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  223. <!-- dialog header -->
  224. <dp:header useBackURL="not($showOKCancel)">
  225. <!-- header titles-->
  226. <dp:title>
  227. <xsl:copy-of select="$browserTitle"/>
  228. </dp:title>
  229. </dp:header>
  230. <!-- property tabs -->
  231. <xsl:if test="not(key('env-param','from_cogadmin')='true') and key('env-param','m_class')!='modelView'">
  232. <df:propertiesTabs select="privileges">
  233. <df:hasRead><xsl:value-of select="$has_read_permission"/></df:hasRead>
  234. <df:hasTraverse><xsl:value-of select="$has_traverse_permission"/></df:hasTraverse>
  235. <df:hasSetPolicy>
  236. <xsl:value-of select="$canSetPolicy"/>
  237. </df:hasSetPolicy>
  238. </df:propertiesTabs>
  239. </xsl:if>
  240. <xsl:call-template name="create-fragment-UI">
  241. <xsl:with-param name="form-read-only" select="$form-read-only"/>
  242. <xsl:with-param name="is3rdPartyNS" select="$is3rdPartyNS"/>
  243. </xsl:call-template>
  244. <dp:footer>
  245. <xsl:choose>
  246. <xsl:when test="$showOKCancel">
  247. <df:button df:id="IDS_OK" utml:validate="true" df:style="submit"/>
  248. <xsl:choose>
  249. <xsl:when test="key('env-param', 'ps_nav_stack') and not(key('env-param', 'ps_nav_stack') = '') ">
  250. <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="{$dc-confirm-cancel}"/>
  251. </xsl:when>
  252. <xsl:otherwise>
  253. <df:button df:id="IDS_CANCEL" df:style="back-url" onclick="{$dc-confirm-cancel}"/>
  254. </xsl:otherwise>
  255. </xsl:choose>
  256. </xsl:when>
  257. <xsl:otherwise>
  258. <df:button df:id="IDS_CLOSE" df:style="back-url"/>
  259. </xsl:otherwise>
  260. </xsl:choose>
  261. </dp:footer>
  262. </utml:form>
  263. </dp:page>
  264. </xsl:template>
  265. <!-- Generate all the markup necessary to embed the permissions fragment in the property page -->
  266. <xsl:template name="create-fragment-UI">
  267. <xsl:param name="form-read-only"/>
  268. <xsl:param name="is3rdPartyNS"/>
  269. <script type="text/javascript">
  270. _F_Config = new Object();
  271. _F_Config.init = function(){
  272. this.gateway = "<xsl:value-of select="$gateway"/>";
  273. this.application = "/cogadmin";
  274. this.webContent = "<xsl:value-of select="$webRoot"/>";
  275. };
  276. _F_Config.init();
  277. var contextPath = _F_Config.webContent;
  278. </script>
  279. <script type="text/javascript" src="{ $gateway }/dashboard/messages/messages/pfmessages?section=JS"/>
  280. <script type="text/javascript" src="{ $webRoot }/dojo16/dojo/dojo.js"/>
  281. <script type="text/javascript" src="{ $webRoot }/fragments/xdojo/core.js"/>
  282. <script type="text/javascript" src="{ $webRoot }/fragments/fragments.js"/>
  283. <script type="text/javascript" src="{ $webRoot }/common/framework/validator/CValidator.js"/>
  284. <script type="text/javascript" src="{ $webRoot }/fragments/uicommon.js"/>
  285. <script type="text/javascript">
  286. var myfragEditor = null;
  287. var divEditor = null;
  288. function validate()
  289. {
  290. saveFragmentState();
  291. var callbackEnv = com.cognos.admin.publicParam.callbackEnv;
  292. if (callbackEnv){
  293. var privileges = new com.cognos.admin.extension.Privileges (callbackEnv);
  294. if (privileges.getUnsetEntries()) {
  295. var confirm = window.confirm("<xts:string id="IDS_PROP_PERMISSIONS_DELETE_USER_CONFIRM" encode="javascript"/>");
  296. if (confirm) {
  297. privileges.removeUnsetEntries();
  298. saveFragmentState();
  299. }
  300. else {
  301. return false;
  302. }
  303. }
  304. // alert user that if no entries are selected that policies will be acquired from the parent
  305. if (!privileges.privileges || privileges.privileges.length == 0) {
  306. return (window.confirm("<xts:string id="IDS_PROP_PERMISSIONS_SWITCH_CONFIRM" encode="javascript"/>"))
  307. }
  308. }
  309. return true;
  310. }
  311. function saveFragmentState()
  312. {
  313. var f = document.pform;
  314. f.m_permissions_fragstate.value = myfragEditor.state;
  315. f.m_permissions_overridePolicy.value = $("PERMISSIONS_EDITORoverridePolicy").checked;
  316. f.m_permissions_replace.value = $("PERMISSIONS_EDITORclearChildPolicies").checked;
  317. f.m_permissions_JSON.value = com.cognos.admin.util.Tools.JSON.stringify(com.cognos.admin.publicParam.states["PERMISSIONS_EDITOR"].privileges);
  318. }
  319. function fragContentDiv(sId)
  320. {
  321. var div = document.createElement("DIV");
  322. div.id = sId;
  323. div.className = "boxBody";
  324. div.style.position = "absolute";
  325. div.style.overflow = "auto";
  326. document.body.appendChild(div);
  327. var waitDiv = ui_templates.get(
  328. ui_templates.contentTemplate,
  329. 'CONTENTID', 'PERMISSIONS_EDITORcontent',
  330. 'CONTENTCLASS', 'cogstyle-htabs-page-content'
  331. );
  332. div.innerHTML = waitDiv;
  333. return div;
  334. }
  335. function fragResize()
  336. {
  337. _F_log("I", "resize");
  338. var viewArea = $("myfragdisplay");
  339. var cy = document.body.clientHeight;
  340. cy = Math.max(cy - 150, 400);
  341. xHeight(viewArea, cy);
  342. var x = xPageX(viewArea);
  343. var y = xPageY(viewArea);
  344. var w = xWidth(viewArea) - 5;
  345. var h = xHeight(viewArea);
  346. xResizeTo(divEditor, w, h);
  347. xShow(divEditor);
  348. viewArea.appendChild(divEditor);
  349. if (myfragEditor.onresize) {
  350. myfragEditor.onresize();
  351. }
  352. }
  353. function fragInit()
  354. {
  355. <xsl:variable name="hide-string"><xts:string id="IDS_FRAG_HIDE"/></xsl:variable>
  356. ui_error.prototype.template = "\&lt;div id=\"_THIS_errormsg\"\&gt;\&lt;/div\&gt;\&lt;div\&gt;" +
  357. "\&lt;a id=\"_THIS_error_showdetails\"\&gt;<xts:string id="IDS_FRAG_ERROR_SHOW_DETAILS" encode="javascript"/>\&lt;/a\&gt; | " +
  358. "\&lt;a id=\"_THIS_error_retry\"\&gt;<xts:string id="IDS_FRAG_ERROR_RETRY" encode="javascript"/>\&lt;/a\&gt; | " +
  359. "<xts:string id="IDS_FRAG_HIDE_MESSAGE" encode="javascript"><xts:param name="0">\&lt;a id=\"_THIS_error_hide\"\&gt;<xsl:value-of select="$hide-string"/>\&lt;/a\&gt;</xts:param></xts:string>" +
  360. "\&lt;/div\&gt;";
  361. _F_init();
  362. divEditor = fragContentDiv("PERMISSIONS_EDITORcontent");
  363. myfragEditor = new fragment("/fragmentproducer/cogadmin/policy/permissions", "PERMISSIONS_EDITOR");
  364. var params = "object=<xsl:value-of select="xtsext:urlencode($object/cm:storeID)"/>";
  365. <xsl:if test="key('env-param', 'm_permissions_JSON')!= ''">
  366. params += "&amp;privileges=<xsl:value-of select="xtsext:urlencode(key('env-param', 'm_permissions_JSON'))" disable-output-escaping="yes"/>";
  367. </xsl:if>
  368. <xsl:choose>
  369. <xsl:when test="key('env-param', 'm_permissions_overridePolicy')='false'">
  370. params += "&amp;acquired=true";
  371. </xsl:when>
  372. <xsl:when test="key('env-param', 'm_permissions_overridePolicy')='true'">
  373. params += "&amp;acquired=false";
  374. </xsl:when>
  375. </xsl:choose>
  376. <xsl:if test="key('env-param', 'm_permissions_replace')='true'">
  377. params += "&amp;deleteChildPolicies=true";
  378. </xsl:if>
  379. <xsl:if test="$is3rdPartyNS">
  380. params += "&amp;3rdPartyNS=true";
  381. </xsl:if>
  382. <xsl:if test="key('env-param', 'm_permissions_fragstate')!=''">
  383. params += "&amp;frag-state=<xsl:value-of select="xtsext:urlencode(key('env-param', 'm_permissions_fragstate'))" disable-output-escaping="yes"/>";
  384. </xsl:if>
  385. //Overide processErrorHref method within fragments.js
  386. myfragEditor.processErrorHref = function() {
  387. var href = window.location.href;
  388. var iFrames = window.parent.document.getElementsByTagName("iframe");
  389. if (iFrames.length > 0) {
  390. //It's being rendered within a dialog so use the 'dialog'location for the backURL instead.
  391. href = iFrames[iFrames.length-1].src;
  392. }
  393. return href;
  394. }
  395. myfragEditor.retrieve(params);
  396. setTimeout(function(){
  397. fragResize();
  398. },0);
  399. xAddEventListener(window, "resize", fragResize);
  400. }
  401. xAddEventListener(window, "load", fragInit);
  402. </script>
  403. <table cellspacing="0" cellpadding="3" border="0" width="100%" role="presentation">
  404. <tbody>
  405. <tr>
  406. <td height="1" width="1"/>
  407. <td width="100%">
  408. <div id="myfragdisplay" style="width: 100%; height: 400px;"/>
  409. </td>
  410. </tr>
  411. </tbody>
  412. </table>
  413. <utml:input type="hidden" name="m_permissions_overridePolicy"/>
  414. <utml:input type="hidden" name="m_permissions_JSON"/>
  415. <utml:input type="hidden" name="m_permissions_replace"/>
  416. <utml:input type="hidden" name="m_permissions_fragstate"/>
  417. </xsl:template>
  418. </xsl:stylesheet>
  419. </xts:block>
  420. <!--
  421. ===============================================================================================
  422. debug - display debug information
  423. ===============================================================================================
  424. -->
  425. <xts:block id="debug" dependency="render_page" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
  426. <!-- get the debug logic sheet -->
  427. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  428. <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">
  429. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  430. <xsl:template match="/">
  431. <dbg:dumpxml select="/root"/>
  432. </xsl:template>
  433. </xsl:stylesheet>
  434. </xts:block>
  435. </xts:morphlet>