deployment.xts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  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, 2016
  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/" messageBase="messages/portal.xml, messages/portalRL.xml" resolverBase="prompting" includeConfig="true" requiredCapability="canUseScheduling">
  13. <!--
  14. ===============================================================================================
  15. formlogic_init
  16. ===============================================================================================
  17. -->
  18. <xts:block id="formlogic_init" type="exec" mode="interpret" processor="XSLT" path="/logicsheets/formlogic_init.xslt" nodelist="env,credential,system,http"/>
  19. <!--
  20. ===============================================================================================
  21. checkParam - change m_name, m_class, m_obj when dealing with shortcut.
  22. ===============================================================================================
  23. -->
  24. <xts:block id="checkParam" path="/portal/ref2target.xml" dependency="formlogic_init" type="exec" mode="interpret" processor="XSLT" condition=".[/root/env/param[starts-with(@name,'sc_target')]!='']" mandatory="false"/>
  25. <!--
  26. ===============================================================================================
  27. getContent - get our data from Content Manager
  28. ===============================================================================================
  29. -->
  30. <xts:block id="getContent" processor="XSLT" type="exec" dependency="formlogic_init checkParam">
  31. <xts:logicsheet path="portal/schedule/logicsheets/request.xslt"/>
  32. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  33. <xts:logicsheet path="portal/schedule/logicsheets/common.xslt"/>
  34. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  35. <xsl:stylesheet version="1.0"
  36. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  37. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  38. xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
  39. xmlns:cls="http://developer.cognos.com/schemas/xts/cls/"
  40. exclude-result-prefixes="xsl xtsext rdr cls">
  41. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  42. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  43. <xsl:template match="/">
  44. <xts:sequence>
  45. <rdr:Requests mode="deployment">
  46. <rdr:Request type="runnable" mode="deployment">
  47. <rdr:searchPath>
  48. <xsl:value-of select="key('env-param', 'm_obj')"/>
  49. </rdr:searchPath>
  50. </rdr:Request>
  51. <rdr:Request type="credential"/>
  52. <xsl:if test="not(key('env-param', 'visited_schedule_properties'))">
  53. <rdr:Request type="schedule">
  54. <rdr:searchPath>
  55. <xsl:value-of select="key('env-param', 'm_obj')"/>
  56. <xsl:text>/schedule[permission("read")]</xsl:text>
  57. </rdr:searchPath>
  58. </rdr:Request>
  59. </xsl:if>
  60. </rdr:Requests>
  61. <xsl:if test="/root/env/param[@name='m_class']='importDeployment'">
  62. <xts:append select="/root/env">
  63. <xts:transform src="transforms/portal/deploymentOptions/generateDeploymentOptionsEnvParams.xslt" processor="XSLT">
  64. <root>
  65. <xts:queryNode select="/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][1]/*/*[local-name()='deploymentOptions']"/>
  66. </root>
  67. </xts:transform>
  68. </xts:append>
  69. </xsl:if>
  70. <!-- if we have a schedule credential blob, then unpack it -->
  71. <cls:unpackCredentials/>
  72. </xts:sequence>
  73. </xsl:template>
  74. </xsl:stylesheet>
  75. </xts:block>
  76. <!--
  77. ===============================================================================================
  78. getExportPackages - get the names and paths of the packages being exported.
  79. ===============================================================================================
  80. -->
  81. <xts:block id="getExportPackages" processor="XSLT" type="exec" dependency="getContent" condition="/root/env/param[@name='m_class']='exportDeployment'" nodelist="header,env,http,cookies,queryResponse">
  82. <xts:logicsheet path="portal/schedule/logicsheets/request.xslt"/>
  83. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  84. <xsl:stylesheet version="1.0"
  85. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  86. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  87. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  88. xmlns:rdr="http://developer.cognos.com/schemas/xts/rdr/"
  89. exclude-result-prefixes="xsl cm xtsext rdr">
  90. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  91. <xsl:template match="/">
  92. <xsl:variable name="exportOption" select="/root/cm:queryResponse/cm:queryReply[1]/*/cm:deploymentOptions/*[@name='export']"/>
  93. <xsl:if test="$exportOption/cm:searchPathSingleObject">
  94. <xts:sequence>
  95. <rdr:Requests rootElement="exportPackages">
  96. <xsl:for-each select="$exportOption/cm:searchPathSingleObject">
  97. <cm:query>
  98. <cm:search><xsl:value-of select="."/></cm:search>
  99. <cm:properties>
  100. <cm:property name="defaultName"/>
  101. <cm:property name="ancestors"/>
  102. <cm:property name="storeID"/>
  103. <cm:property name="objectClass"/>
  104. </cm:properties>
  105. </cm:query>
  106. </xsl:for-each>
  107. </rdr:Requests>
  108. </xts:sequence>
  109. </xsl:if>
  110. </xsl:template>
  111. </xsl:stylesheet>
  112. </xts:block>
  113. <!--
  114. ===============================================================================================
  115. getArchiveOptions - call getDeploymentOptions method.
  116. ===============================================================================================
  117. -->
  118. <xts:block id="getArchiveOptions" processor="XSLT" type="exec" dependency="getContent" mandatory="false" condition=".[/root/env/param[@name='m_class'] = 'importDeployment' and /root/env/param[@name='m_archive'] != '' and not(/root/*[local-name()='queryResponse']/*[local-name()='queryReply'][3]/*[local-name()='schedule'])]">
  119. <xts:logicsheet path="logicsheets/deploymentlogic.xsl"/>
  120. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  121. <xts:logicsheet path="logicsheets/portal.xsl"/>
  122. <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:bus="http://developer.cognos.com/schemas/bibus/1/" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:dpl="http://developer.cognos.com/schemas/xts/logicsheets/deployment/" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  123. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  124. <dpl:getArchiveOptions handleFault="true"/>
  125. </xsl:stylesheet>
  126. </xts:block>
  127. <!--
  128. ===============================================================================================
  129. Handle getDeploymentOptions fault.
  130. ===============================================================================================
  131. -->
  132. <xts:block id="faultHandler" type="fault" processor="XSLT">
  133. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  134. <xsl:output method="xml"/>
  135. <xsl:template match="/root/fault">
  136. <copyFault>
  137. <xsl:copy-of select="."/>
  138. </copyFault>
  139. </xsl:template>
  140. <xsl:template match="text()"/>
  141. </xsl:stylesheet>
  142. </xts:block>
  143. <!--
  144. ===============================================================================================
  145. queryCredentialInfo:
  146. Query CM for the necessary user information (default names required for UI)
  147. ===============================================================================================
  148. -->
  149. <xts:block id="queryCredentialInfo"
  150. nodelist="env,header,session,http,queryResponse,scheduleCredentials,credential,cookies"
  151. path="/portal/schedule/logicsheets/query-credential-info.xslt"
  152. processor="XSLT"
  153. type="exec"
  154. dependency="getContent">
  155. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  156. <xts:logicsheet path="logicsheets/portal.xsl"/>
  157. </xts:block>
  158. <!--
  159. ===============================================================================================
  160. generateDefaults
  161. Produce default form fields under /root/env
  162. ===============================================================================================
  163. -->
  164. <xts:block id="generateDefaults" processor="XSLT" type="exec" dependency="getContent getArchiveOptions">
  165. <xts:logicsheet path="logicsheets/deploymentlogic.xsl"/>
  166. <xsl:stylesheet version="1.0"
  167. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  168. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  169. xmlns:dpl="http://developer.cognos.com/schemas/xts/logicsheets/deployment/"
  170. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  171. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  172. <xsl:variable name="the-schedule" select="/root/cm:queryResponse/cm:queryReply[3]/cm:schedule"/>
  173. <xsl:template match="/">
  174. <xts:sequence>
  175. <xts:append select="/root/env">
  176. <xsl:if test="not(/root/env/param[@name='visited_schedule_properties'])">
  177. <xts:transform src="/portal/schedule/transforms/generateDefaultParams.xslt" processor="XSLT">
  178. <root>
  179. <xsl:copy-of select="/root/user"/>
  180. <xsl:copy-of select="/root/env"/>
  181. <xsl:copy-of select="$the-schedule"/>
  182. </root>
  183. </xts:transform>
  184. </xsl:if>
  185. </xts:append>
  186. <xts:append select="/root/env">
  187. <xts:transform src="/portal/schedule/transforms/generateMissingParams.xslt" processor="XSLT">
  188. <xts:param name="logicsheet">/logicsheets/portal.xsl</xts:param>
  189. <root>
  190. <xsl:copy-of select="/root/user"/>
  191. <xsl:copy-of select="/root/session"/>
  192. <xts:queryNode select="/root/env"/>
  193. </root>
  194. </xts:transform>
  195. <!-- set the archive upgrade default value -->
  196. <xsl:if test="/root/env/param[@name='m_class']='importDeployment'">
  197. <dpl:defaultArchiveOptionsValuesForSchedule/>
  198. </xsl:if>
  199. </xts:append>
  200. </xts:sequence>
  201. </xsl:template>
  202. </xsl:stylesheet>
  203. </xts:block>
  204. <!--
  205. ===============================================================================================
  206. processSummaryOptions
  207. Filter the deployment options and append a summary of the options to the root.
  208. ===============================================================================================
  209. -->
  210. <xts:block id="processSummaryOptions" processor="XSLT" type="exec" dependency="generateDefaults getExportPackages" path="/portal/deployment/getShortOptionsSummary.xslt">
  211. <xts:logicsheet path="logicsheets/deploymentlogic.xsl"/>
  212. <xts:logicsheet path="logicsheets/portal.xsl"/>
  213. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  214. </xts:block>
  215. <!--
  216. ===============================================================================================
  217. Render the HTML page
  218. ===============================================================================================
  219. -->
  220. <xts:block id="renderPage" type="exec" mode="output" dependency="getContent getArchiveOptions generateDefaults processSummaryOptions queryCredentialInfo" processor="XSLT" mimeType="text/html"
  221. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  222. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  223. xmlns:ut="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/ui-templates/"
  224. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  225. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  226. xmlns:dpl="http://developer.cognos.com/schemas/xts/logicsheets/deployment/"
  227. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  228. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  229. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  230. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  231. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  232. xmlns:mt="http://developer.cognos.com/schemas/xts/logicsheets/presentation/main/mt"
  233. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  234. xmlns:rui="http://developer.cognos.com/schemas/xts/logicsheet/xslt/presentation/dialog/recurrenceUI/">
  235. <!-- logicsheets -->
  236. <xts:logicsheet path="logicsheets/presentation/dialog/recurrenceUI.xslt"/>
  237. <xts:logicsheet path="logicsheets/deploymentlogic.xsl"/>
  238. <!-- portal specific information -->
  239. <xts:logicsheet path="logicsheets/portal.xsl"/>
  240. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  241. <!-- Dialog specific logicsheets -->
  242. <xts:logicsheet path="logicsheets/presentation/dialog/ui-templates.xsl"/>
  243. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  244. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  245. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  246. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  247. <xts:logicsheet path="logicsheets/presentation/main/presentation.xsl"/>
  248. <xts:logicsheet path="portal/schedule/logicsheets/scheduleVars.xsl"/>
  249. <!-- Generic logicsheets -->
  250. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  251. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  252. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  253. <!-- apply the form logic -->
  254. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  255. <xts:logicsheet path="logicsheets/validation.xslt"/>
  256. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  257. <xsl:stylesheet version="1.0"
  258. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  259. xmlns:bus="http://developer.cognos.com/schemas/bibus/3/"
  260. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  261. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  262. xmlns:xIE5="http://developer.cognos.com/prompting/xIE5"
  263. exclude-result-prefixes="pf cml ut df lyt dp cf cp dc utml xts bus xtsext cm xIE5">
  264. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  265. <!-- current file name -->
  266. <xsl:variable name="mname" select="'schedule/deployment.xts'"/>
  267. <xsl:variable name="the-object" select="/root/cm:queryResponse/cm:queryReply[1]/*"/>
  268. <xsl:variable name="the-credential" select="/root/cm:queryResponse/cm:queryReply[2]/cm:credential"/>
  269. <xsl:variable name="the-schedule" select="/root/cm:queryResponse/cm:queryReply[3]/cm:schedule"/>
  270. <xsl:variable name="savedTriggerType" select="'schedule'"/>
  271. <!-- add any theme variables -->
  272. <pf:variables/>
  273. <rui:variables/>
  274. <!-- deployment variables -->
  275. <dpl:variables/>
  276. <!-- include prompt control stylesheet and variables -->
  277. <rui:promptControls form="pform"/>
  278. <xsl:template match="/">
  279. <xsl:variable name="browserTitle">
  280. <xts:string id="IDS_PROP_SCHEDULE_TITLE">
  281. <xts:param name="objectName">
  282. <span lang="{$contentLocale}"><xsl:value-of select="$the-object/cm:defaultName"/></span>
  283. </xts:param>
  284. </xts:string>
  285. </xsl:variable>
  286. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  287. <dp:meta>
  288. <pf:meta/>
  289. </dp:meta>
  290. <!-- get the JavaScript needed for the prompt controls -->
  291. <rui:promptControlsScript/>
  292. <dp:script>
  293. <pf:help context="HID_SCHEDULE"/>
  294. <!-- Help system -->
  295. <dc:confirm-cancel/>
  296. <script language="javascript">
  297. <!-- some behavior for when the page loads -->
  298. function init()
  299. {
  300. <!-- m can get clobbered when going to secondary dialogs, so make sure it has the right value -->
  301. document.pform.m.value = "<xsl:value-of select="xtsext:javascriptencode(string(key('env-param', 'm')))"/>";
  302. }
  303. function onClickOK()
  304. {
  305. var frm = document.pform;
  306. if (validateSchedule())
  307. {
  308. frm.ps_nav_op.value = 'submit';
  309. frm.m.value = 'portal/submit.xts';
  310. frm.submit();
  311. }
  312. }
  313. </script>
  314. </dp:script>
  315. <utml:form name="pform" method="post" action="{$gateway}">
  316. <!-- Since the date control input variables are not utml input, they would be put into Hidden inputs whenever the page is refreshed and cause
  317. duplicate. So we exclude them from query values. -->
  318. <utml:exclusion-list>
  319. <xsl:value-of select="' txtDatedateTo txtDatedateFrom tempPath p_sched_date1 p_sched_date2 p_sched_time1 p_sched_time2 p_intradayRecurrenceStart p_intradayRecurrenceEnd hourstimeTo hourstimeFrom minutestimeTo minutestimeFrom secondstimeFrom secondstimeTo AMPMtimeTo AMPMtimeFrom visited_schedule_properties dateTotxtDate dateFromtxtDate'"/>
  320. </utml:exclusion-list>
  321. <utml:read-only>
  322. <xsl:choose>
  323. <xsl:when test="contains($the-object/cm:permissions, 'write') and contains($the-object/cm:permissions, 'execute')">
  324. <xsl:text>false</xsl:text>
  325. </xsl:when>
  326. <xsl:otherwise>
  327. <xsl:text>true</xsl:text>
  328. </xsl:otherwise>
  329. </xsl:choose>
  330. </utml:read-only>
  331. <!-- header -->
  332. <dp:header>
  333. <dp:title showName="false">
  334. <xsl:copy-of select="$browserTitle"/>
  335. </dp:title>
  336. <dp:description headerBorder="true">
  337. <xts:string id="IDS_PROP_SCHED_INTRO2"/>
  338. </dp:description>
  339. </dp:header>
  340. <utml:input type="hidden" name="m_timeZoneID">
  341. <xsl:attribute name="value">
  342. <xsl:value-of select="/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:timeZoneID"/>
  343. </xsl:attribute>
  344. </utml:input>
  345. <utml:input type="hidden" name="ps_nav_op" value="" utml:update="false"/>
  346. <utml:input type="hidden" name="m_scheduleCredentials">
  347. <xsl:attribute name="value"><xsl:value-of select="key('env-param','m_scheduleCredentials')"/></xsl:attribute>
  348. </utml:input>
  349. <xsl:choose>
  350. <xsl:when test="$form-read-only='true' and not($the-schedule)">
  351. <mt:objectNoneFound id="IDS_PROP_SCHED_READ_ONLY_NO_SCHED"/>
  352. </xsl:when>
  353. <xsl:otherwise>
  354. <!-- add this hidden input, its existence allows us to infer that this morphlet has been previously visited -->
  355. <input name="visited_schedule_properties" type="hidden" value="true"/>
  356. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  357. <!-- save the schedule with the user's credentials if the user has chosen to reset them or with a new schedule -->
  358. <xsl:if test="key('env-param','m_schedule_owner_reset')='true'">
  359. <xsl:choose>
  360. <xsl:when test="$userCredentialsExist='true'">
  361. <utml:input type="hidden" name="m_sp_credential" utml:update="false">
  362. <utml:value><xsl:value-of select="$userCredentialSearchPathProperty"/></utml:value>
  363. </utml:input>
  364. </xsl:when>
  365. <xsl:otherwise>
  366. <input type="hidden" name="h_CAM_action" value=""/>
  367. </xsl:otherwise>
  368. </xsl:choose>
  369. </xsl:if>
  370. <!-- Recurrence -->
  371. <rui:recurrenceUI formName="pform"/>
  372. </xsl:otherwise>
  373. </xsl:choose>
  374. <!-- Display a summary of the deployment options -->
  375. <dpl:shortOptionsSummary>
  376. <dpl:param name="item-path">/root/deploymentOptionsSummary/*</dpl:param>
  377. </dpl:shortOptionsSummary>
  378. <lyt:layout style="1" border="no">
  379. <lyt:section>
  380. <dpl:archiveDeploymentOptionsRadioButtons/>
  381. </lyt:section>
  382. </lyt:layout>
  383. <rui:footer/>
  384. </utml:form>
  385. </dp:page>
  386. </xsl:template>
  387. <!-- include all the schedule related templates. -->
  388. <pf:gen-icon/>
  389. <cp:tabControl/>
  390. </xsl:stylesheet>
  391. </xts:block>
  392. <!--
  393. ===============================================================================================
  394. debug - display debug information
  395. ===============================================================================================
  396. -->
  397. <xts:block id="debug" dependency="renderPage" condition=".[/root/session/param[@name='debug']='1']" type="exec" mode="output" processor="XSLT" mandatory="false" mimeType="text/html">
  398. <!-- Get the debug logic sheet -->
  399. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  400. <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">
  401. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  402. <xsl:template match="/">
  403. <dbg:dumpxml select="/root"/>
  404. </xsl:template>
  405. </xsl:stylesheet>
  406. </xts:block>
  407. </xts:morphlet>