filterTreeRequest.xts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. <xts:morphlet xmlns:xts="http://developer.cognos.com/schemas/xts/" requiredCapability="canUseQueryStudio">
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: qs
  5. (C) Copyright IBM Corp. 2001, 2019
  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:block id="queryCM" mode="interpret" processor="XSLT" type="exec" condition=".[/root/env/param[@name='xxRetrievePrompt']='true']" mandatory="false">
  13. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  14. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  15. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  16. <xsl:template match="/">
  17. <xts:sequence>
  18. <xts:append>
  19. <xts:request asText="true" href="bus://dispatcher" protocol="BUS" responseEnvelope="false" soapAction="http://www.ibm.com/xmlns/prod/cognos/contentManagerService/201404/">
  20. <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">
  21. <SOAP-ENV:Header>
  22. <bus:biBusHeader xsi:type="bus:biBusHeader" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  23. <!--<xsl:choose>
  24. <xsl:when test="/root/env/param[@name='ui.routingServerGroup']!=''">
  25. <bus:routing>
  26. <routingServerGroup>
  27. <xsl:value-of select="/root/env/param[@name='ui.routingServerGroup']"/>
  28. </routingServerGroup>
  29. </bus:routing>
  30. <xsl:apply-templates select="/root/header/bus:biBusHeader/*[local-name()!='routing']"/>
  31. </xsl:when>
  32. <xsl:otherwise>
  33. <xsl:apply-templates select="/root/header/bus:biBusHeader/*"/>
  34. </xsl:otherwise>
  35. </xsl:choose>-->
  36. <xsl:if test="/root/env/param[@name='markup_track']!=''">
  37. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(key('env-param','markup_track'))), true())" disable-output-escaping="yes"/>
  38. </xsl:if>
  39. <xsl:apply-templates select="/root/header/*[local-name() = 'biBusHeader']/*[local-name() != 'tracking' and local-name() != 'dispatcherTransportVars']"/>
  40. <xsl:if test="string(/root/env/param[@name='ui.routingServerGroup'])!=''">
  41. <bus:routing xsi:type="bus:routingInfo">
  42. <routingServerGroup>
  43. <xsl:value-of select="/root/env/param[@name='ui.routingServerGroup']"/>
  44. </routingServerGroup>
  45. </bus:routing>
  46. </xsl:if>
  47. </bus:biBusHeader>
  48. </SOAP-ENV:Header>
  49. <SOAP-ENV:Body>
  50. <cm:query xmlns:cm="http://developer.cognos.com/schemas/bibus/3/">
  51. <search>
  52. <xsl:value-of select="xtsext:urldecode(string(/root/env/param[@name='xxSearchPath']))"/>
  53. </search>
  54. <properties xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="cm:propEnum[1]">
  55. <item xsi:type="">parameters</item>
  56. </properties>
  57. </cm:query>
  58. </SOAP-ENV:Body>
  59. </SOAP-ENV:Envelope>
  60. </xts:request>
  61. </xts:append>
  62. </xts:sequence>
  63. </xsl:template>
  64. <xsl:template match="*">
  65. <xsl:copy>
  66. <xsl:copy-of select="@*"/>
  67. <xsl:apply-templates/>
  68. </xsl:copy>
  69. </xsl:template>
  70. </xsl:stylesheet>
  71. </xts:block>
  72. <xts:block id="convertParameters" condition=".[/root/env/param[@name='xxExecutionParameters']!='']" mode="interpret" processor="XSLT" type="exec" mandatory="false">
  73. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt">
  74. <xsl:template match="/">
  75. <xts:sequence>
  76. <xts:append select="/root">
  77. <executionParameters>
  78. <xsl:choose>
  79. <xsl:when test="starts-with(/root/env/param[@name='xxExecutionParameters'], 'CAF')">
  80. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap_settemplatename_filterpicklist_settemplateid_01', string(/root/env/param[@name='xxExecutionParameters'])), true())" disable-output-escaping="yes"/>
  81. </xsl:when>
  82. <xsl:otherwise>
  83. <xsl:value-of select="xtsext:web64decode(string(/root/env/param[@name='xxExecutionParameters']), true())" disable-output-escaping="yes"/>
  84. </xsl:otherwise>
  85. </xsl:choose>
  86. </executionParameters>
  87. </xts:append>
  88. </xts:sequence>
  89. </xsl:template>
  90. </xsl:stylesheet>
  91. </xts:block>
  92. <xts:block id="getContent" mode="interpret" processor="XSLT" type="exec" dependency="queryCM convertParameters">
  93. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  94. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:SOAP-ENV="http://www.w3.org/2001/09/soap-envelope" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  95. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  96. <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
  97. <xsl:template match="/">
  98. <xsl:variable name="QSRunSpecification">
  99. <xsl:text/>&lt;metadataRequest connection=&quot;<xsl:value-of select="xtsext:xmlencode(xtsext:urldecode(string(/root/env/param[@name='xxModelName'])))"/>&quot;&gt;<xsl:text/>
  100. <xsl:text/>&lt;Metadata authoringLocale=&quot;<xsl:value-of select="xtsext:xmlencode(string(/root/env/param[@name='xxExprLocale']))"/>&quot; xml:lang=&quot;<xsl:value-of select="xtsext:xmlencode(string(/root/user/param[@name='productLocale']))"/>&quot; start_atRef=&quot;<xsl:value-of select="xtsext:xmlencode(string(/root/env/param[@name='xxFullColExpression']))"/>&quot; Depth=&quot;<xsl:value-of select="/root/env/param[@name='depth']"/>&quot; no_collections=&quot;1&quot;&gt;<xsl:text/>
  101. <xsl:text/>&lt;Properties&gt;<xsl:text/>
  102. <xsl:text/>&lt;Property name=&quot;./member&quot;/&gt;<xsl:text/>
  103. <xsl:text/>&lt;Property name=&quot;./level&quot;/&gt;<xsl:text/>
  104. <xsl:text/>&lt;Property name=&quot;./dimension&quot;/&gt;<xsl:text/>
  105. <xsl:text/>&lt;Property name=&quot;./hierarchy&quot;/&gt;<xsl:text/>
  106. <xsl:text/>&lt;Property name=&quot;*/@memberUniqueName&quot;/&gt;<xsl:text/>
  107. <xsl:text/>&lt;Property name=&quot;*/@memberCaption&quot;/&gt;<xsl:text/>
  108. <xsl:text/>&lt;Property name=&quot;*/@name&quot;/&gt;<xsl:text/>
  109. <xsl:text/>&lt;Property name=&quot;*/@_ref&quot;/&gt;<xsl:text/>
  110. <xsl:text/>&lt;Property name=&quot;*/@hierarchyUniqueName&quot;/&gt;<xsl:text/>
  111. <xsl:text/>&lt;Property name=&quot;*/@parentUniqueName&quot;/&gt;<xsl:text/>
  112. <xsl:text/>&lt;Property name=&quot;*/@levelUniqueName&quot;/&gt;<xsl:text/>
  113. <xsl:text/>&lt;Property name=&quot;*/@levelNumber&quot;/&gt;<xsl:text/>
  114. <xsl:text/>&lt;/Properties&gt;<xsl:text/>
  115. <xsl:text/>&lt;/Metadata&gt;<xsl:text/>
  116. <xsl:text/>&lt;/metadataRequest&gt;
  117. </xsl:variable>
  118. <xts:sequence>
  119. <xts:append select="/root/env">
  120. <param name="QSRunSpecification"><xsl:value-of select="$QSRunSpecification"/></param>
  121. </xts:append>
  122. <xts:append>
  123. <xts:request asText="true" href="bus://dispatcher" protocol="BUS" soapAction="http://www.ibm.com/xmlns/prod/cognos/reportService/201404/" faultBlock="faultHandler" responseEnvelope="true" outputHeader="true">
  124. <SOAP-ENV:Envelope 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:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  125. <SOAP-ENV:Header>
  126. <bus:biBusHeader xsi:type="bus:biBusHeader" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  127. <!--<xsl:choose>
  128. <xsl:when test="/root/env/param[@name='ui.routingServerGroup']!=''">
  129. <bus:routing>
  130. <routingServerGroup>
  131. <xsl:value-of select="/root/env/param[@name='ui.routingServerGroup']"/>
  132. </routingServerGroup>
  133. </bus:routing>
  134. <xsl:apply-templates select="/root/header/bus:biBusHeader/*[local-name()!='routing' and local-name() != 'dispatcherTransportVars']"/>
  135. </xsl:when>
  136. <xsl:otherwise>
  137. --><!-- For bug 611371. Don't copy the dispatcherTransportVars since these are copied directly from
  138. the browser. This can cause permission problems due to a 'front' = 'true' variable signifying
  139. this as an external request, even though it's internal. --><!--
  140. <xsl:apply-templates select="/root/header/bus:biBusHeader/*[local-name() != 'dispatcherTransportVars']"/>
  141. </xsl:otherwise>
  142. </xsl:choose>-->
  143. <xsl:if test="/root/env/param[@name='markup_track']!=''">
  144. <xsl:value-of select="xtsext:web64decode(xtsext:cafaction('sign_unwrap', string(key('env-param','markup_track'))), true())" disable-output-escaping="yes"/>
  145. </xsl:if>
  146. <xsl:apply-templates select="/root/header/*[local-name() = 'biBusHeader']/*[local-name() != 'tracking' and local-name() != 'dispatcherTransportVars']"/>
  147. <xsl:if test="string(/root/env/param[@name='ui.routingServerGroup'])!=''">
  148. <bus:routing xsi:type="bus:routingInfo">
  149. <routingServerGroup>
  150. <xsl:value-of select="/root/env/param[@name='ui.routingServerGroup']"/>
  151. </routingServerGroup>
  152. </bus:routing>
  153. </xsl:if>
  154. </bus:biBusHeader>
  155. </SOAP-ENV:Header>
  156. <SOAP-ENV:Body>
  157. <runSpecification xmlns="http://developer.cognos.com/schemas/reportService/1">
  158. <bus:specification xsi:type="bus:reportServiceMetadataSpecification" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  159. <bus:value xsi:type="bus:specification">
  160. <xsl:value-of select="$QSRunSpecification"/>
  161. </bus:value>
  162. </bus:specification>
  163. <bus:parameterValues xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:parameterValue[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  164. <xsl:for-each select="/root/env/param[@name='xxCreds']">
  165. <xsl:value-of select="." disable-output-escaping="yes"/>
  166. </xsl:for-each>
  167. <xsl:for-each select="/root/env/param[@name='xxPromptValues']">
  168. <xsl:value-of select="." disable-output-escaping="yes"/>
  169. </xsl:for-each>
  170. <xsl:if test="/root/executionParameters">
  171. <xsl:copy-of select="/root/executionParameters/*[local-name()='parameters']/*"/>
  172. </xsl:if>
  173. </bus:parameterValues>
  174. <bus:options xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="bus:option[]" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/">
  175. <item xsi:type="bus:runOptionString">
  176. <bus:name xsi:type="bus:runOptionEnum">promptFormat</bus:name>
  177. <bus:value xsi:type="xsd:string">HTML</bus:value>
  178. </item>
  179. <item xsi:type="bus:asynchOptionInt">
  180. <bus:name xsi:type="bus:asynchOptionEnum">primaryWaitThreshold</bus:name>
  181. <bus:value xsi:type="xsd:int">0</bus:value>
  182. </item>
  183. <item xsi:type="bus:runOptionBoolean">
  184. <bus:name xsi:type="bus:runOptionEnum">prompt</bus:name>
  185. <bus:value xsi:type="xsd:boolean">false</bus:value>
  186. </item>
  187. </bus:options>
  188. </runSpecification>
  189. </SOAP-ENV:Body>
  190. </SOAP-ENV:Envelope>
  191. </xts:request>
  192. </xts:append>
  193. </xts:sequence>
  194. </xsl:template>
  195. <xsl:template match="*">
  196. <xsl:copy>
  197. <xsl:copy-of select="@*"/>
  198. <xsl:apply-templates/>
  199. </xsl:copy>
  200. </xsl:template>
  201. </xsl:stylesheet>
  202. </xts:block>
  203. <xts:block id="appendDocument" mode="interpret" processor="XSLT" type="exec" dependency="getContent">
  204. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:cm="http://developer.cognos.com/schemas/cm/1/" xmlns:bus="http://developer.cognos.com/schemas/bibus/3/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" exclude-result-prefixes="xsl xts cm bus xtsext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  205. <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
  206. <xsl:template match="/root">
  207. <xts:sequence>
  208. <xts:append select="/root">
  209. <xsl:value-of select="./*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='runSpecificationResponse']/*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*[local-name()='outputPages']/*[local-name()='item']" disable-output-escaping="yes"/>
  210. <xsl:value-of select="substring-after(./*[local-name()='Envelope']/*[local-name()='Body']/*[local-name()='runSpecificationResponse']/*[local-name()='result']/*[local-name()='details']/*[local-name()='item']/*[local-name()='metadata'], '?&gt;')" disable-output-escaping="yes"/>
  211. </xts:append>
  212. <xts:append select="/root/env">
  213. <param name="promptSelections"><selectChoices><xsl:for-each select="/root/*[local-name() = 'queryResponse']/queryResult/item/parameters/value/item"><xsl:if test="/root/env/param[@name='xxPromptParam']=./name"><xsl:for-each select="./value/item"><selectOption><xsl:attribute name="displayValue"><xsl:value-of select="./display" disable-output-escaping="yes"/></xsl:attribute><xsl:attribute name="useValue"><xsl:value-of select="./use" disable-output-escaping="yes"/></xsl:attribute></selectOption></xsl:for-each></xsl:if></xsl:for-each></selectChoices></param>
  214. </xts:append>
  215. </xts:sequence>
  216. </xsl:template>
  217. </xsl:stylesheet>
  218. </xts:block>
  219. <!-- A block to handle a prompt response. This usually doesn't happen because all our prompts are already defined via xxPromptParams
  220. or in executionParameters. However, in the case of prompt macros, they may not be defined when in nodata mode. (See bug 613217).
  221. Simply creates javascript that contains the report spec we're going to round-trip to promptDataSource.xts.
  222. -->
  223. <xts:block id="handlePrompt" mode="output" processor="XSLT" type="exec" mimeType="application/x-javascript" dependency="appendDocument" 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/" condition=".[/root/*[local-name() = 'Envelope']/*[local-name() = 'Body']/*/*[local-name() = 'result']/*[local-name() = 'details']/item/*[local-name() = 'status'] = 'prompting']" mandatory="false">
  224. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pf="http://developer.cognos.com/schemas/xts/pf" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" version="1.0">
  225. <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
  226. <pf:variables/>
  227. <!-- Set the run Specification we've already created. This will be passed along to promptDataSource.xts -->
  228. <xsl:variable name="runSpecification">
  229. <xsl:value-of select="/root/env/param[@name='QSRunSpecification']"/>
  230. </xsl:variable>
  231. <xsl:template match="/root">
  232. var bPrompting = true;
  233. var sReportSpecification = "<xsl:text/><xsl:value-of select="xtsext:javascriptencode($runSpecification)"/><xsl:text/>";
  234. </xsl:template>
  235. </xsl:stylesheet>
  236. </xts:block>
  237. <xts:block id="parseContent" mode="output" processor="XSLT" type="exec" mimeType="application/x-javascript" dependency="appendDocument">
  238. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" version="1.0">
  239. <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
  240. <xsl:template match="/root">
  241. <xsl:choose>
  242. <xsl:when test="ResponseRoot/hierarchy/member[string(@parentUniqueName)='']">
  243. <xsl:text/>if (typeof _treenodes!="object"){_treenodes = new Array();}<xsl:text/>
  244. <xsl:text/>var bDrawAll = 'true';<xsl:text/>
  245. <xsl:apply-templates select="ResponseRoot/hierarchy/member[string(@parentUniqueName)='']"/>
  246. </xsl:when>
  247. <xsl:when test="ResponseRoot/level/member">
  248. <xsl:text/>if (typeof _treenodes!="object"){_treenodes = new Array();}<xsl:text/>
  249. <xsl:text/>var bDrawAll = 'true';<xsl:text/>
  250. <xsl:apply-templates select="ResponseRoot/level/member" mode="NoRoot"/>
  251. </xsl:when>
  252. <xsl:when test="ResponseRoot/member/member">
  253. <xsl:text/>if (typeof _treenodes!="object"){_treenodes = new Array();} <xsl:text/>
  254. <xsl:text/>var bDrawAll = 'false';<xsl:text/>
  255. <xsl:apply-templates select="ResponseRoot/member/member"/>
  256. <xsl:call-template name="addChildrenToNode">
  257. <xsl:with-param name="parent"><xsl:value-of select="xtsext:javascriptencode(ResponseRoot/member/@memberUniqueName)"/></xsl:with-param>
  258. </xsl:call-template>
  259. </xsl:when>
  260. <xsl:when test="/root/logonFault">
  261. <xsl:text/>FAULT;timeout<xsl:text/>
  262. </xsl:when>
  263. <xsl:otherwise>
  264. <xsl:text/>if (typeof _treenodes!="object"){_treenodes = new Array();}<xsl:text/>
  265. <xsl:text/>var bDrawAll = 'false';<xsl:text/>
  266. </xsl:otherwise>
  267. </xsl:choose>
  268. </xsl:template>
  269. <xsl:template match="hierarchy">
  270. <xsl:variable name="hun">
  271. <xsl:value-of select="@_ref"/>
  272. </xsl:variable>
  273. <xsl:for-each select="../*[@parentUniqueName=$hun]">
  274. <xsl:apply-templates/>
  275. </xsl:for-each>
  276. </xsl:template>
  277. <xsl:template match="member">
  278. <xsl:call-template name="createTreeNode">
  279. <xsl:with-param name="node" select="."/>
  280. <xsl:with-param name="parent">
  281. <xsl:choose>
  282. <xsl:when test="string(@parentUniqueName)=''"><xsl:call-template name="getTreeName"/>.getRootNode()</xsl:when>
  283. <xsl:otherwise>_treenodes['<xsl:value-of select="xtsext:javascriptencode(./@parentUniqueName)"/>']</xsl:otherwise>
  284. </xsl:choose>
  285. </xsl:with-param>
  286. </xsl:call-template>
  287. </xsl:template>
  288. <xsl:template match="member" mode="NoRoot">
  289. <xsl:call-template name="createTreeNode">
  290. <xsl:with-param name="node" select="."/>
  291. <xsl:with-param name="parent"><xsl:call-template name="getTreeName"/>.getRootNode()</xsl:with-param>
  292. </xsl:call-template>
  293. </xsl:template>
  294. <xsl:template name="addChildrenToNode">
  295. <xsl:param name="parent"/>
  296. var addToNode = '<xsl:value-of select="$parent"/>';
  297. </xsl:template>
  298. <xsl:template name="createTreeNode">
  299. <xsl:param name="node"/>
  300. <xsl:param name="parent"/>
  301. <xsl:variable name="mun">
  302. <xsl:value-of select="$node/@memberUniqueName"/>
  303. </xsl:variable>
  304. <xsl:variable name="nodeObj">
  305. <xsl:text/>_treenodes['<xsl:value-of select="xtsext:javascriptencode($mun)"/>']<xsl:text/>
  306. </xsl:variable>
  307. <xsl:value-of select="$nodeObj"/>= new CTreeNode(<xsl:text/>
  308. <xsl:value-of select="$parent"/>,tntMember,false,<xsl:text/>
  309. <xsl:text/>'<xsl:value-of select="xtsext:javascriptencode($node/@memberCaption)"/>',<xsl:text/>
  310. <xsl:text/>'<xsl:value-of select="xtsext:javascriptencode($mun)"/>',<xsl:text/>
  311. <xsl:text/>false);<xsl:text/>
  312. <xsl:choose>
  313. <xsl:when test="$node/../*[@parentUniqueName=$mun]">
  314. <xsl:apply-templates select="$node/../*[@parentUniqueName=$mun]"/>
  315. </xsl:when>
  316. <xsl:otherwise>
  317. <xsl:value-of select="$nodeObj"/>.setCanHaveChildren(true);<xsl:text/>
  318. </xsl:otherwise>
  319. </xsl:choose>
  320. </xsl:template>
  321. <xsl:template name="getTreeName">
  322. <xsl:choose>
  323. <xsl:when test="/root/env/param[@name='textBoxControl']='searchpSearch'">searchpSearch</xsl:when>
  324. <xsl:when test="/root/env/param[@name='textBoxControl']='checkBoxListpList'">checkBoxListpList</xsl:when>
  325. <xsl:otherwise>treepList</xsl:otherwise>
  326. </xsl:choose>
  327. </xsl:template>
  328. </xsl:stylesheet>
  329. </xts:block>
  330. <xts:block id="faultHandler" path="qs/logicsheets/faultHandler.xsl" type="fault" processor="XSLT"/>
  331. </xts:morphlet>