properties_settings.xts 106 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289
  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/" messageBase="messages/config.xml, messages/portal.xml, messages/portalRL.xml" resolverBase="prompting" requiredCapability="canUseAdministrationPortal">
  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. getConfig - retrieve the configuration UI settings
  22. ===============================================================================================
  23. -->
  24. <xts:block id="getConfig" type="exec" mode="interpret" processor="XSLT">
  25. <xsl:stylesheet version="1.0"
  26. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  27. exclude-result-prefixes="xsl">
  28. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  29. <xsl:template match="/">
  30. <xts:sequence>
  31. <xts:append>
  32. <xts:transform src="/portal/config_rt_ui.xslt" processor="XSLT">
  33. <xts:param name="messageBase">/messages/config.xml</xts:param>
  34. <root/>
  35. </xts:transform>
  36. </xts:append>
  37. </xts:sequence>
  38. </xsl:template>
  39. </xsl:stylesheet>
  40. </xts:block>
  41. <!-- Load object-specific property tabs map ============================================================== -->
  42. <xts:block id="getTabs" type="exec" mode="interpret" processor="XML" path="/portal/uiobjects_tabs.xml"/>
  43. <!--
  44. ===============================================================================================
  45. set_session_sort
  46. ===============================================================================================
  47. -->
  48. <xts:block id="set_session_sort" type="exec" mode="interpret" processor="XSLT" path="/portal/set_session_sort.xml" condition=".[/root/cookies/cookie[@name='cc_session']]" mandatory="false"/>
  49. <!--
  50. ===============================================================================================
  51. getContent - get our data from Content Manager
  52. ===============================================================================================
  53. -->
  54. <xts:block id="getContent" processor="XSLT" type="exec" dependency="formlogic_init getConfig set_session_sort">
  55. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  56. <xsl:stylesheet version="1.0"
  57. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  58. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  59. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  60. exclude-result-prefixes="xsl send cm">
  61. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  62. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  63. <xsl:variable name="isService" select="/root/system/param[@name='ui_objects']/object[@class=key('env-param','m_class')]/@service = 'T'"/>
  64. <xsl:template match="/">
  65. <xts:sequence>
  66. <xts:append>
  67. <xts:transform src="transforms/portal/config/post-process.xslt" processor="XSLT">
  68. <results>
  69. <productLocale><xsl:value-of select="/root/user/param[@name='productLocale']"/></productLocale>
  70. <sortkey>
  71. <xsl:value-of select="/root/session/param[@name='s_set']"/>
  72. </sortkey>
  73. <isService><xsl:value-of select="$isService"/></isService>
  74. <xts:queryNode select="/root/config"/>
  75. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  76. <send:request provider="cm">
  77. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  78. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  79. <cm:requests>
  80. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  81. <cm:search>
  82. <xsl:value-of select="key('env-param','m_obj')"/>
  83. </cm:search>
  84. <cm:properties>
  85. <xsl:for-each select="/root/config/section/parameter">
  86. <xsl:choose>
  87. <xsl:when test="@name = 'qsROLAPCubeConfigurations'">
  88. <xsl:if test="$isService">
  89. <cm:property>
  90. <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
  91. </cm:property>
  92. </xsl:if>
  93. </xsl:when>
  94. <xsl:otherwise>
  95. <cm:property>
  96. <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
  97. </cm:property>
  98. </xsl:otherwise>
  99. </xsl:choose>
  100. </xsl:for-each>
  101. <cm:property name="permissions"/>
  102. </cm:properties>
  103. <cm:options schemaInfo="true"/>
  104. </cm:query>
  105. <!-- if we're not dealing with a service then we need to query for the installed components -->
  106. <xsl:if test="not($isService)">
  107. <cm:query>
  108. <cm:search>
  109. <xsl:value-of select="key('env-param','m_obj')"/>
  110. <xsl:if test="key('env-param','m_class') != 'dispatcher'">
  111. <xsl:text>//*[@objectClass = 'dispatcher']</xsl:text>
  112. </xsl:if>
  113. <xsl:text>/installedComponent</xsl:text>
  114. </cm:search>
  115. <cm:properties>
  116. <cm:property name="componentID"/>
  117. </cm:properties>
  118. </cm:query>
  119. </xsl:if>
  120. <!-- if not dispatcher or service query CM for all visible dispatchers -->
  121. <xsl:if test="not($isService) and key('env-param','m_class') != 'dispatcher'">
  122. <cm:query>
  123. <cm:search>
  124. <xsl:value-of select="key('env-param','m_obj')"/>
  125. <xsl:text>//*[@objectClass = 'dispatcher']</xsl:text>
  126. <xsl:value-of select="/root/system/param[@name='visible']"/>
  127. </cm:search>
  128. <cm:properties>
  129. <cm:property name="defaultName"/>
  130. </cm:properties>
  131. </cm:query>
  132. </xsl:if>
  133. <!-- This needs to be the last query since config/post-process.xslt will let it through untouched. -->
  134. <cm:query>
  135. <cm:search>
  136. <xsl:value-of select="key('env-param','m_obj')"/>
  137. </cm:search>
  138. <cm:properties>
  139. <cm:property name="defaultName"/>
  140. </cm:properties>
  141. </cm:query>
  142. </cm:requests>
  143. </cm:query>
  144. </xts:transform>
  145. </send:request>
  146. </xts:transform>
  147. </results>
  148. </xts:transform>
  149. </xts:append>
  150. <xts:delete select="/root/env/param[@name='pagerfrom']"/>
  151. <xts:delete select="/root/env/param[@name='pagerto']"/>
  152. <xts:delete select="/root/env/param[@name='pagerfrom_d']"/>
  153. <xts:delete select="/root/env/param[@name='pagerto_d']"/>
  154. <!-- Removed the reset flags for those properties who has been changed. -->
  155. <xsl:for-each select="/root/env/param[starts-with(@name, 'reset_') and (@name != 'reset_advancedSettings' or @name != 'reset_rdsGatewayMappings')]">
  156. <xsl:variable name="nm" select="@name"/>
  157. <xsl:variable name="p_nm" select="substring-after(@name, 'reset_')"/>
  158. <xsl:if test="/root/env/param[starts-with(@name, 'changed_m_pc_') and substring(@name, 16) = $p_nm] and /root/env/param[starts-with(@name, 'changed_m_pc_') and substring(@name, 16) = $p_nm] != '0'">
  159. <xts:delete select="/root/env/param[@name = '{$nm}']"/>
  160. </xsl:if>
  161. <xsl:variable name="changedDurationUnitNbr" select="/root/env/param[starts-with(@name, 'changed_dura_property_') and substring(@name, 25) = $p_nm]"/>
  162. <xsl:variable name="changedDurationUnit" select="/root/env/param[starts-with(@name, 'changed_durationSelect_') and substring-after(@name, 'changed_durationSelect_') = $p_nm]"/>
  163. <xsl:if test="$changedDurationUnitNbr='1' or $changedDurationUnit='1'">
  164. <xts:delete select="/root/env/param[@name = '{$nm}']"/>
  165. </xsl:if>
  166. </xsl:for-each>
  167. <xsl:for-each select="/root/env/param[starts-with(@name, 'resetroot_') and (@name != 'resetroot_advancedSettings' or @name != 'resetroot_rdsGatewayMappings')]">
  168. <xsl:variable name="nm" select="@name"/>
  169. <xsl:variable name="p_nm" select="substring-after(@name, 'resetroot_')"/>
  170. <xsl:if test="/root/env/param[starts-with(@name, 'changed_m_pc_') and substring(@name, 16) = $p_nm] and /root/env/param[starts-with(@name, 'changed_m_pc_') and substring(@name, 16) = $p_nm] != '0'">
  171. <xts:delete select="/root/env/param[@name = '{$nm}']"/>
  172. </xsl:if>
  173. <xsl:variable name="changedDurationUnitNbr" select="/root/env/param[starts-with(@name, 'changed_dura_property_') and substring(@name,25) = $p_nm]"/>
  174. <xsl:variable name="changedDurationUnit" select="/root/env/param[starts-with(@name, 'changed_durationSelect_') and substring-after(@name, 'changed_durationSelect_') = $p_nm]"/>
  175. <xsl:if test="$changedDurationUnitNbr='1' or $changedDurationUnit='1'">
  176. <xts:delete select="/root/env/param[@name = '{$nm}']"/>
  177. </xsl:if>
  178. </xsl:for-each>
  179. </xts:sequence>
  180. </xsl:template>
  181. </xsl:stylesheet>
  182. </xts:block>
  183. <!--
  184. ===============================================================================================
  185. appendParam - make sure each property is placed in the DOM tree.
  186. ===============================================================================================
  187. -->
  188. <xts:block id="appendParam" processor="XSLT" type="exec" condition=".[not(/root/env/param[starts-with(@name, 'm_pc_')])]" dependency="getContent" mandatory="false">
  189. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  190. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" version="1.0">
  191. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  192. <xsl:template match="/">
  193. <xts:sequence>
  194. <xts:append select="/root/env">
  195. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[not(local-name()='objectClass') and not(local-name()='permissions') and not(local-name()='advancedSettings')]">
  196. <xsl:variable name="param_name">
  197. <xsl:choose>
  198. <xsl:when test="@acquired = 'true'"><xsl:value-of select="concat('m_pc_a_', local-name())"/></xsl:when>
  199. <xsl:otherwise><xsl:value-of select="concat('m_pc_n_', local-name())"/></xsl:otherwise>
  200. </xsl:choose>
  201. </xsl:variable>
  202. <param name="{$param_name}"><xsl:value-of select="."/></param>
  203. <param name="changed_{$param_name}">0</param>
  204. </xsl:for-each>
  205. <!-- build up the advance settings information. Only need to do this when we're dealing with the configuration object
  206. since the user can do a 'delete all child values' and the save mophlets needs to match on these params -->
  207. <xsl:if test="contains(' configuration ', concat(' ',/root/env/param[@name='m_class'],' ') )">
  208. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[local-name()='advancedSettings']/*/*[local-name()='setting']">
  209. <param name="{concat('m_pa_n', position())}"><xsl:value-of select="@name"/></param>
  210. <param name="{concat('m_pa_v', position())}"><xsl:value-of select="."/></param>
  211. </xsl:for-each>
  212. </xsl:if>
  213. <!-- build up the gateway mappings information. Only need to do this when we're dealing with the configuration object
  214. since the user can do a 'delete all child values' and the save mophlets needs to match on these params -->
  215. <xsl:if test="contains(' configuration ', concat(' ',/root/env/param[@name='m_class'],' ') )">
  216. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[local-name()='rdsGatewayMappings']/*[local-name()='gatewayMapping']">
  217. <param name="{concat('map_external_', position())}"><xsl:value-of select="@externalURI"/></param>
  218. <param name="{concat('map_internal_', position())}"><xsl:value-of select="@internalURI"/></param>
  219. </xsl:for-each>
  220. </xsl:if>
  221. <!-- build up the boolean override information. -->
  222. <xsl:if test="contains(' configuration ', concat(' ',/root/env/param[@name='m_class'],' ') )">
  223. <xsl:variable name="overrideOptions" select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[starts-with(local-name(),'optionArrayProp_')][1]"/>
  224. <xsl:for-each select="$overrideOptions/options/*[local-name()='overrideOptions' or local-name()='serviceDefaultOptions']/*">
  225. <xsl:variable name="attrName" select="concat(name(..),'_',substring-after(@name,'#'))"/>
  226. <param name="{$attrName}"><xsl:value-of select="."/></param>
  227. </xsl:for-each>
  228. </xsl:if>
  229. </xts:append>
  230. <!--
  231. Add the necessary changed input
  232. This could/should be in a seperate block when the issue with the changed inputs not being set to 0 after
  233. a parent reset is performed
  234. -->
  235. <xsl:for-each select="/root/env/param[starts-with(@name, 'changed_dura_property_')]">
  236. <xsl:variable name="propName" select="substring(@name,25)"/>
  237. <xsl:if test="contains(@name,'changed_dura_property_a_')">
  238. <xts:append select="/root/env">
  239. <param name="changed_dura_property_n_{$propName}"><xsl:value-of select="."/></param>
  240. </xts:append>
  241. </xsl:if>
  242. <xsl:if test="contains(@name,'changed_dura_property_n_')">
  243. <xts:append select="/root/env">
  244. <param name="changed_dura_property_a_{$propName}"><xsl:value-of select="."/></param>
  245. </xts:append>
  246. </xsl:if>
  247. </xsl:for-each>
  248. </xts:sequence>
  249. </xsl:template>
  250. </xsl:stylesheet>
  251. </xts:block>
  252. <!--
  253. ===============================================================================================
  254. Select or deselect entire list based on param "paging_control_op"
  255. ===============================================================================================
  256. -->
  257. <xts:block id="pagerCtrlCommand" dependency="getContent" type="exec" mode="interpret" processor="XSLT">
  258. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  259. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  260. <xsl:variable name="op" select="/root/env/param[@name = 'listop']"/>
  261. <xsl:variable name="isRoot">
  262. <xsl:choose>
  263. <xsl:when test="/root/env/param[@name='m_class'] = 'configuration' ">true</xsl:when>
  264. <xsl:otherwise>false</xsl:otherwise>
  265. </xsl:choose>
  266. </xsl:variable>
  267. <xsl:template match="/">
  268. <xts:sequence>
  269. <xsl:choose>
  270. <xsl:when test="$op = 'reset'">
  271. <xsl:for-each select="/root/env/param[starts-with(@name, 'checkbox_')]">
  272. <xsl:choose>
  273. <xsl:when test="$isRoot = 'true'">
  274. <xsl:if test="not (/root/env/param[@name=concat('resetroot_', string(.))])">
  275. <xts:delete select="/root/env/param[@name='resetroot_{.}']"/>
  276. <xts:append select="/root/env">
  277. <param name="resetroot_{.}">1</param>
  278. </xts:append>
  279. </xsl:if>
  280. </xsl:when>
  281. <xsl:otherwise>
  282. <xsl:if test="not (/root/env/param[@name=concat('reset_', string(.))])">
  283. <xts:delete select="/root/env/param[@name='reset_{.}']"/>
  284. <xts:append select="/root/env">
  285. <param name="reset_{.}">1</param>
  286. </xts:append>
  287. </xsl:if>
  288. </xsl:otherwise>
  289. </xsl:choose>
  290. </xsl:for-each>
  291. <xsl:if test="/root/env/param[starts-with(@name, 'checkbox_')] = 'advancedSettings'">
  292. <xts:delete select="/root/env/param[starts-with(@name,'m_pa_') or @name='replace']"/>
  293. </xsl:if>
  294. <xsl:if test="/root/env/param[starts-with(@name, 'checkbox_')] = 'rdsGatewayMappings'">
  295. <xts:delete select="/root/env/param[starts-with(@name,'map_') or @name='replace']"/>
  296. </xsl:if>
  297. <xsl:if test="/root/env/param[starts-with(@name, 'checkbox_')] = 'jmxProxyHostDispatchers'">
  298. <xts:delete select="/root/env/param[@name='jmxProxyHostDispatchers' or @name='replace']"/>
  299. <xts:append select="/root/env">
  300. <param name="jmxProxyHostDispatchers"/>
  301. </xts:append>
  302. </xsl:if>
  303. <xts:delete select="/root/env/param[starts-with(@name, 'checkbox_')]"/>
  304. </xsl:when>
  305. </xsl:choose>
  306. </xts:sequence>
  307. </xsl:template>
  308. </xsl:stylesheet>
  309. </xts:block>
  310. <!--
  311. ===============================================================================================
  312. getParentContent - get our parent data from Content Manager
  313. ===============================================================================================
  314. -->
  315. <xts:block id="getParentContent" processor="XSLT" type="exec" condition=".[/root/env/param[starts-with(@name, 'reset_')] and /root/env/param[@name='m_class'] !='configuration']" mandatory="false" dependency="getConfig set_session_sort pagerCtrlCommand">
  316. <xts:logicsheet path="logicsheets/buslogic.xslt"/>
  317. <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/">
  318. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  319. <xsl:template match="/">
  320. <xts:sequence>
  321. <xts:append>
  322. <parent>
  323. <xts:transform src="transforms/portal/config/post-process.xslt" processor="XSLT">
  324. <results>
  325. <parentInfo>true</parentInfo>
  326. <sortkey>
  327. <xsl:value-of select="/root/session/param[@name='s_set']"/>
  328. </sortkey>
  329. <xts:queryNode select="/root/config"/>
  330. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  331. <send:request provider="cm">
  332. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  333. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  334. <cm:search>
  335. <xsl:value-of select="concat(/root/env/param[@name='m_obj'], '/..')"/>
  336. </cm:search>
  337. <cm:properties>
  338. <xsl:for-each select="/root/config/section/parameter">
  339. <cm:property>
  340. <xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
  341. </cm:property>
  342. </xsl:for-each>
  343. </cm:properties>
  344. <cm:options schemaInfo="true"/>
  345. </cm:query>
  346. </xts:transform>
  347. </send:request>
  348. </xts:transform>
  349. </results>
  350. </xts:transform>
  351. </parent>
  352. </xts:append>
  353. </xts:sequence>
  354. </xsl:template>
  355. </xsl:stylesheet>
  356. </xts:block>
  357. <!--
  358. ===============================================================================================
  359. renderPage - render the HTML page
  360. ===============================================================================================
  361. -->
  362. <xts:block id="renderPage" mode="output" processor="XSLT" type="exec" mimeType="text/html" dependency="pagerCtrlCommand getParentContent appendParam formlogic_init getTabs">
  363. <xts:logicsheet path="logicsheets/portal.xsl"/>
  364. <!-- get the ContentManager logic sheet -->
  365. <xts:logicsheet path="logicsheets/cm-logic.xsl"/>
  366. <!-- Dialog specific logicsheets -->
  367. <xts:logicsheet path="logicsheets/presentation/dialog/templates.xsl"/>
  368. <xts:logicsheet path="logicsheets/presentation/dialog/framework.xsl"/>
  369. <xts:logicsheet path="logicsheets/presentation/layout.xsl"/>
  370. <xts:logicsheet path="logicsheets/presentation/dialog/presentation.xsl"/>
  371. <xts:logicsheet path="logicsheets/presentation/controls/framework.xsl"/>
  372. <xts:logicsheet path="logicsheets/presentation/controls/presentation.xsl"/>
  373. <xts:logicsheet path="logicsheets/presentation/dialog/confirm.xslt"/>
  374. <!-- apply the form logic -->
  375. <xts:logicsheet path="logicsheets/propertiesSettings/durationProperty.xslt"/>
  376. <xts:logicsheet path="logicsheets/formlogic.xslt"/>
  377. <xts:logicsheet path="logicsheets/validation.xslt"/>
  378. <xts:logicsheet path="logicsheets/presentation/touch_up.xslt"/>
  379. <xsl:stylesheet version="1.0"
  380. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  381. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  382. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  383. xmlns:psdp="http://developer.cognos.com/schemas/xts/logicsheet/xslt/propertiesSettings/durationProperty/"
  384. xmlns:lyt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/layout/"
  385. xmlns:dp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/presentation/"
  386. xmlns:df="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/framework/"
  387. xmlns:dc="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/confirm/1/"
  388. xmlns:cf="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/framework/"
  389. xmlns:cp="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/controls/presentation/"
  390. xmlns:thm="http://developer.cognos.com/schemas/xts/logicsheets/xslt/theme/"
  391. xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/"
  392. xmlns:utml="http://developer.cognos.com/schemas/xts/logicsheet/xslt/formlogic/"
  393. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  394. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  395. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  396. xmlns:dt="http://developer.cognos.com/schemas/xts/logicsheets/xslt/presentation/dialog/templates/"
  397. exclude-result-prefixes="xsl cm cml thm utml send xtsext cf cp dc dt df dp lyt pf xts">
  398. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  399. <!-- current file name -->
  400. <xsl:variable name="mname" select="'properties_settings.xts'"/>
  401. <xsl:variable name="edit-form" select="'pform'"/>
  402. <xsl:variable name="promptLocale" select="$productLocale"/>
  403. <xsl:variable name="promptFormName" select="$edit-form"/>
  404. <xsl:variable name="promptBrowserMode">
  405. <xsl:choose>
  406. <xsl:when test="$browser = 'ie' ">IE5</xsl:when>
  407. <xsl:when test="$browser = 'moz' ">NS6</xsl:when>
  408. <xsl:when test="$browser = 'safari' ">safari</xsl:when>
  409. <xsl:otherwise>NS4</xsl:otherwise>
  410. </xsl:choose>
  411. </xsl:variable>
  412. <xsl:variable name="skin" select="key('user-param', 'skin')"/>
  413. <pf:variables/>
  414. <psdp:durationConvertors/>
  415. <xsl:key name="category-labels" match="/root/*[local-name()='config']/*[local-name()='section']" use="@name"/>
  416. <xsl:key name="valid-categories" match="/root/cm:queryResponse/cm:queryReply/*/*" use="@category"/>
  417. <xsl:include href="p_include.xsl"/>
  418. <!-- back-url must be defined, but not used -->
  419. <xsl:variable name="back-url" select="''"/>
  420. <!-- start the output -->
  421. <xsl:template match="/root">
  422. <xsl:variable name="browserTitle"><xts:string id="IDS_PROPERTIES_TITLE"><xts:param name="objectName"><span lang="{$contentLocale}"><xsl:value-of select="/root/cm:queryResponse/cm:queryReply[position()=last()]/*/cm:defaultName"/></span></xts:param></xts:string></xsl:variable>
  423. <xsl:variable name="filter">
  424. <xsl:choose>
  425. <xsl:when test="key('env-param', 's_filter')">
  426. <xsl:value-of select="key('env-param', 's_filter')"/>
  427. </xsl:when>
  428. <xsl:otherwise>_all_</xsl:otherwise>
  429. </xsl:choose>
  430. </xsl:variable>
  431. <xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html></xsl:text><dp:page longTitle="$browserTitle">
  432. <dp:meta>
  433. <pf:meta/> <!-- Standard meta tags -->
  434. </dp:meta>
  435. <dp:script>
  436. <pf:help context="HID_SERVERS_CONFIGURE"/> <!-- Help system -->
  437. <!-- Define selectall and deselectall functions.-->
  438. <dt:selectDeselectAll/>
  439. <xsl:call-template name="getPromptCommonIncludes"/>
  440. <xsl:call-template name="gettextBoxIncludes">
  441. <xsl:with-param name="promptLocale" select="$promptLocale"/>
  442. <xsl:with-param name="promptContentLocale" select="$contentLocale"/>
  443. </xsl:call-template>
  444. <dt:FloatTextBoxJavaScript/>
  445. <script language="javascript">
  446. <!-- when reseting to default or parent value, need to clear the fields in case there are invalide
  447. value which would cause a caf error - Trakker 486550 -->
  448. function clearSelectedFields()
  449. {
  450. var form = document.pform;
  451. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[not(local-name()='permissions') and not(local-name()='objectClass') and (@category=$filter or '_all_'=$filter)]">
  452. <xsl:variable name="acquire">
  453. <xsl:choose>
  454. <xsl:when test="@acquired = 'true'">a</xsl:when>
  455. <xsl:otherwise>n</xsl:otherwise>
  456. </xsl:choose>
  457. </xsl:variable>
  458. e = form.m_pc_<xsl:value-of select="xtsext:javascriptencode(string(concat($acquire, '_', local-name())))"/>;
  459. var floatDisplayBoxName = getDisplayBoxName(form,e);
  460. var guiType = '<xsl:value-of select="@guiType"/>';
  461. <!-- only need to clear the text inputs on the current page -->
  462. if (e != null &amp;&amp; (e.type == 'text' || (floatDisplayBoxName != null &amp;&amp; form.elements[floatDisplayBoxName].type == 'text')))
  463. {
  464. <!-- is the associated checkbox checked? -->
  465. if (form.checkbox_<xsl:value-of select="position()"/> &amp;&amp; form.checkbox_<xsl:value-of select="position()"/>.checked)
  466. {
  467. e.value = '';
  468. if (floatDisplayBoxName != null)
  469. {
  470. form.elements[floatDisplayBoxName].value = '';
  471. }
  472. }
  473. }
  474. <!-- Check for brsChartHotspotLimit and rsChartHotspotLimit which are of type guiType -->
  475. else if (e != null &amp;&amp; guiType == 'nilInt' &amp;&amp; e.type == 'hidden')
  476. {
  477. if (form.checkbox_<xsl:value-of select="position()"/> &amp;&amp; form.checkbox_<xsl:value-of select="position()"/>.checked)
  478. {
  479. var displayBox;
  480. var name = '<xsl:value-of select="xtsext:javascriptencode(string(concat($acquire, '_', local-name())))"/>';
  481. var defaultValue = '<xsl:value-of select="xtsext:javascriptencode(string(@default))"/>';
  482. e.value = defaultValue;
  483. displayBox = form.elements['editField_m_pc_' + name];
  484. if (displayBox != null &amp;&amp; defaultValue!='') {
  485. displayBox.value = defaultValue;
  486. }
  487. }
  488. }
  489. </xsl:for-each>
  490. }
  491. function validate()
  492. {
  493. var form = document.pform;
  494. if (form == null)
  495. return true;
  496. if (form.listop.value == 'reset')
  497. {
  498. var i;
  499. var items = form.elements.length;
  500. for (i=0; i&lt;items; i++)
  501. {
  502. var e = form.elements[i];
  503. if ((e.name.substring(0,9) == "checkbox_") &amp;&amp; e.checked)
  504. break;
  505. }
  506. if (i >= items)
  507. {
  508. window.alert("<xts:string id="IDS_ERR_NO_SELECTION" encode="javascript"/>");
  509. form.listop.value = '';
  510. return false;
  511. }
  512. <!-- we need to validate all the fields that aren't selected -->
  513. if(!doValidation(false))
  514. return false;
  515. <!-- clear all the select text fields to avoid CAF errors -->
  516. clearSelectedFields();
  517. return true;
  518. }
  519. else
  520. {
  521. return doValidation(true);
  522. }
  523. }
  524. function doValidation(checkSelected)
  525. {
  526. var form = document.pform;
  527. var e;
  528. var eFocus;
  529. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[not(local-name()='permissions') and not(local-name()='objectClass') and (@category=$filter or '_all_'=$filter)]">
  530. <xsl:variable name="acquire">
  531. <xsl:choose>
  532. <xsl:when test="@acquired = 'true'">a</xsl:when>
  533. <xsl:otherwise>n</xsl:otherwise>
  534. </xsl:choose>
  535. </xsl:variable>
  536. e = form.m_pc_<xsl:value-of select="xtsext:javascriptencode(string(concat($acquire, '_', local-name())))"/>;
  537. if (!e) {
  538. e = form.dura_property_<xsl:value-of select="xtsext:javascriptencode(string(concat($acquire, '_', local-name())))"/>;
  539. }
  540. var guiType = '<xsl:value-of select="@guiType"/>';
  541. var floatDisplayBoxName = getDisplayBoxName(form,e);
  542. <!-- only validate the form variables for the current page in the pager. -->
  543. if (e != null &amp;&amp; ((e.type == 'hidden' &amp;&amp; guiType == 'nilInt') || e.type != 'hidden' || (floatDisplayBoxName != null &amp;&amp; form.elements[floatDisplayBoxName].type != 'hidden')))
  544. {
  545. if (guiType == 'nilInt' &amp;&amp; e.type == 'hidden') {
  546. var name = '<xsl:value-of select="xtsext:javascriptencode(string(concat($acquire, '_', local-name())))"/>';
  547. eFocus = form.elements['editField_m_pc_' + name];
  548. if (eFocus == null) {
  549. eFocus = e;
  550. }
  551. }
  552. else
  553. {
  554. eFocus = e;
  555. }
  556. <!-- is the associated checkbox checked, and if yes should we be validating it? -->
  557. if (form.checkbox_<xsl:value-of select="position()"/> &amp;&amp; (checkSelected || !form.checkbox_<xsl:value-of select="position()"/>.checked))
  558. {
  559. <!-- cm:baseClassArrayProp and cm:anyTypeProp are not supported -->
  560. <!-- if a length restriction was specified -->
  561. <xsl:if test="@length or @minLength or @maxLength">
  562. if (validate_length(e,'<xsl:value-of select="@length"/>','<xsl:value-of select="@minLength"/>','<xsl:value-of select="@maxLength"/>', eFocus) == false)
  563. return false;
  564. </xsl:if>
  565. <xsl:choose>
  566. <!-- if a min or max restriction was specified -->
  567. <xsl:when test="@minInclusive != '' or @minExclusive != '' or @maxInclusive != '' or @maxExclusive != ''">
  568. if (validate_min_max(e,
  569. <xsl:choose>
  570. <xsl:when test="@minInclusive != ''">
  571. <xsl:value-of select="@minInclusive"/>
  572. <xsl:text>,null,</xsl:text>
  573. </xsl:when>
  574. <xsl:when test="@minExclusive != ''">
  575. <xsl:text>null,</xsl:text>
  576. <xsl:value-of select="@minExclusive"/>
  577. <xsl:text>,</xsl:text>
  578. </xsl:when>
  579. <xsl:otherwise>
  580. <xsl:text>null,null,</xsl:text>
  581. </xsl:otherwise>
  582. </xsl:choose>
  583. <xsl:choose>
  584. <xsl:when test="@maxInclusive != ''">
  585. <xsl:value-of select="@maxInclusive"/>
  586. <xsl:text>,null</xsl:text>
  587. </xsl:when>
  588. <xsl:when test="@maxExclusive != ''">
  589. <xsl:text>null,</xsl:text>
  590. <xsl:value-of select="@maxExclusive"/>
  591. </xsl:when>
  592. <xsl:otherwise>null,null</xsl:otherwise>
  593. </xsl:choose>
  594. <xsl:choose>
  595. <xsl:when test="contains(' nonNegativeIntegerProp positiveIntegerProp floatProp intProp durationProp ', concat(' ', substring-after(@type,':'), ' '))">
  596. <xsl:text>,'</xsl:text>
  597. <xsl:value-of select="substring-after(@type,':')"/>
  598. <xsl:text>'</xsl:text>
  599. </xsl:when>
  600. <xsl:otherwise>
  601. <xsl:text>,null</xsl:text>
  602. </xsl:otherwise>
  603. </xsl:choose>
  604. <xsl:choose>
  605. <xsl:when test="@guiType = 'nilInt'">
  606. <xsl:text>,'</xsl:text>
  607. <xsl:value-of select="@guiType"/>
  608. <xsl:text>'</xsl:text>
  609. </xsl:when>
  610. <xsl:otherwise>
  611. <xsl:text>,null</xsl:text>
  612. </xsl:otherwise>
  613. </xsl:choose>
  614. <xsl:text>,
  615. eFocus)==false)</xsl:text>
  616. return false;
  617. </xsl:when>
  618. <xsl:otherwise>
  619. if (validate_max_range(e <xsl:text>,'</xsl:text><xsl:value-of select="substring-after(@type,':')"/><xsl:text>'</xsl:text>
  620. <xsl:choose>
  621. <xsl:when test="@guiType = 'nilInt'">
  622. <xsl:text>,'</xsl:text>
  623. <xsl:value-of select="@guiType"/>
  624. <xsl:text>'</xsl:text>
  625. </xsl:when>
  626. <xsl:otherwise>
  627. <xsl:text>,null</xsl:text>
  628. </xsl:otherwise>
  629. </xsl:choose>
  630. <xsl:text>,
  631. eFocus)==false)</xsl:text>
  632. return false;
  633. </xsl:otherwise>
  634. </xsl:choose>
  635. <!-- no validation on type string and boolean -->
  636. <xsl:if test="contains(' nonNegativeIntegerProp positiveIntegerProp floatProp intProp anyURIProp nmtokenProp durationProp ', concat(' ', substring-after(@type,':'), ' '))">
  637. <xsl:choose>
  638. <xsl:when test="@guiType != ''">
  639. if (validate_<xsl:value-of select="@guiType"/>(e, eFocus) == false)
  640. return false;
  641. </xsl:when>
  642. <xsl:otherwise>
  643. <xsl:choose>
  644. <xsl:when test="not (@mandatory = 'true')">
  645. <!-- for non-mandatory field, the blank value should be allowed -->
  646. if (e.value != '') {
  647. if (validate_<xsl:value-of select="substring-after(@type,':')"/>(e, eFocus) == false)
  648. return false;
  649. }
  650. </xsl:when>
  651. <xsl:otherwise>
  652. if (validate_<xsl:value-of select="substring-after(@type,':')"/>(e, eFocus) == false)
  653. return false;
  654. </xsl:otherwise>
  655. </xsl:choose>
  656. </xsl:otherwise>
  657. </xsl:choose>
  658. </xsl:if>
  659. }
  660. }
  661. </xsl:for-each>
  662. return true;
  663. }
  664. function setFocus(e)
  665. {
  666. var form=document.pform;
  667. var floatDisplayBoxName = getDisplayBoxName(form,e);
  668. if (floatDisplayBoxName != null)
  669. {
  670. form.elements[floatDisplayBoxName].focus();
  671. }
  672. else
  673. {
  674. e.focus();
  675. }
  676. }
  677. function validate_nilInt (e, eFocus) {
  678. if (e.value == '')
  679. return true;
  680. if (e.value &lt; 0 || isNaN(e.value) || parseInt(e.value, 10) != e.value)
  681. {
  682. window.alert("<xts:string id="IDS_ERR_NON_NEGATIVE" encode="javascript"/>");
  683. setFocus(eFocus);
  684. return false;
  685. }
  686. e.value = parseInt(e.value, 10);
  687. }
  688. <!-- Check to make sure that the value is between min and max -->
  689. function validate_min_max(e, minInc, minExc, maxInc, maxExc, type, guiType, eFocus)
  690. {
  691. if (guiType == 'nilInt' &amp;&amp; e.value == '')
  692. {
  693. return true;
  694. }
  695. var valueType;
  696. if (type == 'nonNegativeIntegerProp' || type == 'positiveIntegerProp' || type == 'intProp' || type == 'durationProp')
  697. valueType = 'int';
  698. else
  699. valueType = 'float';
  700. var validValue = true;
  701. if (valueType == 'int' &amp;&amp; ( isNaN(e.value) || parseInt(e.value, 10) != e.value))
  702. validValue = false;
  703. else if (valueType == 'float' &amp;&amp; (isNaN(e.value) || parseFloat(e.value) != e.value))
  704. validValue = false;
  705. <!-- if no max values are supplied for int types, then hardcode to max java int value -->
  706. var generateDataTypeMsg = false;
  707. if (valueType == 'int' &amp;&amp; maxInc==null &amp;&amp; maxExc==null)
  708. {
  709. var max = '<xsl:value-of select="key('system-param', 'integerMaximumValue')"/>';
  710. maxInc = max - 0 ; //Default value such as 2147483647;
  711. generateDataTypeMsg = true;
  712. }
  713. var MSG_DATATYPE_OUT_OF_RANGE = "<xts:string id="IDS_ERR_MAX_INT_01" encode="javascript"><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  714. if (minInc!=null)
  715. {
  716. if (maxInc)
  717. {
  718. if (e.value &lt; minInc || e.value &gt; maxInc || !validValue)
  719. {
  720. var MSG_MIN_MAX_INT_04 = "<xts:string id="IDS_ERR_MIN_MAX_INT_04" encode="javascript"><xts:param name="min">" + minInc + "</xts:param><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  721. var MSG_MIN_MAX_FLOAT_04 = "<xts:string id="IDS_ERR_MIN_MAX_FLOAT_04" encode="javascript"><xts:param name="min">" + minInc + "</xts:param><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  722. if (valueType=='int' &amp;&amp; generateDataTypeMsg == true)
  723. window.alert(MSG_DATATYPE_OUT_OF_RANGE);
  724. else if (valueType=='int' &amp;&amp; generateDataTypeMsg == false)
  725. window.alert(MSG_MIN_MAX_INT_04);
  726. else
  727. window.alert(MSG_MIN_MAX_FLOAT_04);
  728. setFocus(eFocus);
  729. return false;
  730. }
  731. }
  732. else if (maxExc)
  733. {
  734. if (e.value &lt; minInc || e.value &gt;= maxExc || !validValue)
  735. {
  736. var MSG_MIN_MAX_INT_02 = "<xts:string id="IDS_ERR_MIN_MAX_INT_02" encode="javascript"><xts:param name="min">" + minInc + "</xts:param><xts:param name="max">" + maxExc + "</xts:param></xts:string>";
  737. var MSG_MIN_MAX_FLOAT_02 = "<xts:string id="IDS_ERR_MIN_MAX_FLOAT_02" encode="javascript"><xts:param name="min">" + minInc + "</xts:param><xts:param name="max">" + maxExc + "</xts:param></xts:string>";
  738. if (valueType=='int')
  739. window.alert(MSG_MIN_MAX_INT_02);
  740. else
  741. window.alert(MSG_MIN_MAX_FLOAT_02);
  742. setFocus(eFocus);
  743. return false;
  744. }
  745. }
  746. else if (e.value &lt; minInc || !validValue)
  747. {
  748. var MSG_MIN_INT_01 = "<xts:string id="IDS_ERR_MIN_INT_01" encode="javascript"><xts:param name="min">" + minInc + "</xts:param></xts:string>";
  749. var MSG_MIN_FLOAT_01 = "<xts:string id="IDS_ERR_MIN_FLOAT_01" encode="javascript"><xts:param name="min">" + minInc + "</xts:param></xts:string>";
  750. if (valueType=='int')
  751. window.alert(MSG_MIN_INT_01);
  752. else
  753. window.alert(MSG_MIN_FLOAT_01);
  754. setFocus(eFocus);
  755. return false;
  756. }
  757. }
  758. else if (minExc!=null)
  759. {
  760. if (maxInc)
  761. {
  762. if (e.value &lt;= minExc || e.value &gt; maxInc || !validValue)
  763. {
  764. var MSG_MIN_MAX_INT_03 = "<xts:string id="IDS_ERR_MIN_MAX_INT_03" encode="javascript"><xts:param name="min">" + minExc + "</xts:param><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  765. var MSG_MIN_MAX_FLOAT_03 = "<xts:string id="IDS_ERR_MIN_MAX_FLOAT_03" encode="javascript"><xts:param name="min">" + minExc + "</xts:param><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  766. if (valueType=='int' &amp;&amp; generateDataTypeMsg == true)
  767. window.alert(MSG_DATATYPE_OUT_OF_RANGE);
  768. else if (valueType=='int' &amp;&amp; generateDataTypeMsg == false)
  769. window.alert(MSG_MIN_MAX_INT_03);
  770. else
  771. window.alert(MSG_MIN_MAX_FLOAT_03);
  772. setFocus(eFocus);
  773. return false;
  774. }
  775. }
  776. else if (maxExc)
  777. {
  778. if (e.value &lt;= minExc || e.value &gt;= maxExc || !validValue)
  779. {
  780. var MSG_MIN_MAX_INT_01 = "<xts:string id="IDS_ERR_MIN_MAX_INT_01" encode="javascript"><xts:param name="min">" + minExc + "</xts:param><xts:param name="max">" + maxExc + "</xts:param></xts:string>";
  781. var MSG_MIN_MAX_FLOAT_01 = "<xts:string id="IDS_ERR_MIN_MAX_FLOAT_01" encode="javascript"><xts:param name="min">" + minExc + "</xts:param><xts:param name="max">" + maxExc + "</xts:param></xts:string>";
  782. if (valueType=='int')
  783. window.alert(MSG_MIN_MAX_INT_01);
  784. else
  785. window.alert(MSG_MIN_MAX_FLOAT_01);
  786. setFocus(eFocus);
  787. return false;
  788. }
  789. }
  790. else if (e.value &lt;= minExc || !validValue)
  791. {
  792. var MSG_MIN_INT_02 = "<xts:string id="IDS_ERR_MIN_INT_02" encode="javascript"><xts:param name="min">" + minExc + "</xts:param></xts:string>";
  793. var MSG_MIN_FLOAT_04 = "<xts:string id="IDS_ERR_MIN_FLOAT_02" encode="javascript"><xts:param name="min">" + minExc + "</xts:param></xts:string>";
  794. if (valueType=='int')
  795. window.alert(MSG_MIN_INT_02);
  796. else
  797. window.alert(MSG_MIN_FLOAT_04);
  798. setFocus(eFocus);
  799. return false;
  800. }
  801. }
  802. else if (maxInc != null &amp;&amp; (e.value &gt; maxInc || !validValue))
  803. {
  804. var MSG_MAX_INT_01 = "<xts:string id="IDS_ERR_MAX_INT_01" encode="javascript"><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  805. var MSG_MAX_FLOAT_01 = "<xts:string id="IDS_ERR_MAX_FLOAT_01" encode="javascript"><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  806. if (valueType=='int' &amp;&amp; generateDataTypeMsg == true)
  807. window.alert(MSG_DATATYPE_OUT_OF_RANGE);
  808. if (valueType=='int' &amp;&amp; generateDataTypeMsg == false)
  809. window.alert(MSG_MAX_INT_01);
  810. else
  811. window.alert(MSG_MAX_FLOAT_01);
  812. setFocus(eFocus);
  813. return false;
  814. }
  815. else if (maxExc != null &amp;&amp; (e.value &gt;= maxExc || !validValue))
  816. {
  817. var MSG_MAX_INT_02 = "<xts:string id="IDS_ERR_MAX_INT_02" encode="javascript"><xts:param name="max">" + maxExc + "</xts:param></xts:string>";
  818. var MSG_MAX_FLOAT_02 = "<xts:string id="IDS_ERR_MAX_FLOAT_02" encode="javascript"><xts:param name="max">" + maxExc + "</xts:param></xts:string>";
  819. if (valueType=='int')
  820. window.alert(MSG_MAX_INT_02);
  821. else
  822. window.alert(MSG_MAX_FLOAT_02);
  823. setFocus(eFocus);
  824. return false;
  825. }
  826. }
  827. <!-- Check to make sure that the value is between min and max -->
  828. function validate_max_range(e, type, guiType, eFocus)
  829. {
  830. if (guiType == 'nilInt' &amp;&amp; e.value == '')
  831. {
  832. return true;
  833. }
  834. var valueType;
  835. if (type == 'nonNegativeIntegerProp' || type == 'positiveIntegerProp' || type == 'intProp')
  836. valueType = 'int';
  837. else
  838. valueType = 'float';
  839. var validValue = true;
  840. if (valueType == 'int' &amp;&amp; ( isNaN(e.value) || parseInt(e.value, 10) != e.value))
  841. validValue = false;
  842. else if (valueType == 'float' &amp;&amp; (isNaN(e.value) || parseFloat(e.value) != e.value))
  843. validValue = false;
  844. <!-- if no max values are supplied for int types, then hardcode to max java int value -->
  845. var generateDataTypeMsg = false;
  846. var maxInc = 0;
  847. if (valueType == 'int')
  848. {
  849. var max = '<xsl:value-of select="key('system-param', 'integerMaximumValue')"/>';
  850. maxInc = max - 0 ; //Default value such as 2147483647;
  851. generateDataTypeMsg = true;
  852. }
  853. var MSG_DATATYPE_OUT_OF_RANGE = "<xts:string id="IDS_ERR_MAX_INT_01" encode="javascript"><xts:param name="max">" + maxInc + "</xts:param></xts:string>";
  854. if (maxInc != null &amp;&amp; e.value &gt; maxInc)
  855. {
  856. if (valueType=='int') {
  857. window.alert(MSG_DATATYPE_OUT_OF_RANGE);
  858. setFocus(eFocus);
  859. return false;
  860. }
  861. }
  862. }
  863. <!-- Checks all the length constraints and displays an appropriate error message -->
  864. function validate_length(e, length, minLength, maxLength, eFocus)
  865. {
  866. if (length != '' &amp;&amp; e.value.length != length)
  867. {
  868. var MSG_LENGTH = "<xts:string id="IDS_ERR_LENGTH" encode="javascript"><xts:param name="length">" + length + "</xts:param></xts:string>";
  869. window.alert(MSG_LENGTH);
  870. setFocus(eFocus);
  871. return false;
  872. }
  873. if ((minLength != '' &amp;&amp; maxLength != '') &amp;&amp; (e.value.length &lt; minLength || e.value.length &gt; maxLength))
  874. {
  875. var msgMaxLength = 1 + parseInt(maxLength);
  876. var MSG_MIN_MAX_LENGTH = "<xts:string id="IDS_ERR_MIN_MAX_LENGTH" encode="javascript"><xts:param name="minLength">" + minLength-1 + "</xts:param><xts:param name="maxLength">" + msgMaxLength + "</xts:param></xts:string>";
  877. window.alert(MSG_MIN_MAX_LENGTH);
  878. setFocus(eFocus);
  879. return false;
  880. }
  881. else if (minLength != '' &amp;&amp; e.value.length &lt; minLength)
  882. {
  883. var MSG_MIN_LENGTH = "<xts:string id="IDS_ERR_MIN_LENGTH" encode="javascript"><xts:param name="minLength">" + minLength-1 + "</xts:param></xts:string>";
  884. window.alert(MSG_MIN_LENGTH);
  885. setFocus(eFocus);
  886. return false;
  887. }
  888. else if (maxLength != '' &amp;&amp; e.value.length &gt; maxLength)
  889. {
  890. var msgMaxLength = maxLength;
  891. var MSG_MAX_LENGTH = "<xts:string id="IDS_ERR_MAX_LENGTH" encode="javascript"><xts:param name="maxLength">" + msgMaxLength + "</xts:param></xts:string>";
  892. window.alert(MSG_MAX_LENGTH);
  893. setFocus(eFocus);
  894. return false;
  895. }
  896. }
  897. <!-- Make sure the value is a positive integer (1,2,...) -->
  898. function validate_positiveIntegerProp(e, eFocus)
  899. {
  900. if (e.value &lt; 1 || isNaN(e.value) || parseInt(e.value, 10) != e.value)
  901. {
  902. window.alert("<xts:string id="IDS_ERR_POSITIVE" encode="javascript"/>");
  903. eFocus.focus();
  904. return false;
  905. }
  906. e.value = parseInt(e.value, 10);
  907. }
  908. <!-- Make sure the value is a nonnegative integer (0,1,2,...) -->
  909. function validate_nonNegativeIntegerProp(e, eFocus)
  910. {
  911. if (e.value &lt; 0 || isNaN(e.value) || parseInt(e.value, 10) != e.value)
  912. {
  913. window.alert("<xts:string id="IDS_ERR_NON_NEGATIVE" encode="javascript"/>");
  914. eFocus.focus();
  915. return false;
  916. }
  917. e.value = parseInt(e.value, 10);
  918. }
  919. <!-- Make sure the value is a valid int -->
  920. function validate_intProp(e, eFocus)
  921. {
  922. if ( isNaN(e.value) || parseInt(e.value, 10) != e.value)
  923. {
  924. window.alert("<xts:string id="IDS_ERR_INT" encode="javascript"/>");
  925. eFocus.focus();
  926. return false;
  927. }
  928. e.value = parseInt(e.value, 10);
  929. }
  930. <!-- Make sure the value is a valid duration -->
  931. function validate_durationProp(e, eFocus)
  932. {
  933. return validate_intProp(e, eFocus); //same rules as int
  934. }
  935. <!-- Make sure the value is a valid float -->
  936. function validate_floatProp(e, eFocus)
  937. {
  938. if (isNaN(e.value) || parseFloat(e.value) != e.value)
  939. {
  940. window.alert("<xts:string id="IDS_ERR_FLOAT" encode="javascript"/>");
  941. setFocus(eFocus);
  942. return false;
  943. }
  944. e.value = parseFloat(e.value);
  945. }
  946. <!-- Do a few fundamental validation checks on the URI
  947. Note that it may be relative or absolute; IPv4 or IPv6 -->
  948. function validate_anyURIProp(e, eFocus)
  949. {
  950. var uri = new String(e.value);
  951. var ERR_MSG = "<xts:string id="IDS_ERR_URI" encode="javascript"/>";
  952. <!-- No spaces -->
  953. if (uri.search(/ /) == 1) {
  954. window.alert(ERR_MSG);
  955. setFocus(eFocus);
  956. return false;
  957. }
  958. <!-- Anything after the protocol should be non-empty -->
  959. var idx = uri.search("://");
  960. if (idx != -1) {
  961. if (uri.substring(idx+3).length == 0) {
  962. window.alert(ERR_MSG);
  963. setFocus(eFocus);
  964. return false;
  965. }
  966. }
  967. }
  968. <!-- Make sure the value is a valid nmtoken, i.e. there are no space in the string. -->
  969. function validate_nmtokenProp(e, eFocus)
  970. {
  971. var nm = new String(e.value);
  972. <!-- Make sure there are no space -->
  973. if (nm.search(/ /) != -1)
  974. {
  975. window.alert("<xts:string id="IDS_ERR_NMTOKEN" encode="javascript"/>");
  976. setFocus(eFocus);
  977. return false;
  978. }
  979. }
  980. </script>
  981. <dc:confirm-cancel/>
  982. </dp:script>
  983. <xsl:variable name="the-object" select="cm:queryResponse/cm:queryReply[1]/*[position()=1]"/>
  984. <xsl:variable name="the-objectClass" select="$the-object/cm:objectClass"/>
  985. <xsl:variable name="has_write_permission" select="contains(concat(' ', $the-object/cm:permissions, ' '), ' write ')"/>
  986. <xsl:variable name="has_policy_permission" select="contains(concat(' ', $the-object/cm:permissions, ' '), ' setPolicy ')"/>
  987. <xsl:variable name="showOKCancel" select="$has_write_permission or $has_policy_permission"/>
  988. <xsl:variable name="is_root_config" select="local-name($the-object)='configuration'"/>
  989. <utml:form name="pform" method="post" action="{$gateway}">
  990. <utml:read-only>
  991. <xsl:choose>
  992. <xsl:when test="$has_write_permission = true()">
  993. <xsl:text>false</xsl:text>
  994. </xsl:when>
  995. <xsl:otherwise>
  996. <xsl:text>true</xsl:text>
  997. </xsl:otherwise>
  998. </xsl:choose>
  999. </utml:read-only>
  1000. <utml:exclusion-list>
  1001. <xsl:variable name="start-line">
  1002. <xsl:choose>
  1003. <xsl:when test="key('env-param', 'm_section')!=''">
  1004. <xsl:value-of select="key('env-param', 'm_section')"/>
  1005. </xsl:when>
  1006. <xsl:when test="key('env-param','m_pagerfrom')!=''">
  1007. <xsl:value-of select="key('env-param','m_pagerfrom')"/>
  1008. </xsl:when>
  1009. <xsl:otherwise>1</xsl:otherwise>
  1010. </xsl:choose>
  1011. </xsl:variable>
  1012. <xsl:variable name="end-line">
  1013. <xsl:choose>
  1014. <xsl:when test="key('env-param','m_pagerto')!=''">
  1015. <xsl:value-of select="key('env-param','m_pagerto')"/>
  1016. </xsl:when>
  1017. <xsl:otherwise>
  1018. <xsl:value-of select="$start-line + key('session-param', 'linesPerPage') - 1"/>
  1019. </xsl:otherwise>
  1020. </xsl:choose>
  1021. </xsl:variable>
  1022. <xsl:for-each select="/root/cm:queryResponse/cm:queryReply[1]/node()/*[not(local-name()='permissions') and not(local-name()='objectClass') and (@category=$filter or '_all_'=$filter)][position()&gt;=$start-line and position()&lt;=$end-line]">
  1023. <xsl:variable name="acquire">
  1024. <xsl:choose>
  1025. <xsl:when test="@acquired = 'true'">a</xsl:when>
  1026. <xsl:otherwise>n</xsl:otherwise>
  1027. </xsl:choose>
  1028. </xsl:variable>
  1029. <xsl:value-of select="concat('editField_m_pc_', $acquire, '_', local-name(), ' ')"/>
  1030. <xsl:value-of select="concat('changed_editField_m_pc_', $acquire, '_', local-name(), ' ')"/>
  1031. <xsl:value-of select="concat('m_pc_', $acquire, '_', local-name(), ' ')"/>
  1032. <xsl:value-of select="concat('checkbox_', $start-line + position() - 1, ' ')"/>
  1033. <xsl:value-of select="concat('changed_m_pc_', $acquire, '_', local-name(), ' ')"/>
  1034. <xsl:value-of select="concat('changed_dura_property_a_', local-name(), ' ')"/>
  1035. <xsl:value-of select="concat('changed_dura_property_n_', local-name(), ' ')"/>
  1036. <xsl:if test="substring-after(@type,':')='durationProp'">
  1037. <xsl:value-of select="concat('dura_property_a_',local-name(), ' ')"/>
  1038. <xsl:value-of select="concat('dura_property_n_',local-name(), ' ')"/>
  1039. <xsl:value-of select="concat('durationSelect_', local-name(), ' ')"/>
  1040. <xsl:value-of select="concat('changed_durationSelect_', local-name(), ' ')"/>
  1041. <xsl:value-of select="concat('m_pc_a_', local-name(), ' ')"/>
  1042. <xsl:value-of select="concat('m_pc_n_', local-name(), ' ')"/>
  1043. </xsl:if>
  1044. <xsl:if test="substring-after(@type,':')='floatProp'">
  1045. <xsl:value-of select="concat('_FLOATDISPLAY_m_pc_', $acquire, '_', local-name(), ' ')"/>
  1046. <xsl:value-of select="concat('checkbox__FLOATDISPLAY_', $start-line + position() - 1, ' ')"/>
  1047. <xsl:value-of select="concat('changed__FLOATDISPLAY_m_pc_', $acquire, '_', local-name(), ' ')"/>
  1048. </xsl:if>
  1049. </xsl:for-each>
  1050. </utml:exclusion-list>
  1051. <utml:input type="hidden" name="m_name" utml:update="false">
  1052. <utml:value>
  1053. <xsl:value-of select="/root/cm:queryResponse/cm:queryReply[position()=last()]/*/cm:defaultName"/>
  1054. </utml:value>
  1055. </utml:input>
  1056. <utml:input type="hidden" name="ifrmcmd" value="save" utml:update="false"/>
  1057. <utml:input type="hidden" name="listop" value="" utml:update="false"/>
  1058. <utml:input type="hidden" name="m_s_set" utml:update="false">
  1059. <utml:value>
  1060. <xsl:value-of select="/root/session/param[@name='s_set']"/>
  1061. </utml:value>
  1062. </utml:input>
  1063. <!-- Render the dialog contents -->
  1064. <dp:header useBackURL="not($showOKCancel)" div="div">
  1065. <dp:title><xsl:copy-of select="$browserTitle"/></dp:title>
  1066. </dp:header>
  1067. <df:propertiesTabs select="settings">
  1068. <df:hasSetPolicy><xsl:value-of select="$has_policy_permission"/></df:hasSetPolicy>
  1069. </df:propertiesTabs>
  1070. <dp:description><xts:string id="IDS_PROP_SETTINGS_INTRO"/></dp:description>
  1071. <!-- Dialog Body -->
  1072. <lyt:layout style="1">
  1073. <lyt:section>
  1074. <dp:input>
  1075. <dp:section1>
  1076. <label for="ctrl_s_filter"><xts:string id="IDS_PROP_SETTINGS_LABEL_FILTER_ON"/></label>
  1077. </dp:section1>
  1078. <dp:section2>
  1079. <script language="javascript">
  1080. function doFilter()
  1081. {
  1082. var form = document.pform;
  1083. if (form == null)
  1084. return;
  1085. form.m.value = "portal/<xsl:value-of select="$mname"/>";
  1086. form.m_section.value = "1";
  1087. form.m_pagerto.value="<xsl:value-of select="xtsext:javascriptencode(key('session-param', 'linesPerPage'))"/>";
  1088. form.m_pagerfrom.value="1";
  1089. form.submit();
  1090. }
  1091. </script>
  1092. <!-- get the list of uniqueCategories -->
  1093. <xsl:variable name="uniqueCategories" select="/root/cm:queryResponse/cm:queryReply/*/*[generate-id(.) = generate-id(key('valid-categories',@category)) and local-name()!='permissions']/@category"/>
  1094. <utml:select size="1" name="s_filter" utml:default-value="_all_" onClick="javascript:validate();" onchange="javascript:doFilter();" id="ctrl_s_filter">
  1095. <utml:option value="_all_">
  1096. <xts:string id="IDS_PROP_SETTINGS_CATEGORY_ALL"/>
  1097. </utml:option>
  1098. <xsl:for-each select="$uniqueCategories">
  1099. <xsl:sort select="." lang="$productLocale"/>
  1100. <utml:option>
  1101. <utml:value>
  1102. <xsl:value-of select="."/>
  1103. </utml:value>
  1104. <xsl:value-of select="key('category-labels',.)/@label"/>
  1105. </utml:option>
  1106. </xsl:for-each>
  1107. </utml:select>
  1108. </dp:section2>
  1109. </dp:input>
  1110. </lyt:section>
  1111. <lyt:section>
  1112. <script language="javascript">
  1113. function doSort(column)
  1114. {
  1115. var form = document.pform;
  1116. if (form == null)
  1117. return;
  1118. e = form.m_s_set;
  1119. if (column == 'c')
  1120. {
  1121. if (e.value == 'ca')
  1122. e.value = 'cd';
  1123. else
  1124. if (e.value == 'cd')
  1125. e.value = '';
  1126. else
  1127. e.value = 'ca';
  1128. }
  1129. else
  1130. {
  1131. if (e.value == 'na')
  1132. e.value = 'nd';
  1133. else
  1134. if (e.value == 'nd')
  1135. e.value = '';
  1136. else
  1137. e.value = 'na';
  1138. }
  1139. form.submit();
  1140. }
  1141. function doEditAdvancedSettings()
  1142. {
  1143. if (validate())
  1144. {
  1145. var form = document.pform;
  1146. form.ps_nav_op.value="stack-up";
  1147. form.m.value="<xsl:value-of select="$app"/>/settings_advanced.xts";
  1148. form.submit();
  1149. }
  1150. else
  1151. return false;
  1152. }
  1153. function doEditGatewayMappings()
  1154. {
  1155. if (validate())
  1156. {
  1157. var form = document.pform;
  1158. form.ps_nav_op.value="stack-up";
  1159. form.m.value="<xsl:value-of select="$app"/>/settings_gateway_mappings.xts";
  1160. form.submit();
  1161. }
  1162. else
  1163. return false;
  1164. }
  1165. function doEdit(actionTarget){
  1166. if (validate()){
  1167. var form = document.pform;
  1168. form.ps_nav_op.value="stack-up";
  1169. form.m.value="<xsl:value-of select="$app"/>/" + actionTarget + ".xts";
  1170. form.submit();
  1171. } else {
  1172. return false;
  1173. }
  1174. }
  1175. function updateHiddenField(obj)
  1176. {
  1177. var form = document.pform;
  1178. var hiddenName = 'm_pc_' + obj.name;
  1179. document.all[hiddenName].value = obj.checked;
  1180. var changedHiddenName = 'changed_m_pc_' + obj.name;
  1181. document.all[changedHiddenName].value = obj.checked;
  1182. }
  1183. function populateHiddenField(form,name, value) {
  1184. var input = form[name];
  1185. if (!input) {
  1186. input = document.createElement("INPUT");
  1187. input.setAttribute("type","hidden");
  1188. input.setAttribute("name",name);
  1189. form.appendChild(input);
  1190. }
  1191. input.setAttribute("value",value);
  1192. }
  1193. function doEditBooleanOverrideOptions(type,label)
  1194. {
  1195. if (validate()) {
  1196. var form = document.pform;
  1197. populateHiddenField(form,'m_bool_type',type);
  1198. populateHiddenField(form,'m_bool_label',label);
  1199. form.ps_nav_op.value="stack-up";
  1200. form.m.value="<xsl:value-of select="$app"/>/settings_booleanoverride_options.xts";
  1201. form.submit();
  1202. } else {
  1203. return false;
  1204. }
  1205. }
  1206. function deleteInputs(inputName) {
  1207. var inputs = document.getElementsByName(inputName);
  1208. while (inputs.length>0) {
  1209. var input = inputs[inputs.length-1];
  1210. input.parentNode.removeChild(input);
  1211. }
  1212. }
  1213. function handleFlashCharts(obj) {
  1214. var inputs = ['m_opt_bool_flashCharts','overrideOptions_flashCharts','serviceDefaultOptions_flashCharts'];
  1215. for (var i=0;i &lt; inputs.length;i++) {
  1216. obj.checked ? deleteInputs(inputs[i]) : populateHiddenField(document.pform,inputs[i],obj.checked);
  1217. }
  1218. var resetField = 'resetroot_optionArrayProp_flashCharts';
  1219. obj.checked ? populateHiddenField(document.pform,resetField,obj.checked) : deleteInputs(resetField);
  1220. }
  1221. </script>
  1222. <script language="javascript" src="{$webcontent}/{$app}/js/list.js"/>
  1223. <script language="javascript" src="{$webcontent}/{$app}/js/dynDropDown.js"/>
  1224. <script language="javascript">
  1225. function verifyChangedValue(obj, valid)
  1226. {
  1227. if (obj) {
  1228. if (obj.value == '')
  1229. {
  1230. setHiddenValue('');
  1231. }
  1232. else if (obj.value == '<xts:string id="IDS_PROP_NUMBER_ITEM" encode="javascript"/>')
  1233. {
  1234. obj.value = getHiddenValue();
  1235. }
  1236. <!--Update the hidden utml that the value has changed.-->
  1237. updateChanged();
  1238. if (obj.value != '<xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/>')
  1239. {
  1240. obj.readOnly = false;
  1241. }
  1242. if (obj.value == '<xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/>')
  1243. {
  1244. //If the new selection is Unlimited then make it read only.
  1245. onBlurEvent(obj);
  1246. }
  1247. }
  1248. }
  1249. function onBlurEvent(obj)
  1250. {
  1251. if (obj)
  1252. {
  1253. if (obj.value == '' || obj.value == '<xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/>') {
  1254. setHiddenValue('');
  1255. obj.value = '<xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/>';
  1256. obj.readOnly = true;
  1257. } else
  1258. {
  1259. //Update the array for the entry "Number" since it can change.
  1260. //The unlimited value never changes: it is always empty value.
  1261. updateTheArray(1, obj.value);
  1262. }
  1263. }
  1264. }
  1265. </script>
  1266. <cf:main-pager-section form="pform" validate="true">
  1267. <cf:param name="target">concat($app,'/',$mname)</cf:param>
  1268. <cf:param name="item-path">/root/cm:queryResponse/cm:queryReply[1]/node()/*[not(local-name()='permissions') and not(local-name()='objectClass') and (@category=$filter or '_all_'=$filter)]</cf:param>
  1269. <cf:param name="lines-per-page">
  1270. <xsl:value-of select="key('session-param', 'linesPerPage')"/>
  1271. </cf:param>
  1272. <cf:param name="rows">
  1273. <!-- First define the columns -->
  1274. <cp:tableHeader session-name="s_set">
  1275. <cp:columnHeader toggleName="checkbox_" noLabel="true"/>
  1276. <cp:columnHeader/>
  1277. <cp:columnHeader sort="c" id="col_category">
  1278. <cp:sortHref>javascript:doSort('c')</cp:sortHref>
  1279. <xts:string id="IDS_PROP_SETTINGS_HEADING_CATEGORY"/>
  1280. </cp:columnHeader>
  1281. <cp:columnHeader width="100%" sort="n" id="col_name">
  1282. <cp:sortHref>javascript:doSort('n')</cp:sortHref>
  1283. <xts:string id="IDS_PROP_SETTINGS_HEADING_NAME"/>
  1284. </cp:columnHeader>
  1285. <cp:columnHeader>
  1286. <xts:string id="IDS_PROP_SETTINGS_HEADING_VALUE"/>
  1287. </cp:columnHeader>
  1288. <cp:columnHeader>
  1289. <xsl:choose>
  1290. <xsl:when test="$is_root_config=true()">
  1291. <xts:string id="IDS_PROP_SETTINGS_HEADING_DEFAULT"/>
  1292. </xsl:when>
  1293. <xsl:otherwise>
  1294. <xts:string id="IDS_PROP_SETTINGS_HEADING_ACQUIRED"/>
  1295. </xsl:otherwise>
  1296. </xsl:choose>
  1297. </cp:columnHeader>
  1298. </cp:tableHeader>
  1299. <!-- Then define the column contents -->
  1300. <cp:tableContent>
  1301. <xsl:variable name="entryLabel">
  1302. <xsl:choose>
  1303. <xsl:when test="@label!=''">
  1304. <xsl:value-of select="@label"/>
  1305. </xsl:when>
  1306. <xsl:otherwise>
  1307. <xsl:value-of select="local-name()"/>
  1308. </xsl:otherwise>
  1309. </xsl:choose>
  1310. </xsl:variable>
  1311. <cp:columnContent>
  1312. <utml:input type="checkbox">
  1313. <xsl:attribute name="aria-label"><xts:string id="IDS_SELECTION_FOR_PAGER_ITEM" encode="html"><xts:param name="pagerItemName"><xsl:value-of select="$entryLabel"/></xts:param></xts:string></xsl:attribute>
  1314. <utml:value>
  1315. <xsl:value-of select="name(.)"/>
  1316. </utml:value>
  1317. <utml:name>
  1318. <xsl:value-of select="concat('checkbox_', $cf__startLine + position() - 1)"/>
  1319. </utml:name>
  1320. </utml:input>
  1321. </cp:columnContent>
  1322. <cp:columnContent>
  1323. <img width="16" height="16">
  1324. <xsl:attribute name="alt"><xts:string id="IDS_PROP_SETTINGS_PARAMETER" encode="html"/></xsl:attribute>
  1325. <xsl:attribute name="src"><xsl:value-of select="concat($image_root, 'icon_parameter.gif')"/></xsl:attribute>
  1326. </img>
  1327. </cp:columnContent>
  1328. <cp:columnContent>
  1329. <xsl:variable name="group" select="@group"/>
  1330. <xsl:choose>
  1331. <xsl:when test="$group!=''">
  1332. <xsl:value-of select="$group"/>
  1333. </xsl:when>
  1334. <xsl:otherwise>
  1335. <xts:string id="IDS_PROP_SETTINGS_CATEGORY_NO_CATEGORY"/>
  1336. </xsl:otherwise>
  1337. </xsl:choose>
  1338. </cp:columnContent>
  1339. <xsl:variable name="this">
  1340. <xsl:choose>
  1341. <xsl:when test="@acquired = 'true'"><xsl:value-of select="concat('a_', local-name())"/></xsl:when>
  1342. <xsl:otherwise><xsl:value-of select="concat('n_', local-name())"/></xsl:otherwise>
  1343. </xsl:choose>
  1344. </xsl:variable>
  1345. <xsl:variable name="controlName" select="concat('m_pc_', $this)"/>
  1346. <cp:columnContent>
  1347. <span id="lbl_{$controlName}"><xsl:value-of select="$entryLabel"/></span>
  1348. </cp:columnContent>
  1349. <xsl:variable name="test-reset">
  1350. <xsl:choose>
  1351. <xsl:when test="$the-objectClass = 'configuration'">
  1352. <xsl:value-of select="concat('resetroot_', local-name())"/>
  1353. </xsl:when>
  1354. <xsl:otherwise>
  1355. <xsl:value-of select="concat('reset_', local-name())"/>
  1356. </xsl:otherwise>
  1357. </xsl:choose>
  1358. </xsl:variable>
  1359. <xsl:variable name="this-pn">
  1360. <xsl:value-of select="local-name()"/>
  1361. </xsl:variable>
  1362. <cp:columnContent>
  1363. <xsl:choose>
  1364. <!-- we must catch the enums first since the type doesn't change when there are enums -->
  1365. <xsl:when test="*[local-name()='enum']">
  1366. <xsl:variable name="defaultSelection">
  1367. <xsl:choose>
  1368. <xsl:when test="key('env-param', $test-reset)">
  1369. <xsl:choose>
  1370. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/cm:queryReply[1]/node()/*[local-name()=$this-pn]/@nil)">
  1371. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1372. </xsl:when>
  1373. <xsl:otherwise>
  1374. <xsl:value-of select="@default"/>
  1375. </xsl:otherwise>
  1376. </xsl:choose>
  1377. </xsl:when>
  1378. <xsl:when test="key('env-param', $controlName)">
  1379. <xsl:value-of select="key('env-param', $controlName)"/>
  1380. </xsl:when>
  1381. <xsl:otherwise>
  1382. <xsl:choose>
  1383. <!-- If it's read only then let's get the value first from the query -->
  1384. <xsl:when test="@modifiable='false' and *[local-name()='value']">
  1385. <xsl:value-of select="*[local-name()='value']"/>
  1386. </xsl:when>
  1387. <xsl:otherwise>
  1388. <xsl:value-of select="@default"/>
  1389. </xsl:otherwise>
  1390. </xsl:choose>
  1391. </xsl:otherwise>
  1392. </xsl:choose>
  1393. </xsl:variable>
  1394. <utml:select utml:track="true" utml:update="false" aria-labelledby="lbl_{$controlName}">
  1395. <utml:default-value><xsl:value-of select="$defaultSelection"/></utml:default-value>
  1396. <utml:name>
  1397. <xsl:value-of select="$controlName"/>
  1398. </utml:name>
  1399. <utml:read-only>
  1400. <xsl:choose>
  1401. <xsl:when test="@modifiable='false'">true</xsl:when>
  1402. <xsl:otherwise>false</xsl:otherwise>
  1403. </xsl:choose>
  1404. </utml:read-only>
  1405. <xsl:for-each select="*[local-name()='enum']">
  1406. <xsl:variable name="enumValue">
  1407. <xsl:choose>
  1408. <xsl:when test="@ns != ''">
  1409. <xsl:value-of select="xtsext:javascriptencode(concat(@ns,@value))"/>
  1410. </xsl:when>
  1411. <xsl:otherwise>
  1412. <xsl:value-of select="xtsext:javascriptencode(@value)"/>
  1413. </xsl:otherwise>
  1414. </xsl:choose>
  1415. </xsl:variable>
  1416. <utml:option>
  1417. <utml:value><xsl:value-of select="$enumValue"/></utml:value>
  1418. <xsl:if test="$defaultSelection = $enumValue">
  1419. <xsl:attribute name="selected">selected</xsl:attribute>
  1420. </xsl:if>
  1421. <xsl:value-of select="@label"/>
  1422. </utml:option>
  1423. </xsl:for-each>
  1424. </utml:select>
  1425. </xsl:when>
  1426. <xsl:when test="@guiType='nilInt'">
  1427. <xsl:variable name="toolTip">
  1428. <xsl:call-template name="toolTip"/>
  1429. </xsl:variable>
  1430. <xsl:variable name="valueName">
  1431. <xsl:choose>
  1432. <xsl:when test="key('env-param', $test-reset)">
  1433. <xsl:choose>
  1434. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and (/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] != '') and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1435. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1436. </xsl:when>
  1437. <xsl:otherwise>
  1438. <xsl:choose>
  1439. <xsl:when test="@default != ''">
  1440. <xsl:value-of select="@default"/>
  1441. </xsl:when>
  1442. <xsl:otherwise><xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/></xsl:otherwise>
  1443. </xsl:choose>
  1444. </xsl:otherwise>
  1445. </xsl:choose>
  1446. </xsl:when>
  1447. <xsl:otherwise>
  1448. <xsl:choose>
  1449. <xsl:when test="/root/env/param[@name = concat('m_pc_', $this)] and (/root/env/param[@name = concat('m_pc_', $this)] != '')">
  1450. <xsl:value-of select="/root/env/param[@name = concat('m_pc_', $this)]"/>
  1451. </xsl:when>
  1452. <xsl:when test=". != ''">
  1453. <xsl:value-of select="."/>
  1454. </xsl:when>
  1455. <xsl:otherwise><xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/></xsl:otherwise>
  1456. </xsl:choose>
  1457. </xsl:otherwise>
  1458. </xsl:choose>
  1459. </xsl:variable>
  1460. <xsl:variable name="valueVal">
  1461. <xsl:choose>
  1462. <xsl:when test="key('env-param', $test-reset)">
  1463. <xsl:choose>
  1464. <xsl:when test="/root/env/param[@name = concat('m_pc_', $this)]">
  1465. <xsl:value-of select="/root/env/param[@name = concat('m_pc_', $this)]"/>
  1466. </xsl:when>
  1467. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1468. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1469. </xsl:when>
  1470. <xsl:otherwise>
  1471. <xsl:value-of select="@default"/>
  1472. </xsl:otherwise>
  1473. </xsl:choose>
  1474. </xsl:when>
  1475. <xsl:otherwise>
  1476. <xsl:choose>
  1477. <xsl:when test="/root/env/param[@name = concat('m_pc_', $this)]">
  1478. <xsl:value-of select="/root/env/param[@name = concat('m_pc_', $this)]"/>
  1479. </xsl:when>
  1480. <xsl:otherwise>
  1481. <xsl:value-of select="."/>
  1482. </xsl:otherwise>
  1483. </xsl:choose>
  1484. </xsl:otherwise>
  1485. </xsl:choose>
  1486. </xsl:variable>
  1487. <xsl:variable name="readonly">
  1488. <xsl:choose>
  1489. <xsl:when test="$valueVal = ''">true</xsl:when>
  1490. <xsl:otherwise>false</xsl:otherwise>
  1491. </xsl:choose>
  1492. </xsl:variable>
  1493. <script>
  1494. var valueArray_<xsl:value-of select="$this"/> = new Array();
  1495. var val = '<xsl:value-of select="xtsext:javascriptencode(string($valueVal))"/>';
  1496. if (val == '')
  1497. {
  1498. val = '0';
  1499. }
  1500. valueArray_<xsl:value-of select="$this"/>[0] = new Array("<xts:string id="IDS_PROP_UNLIMITED_ITEM" encode="javascript"/>", "");
  1501. valueArray_<xsl:value-of select="$this"/>[1] = new Array("<xts:string id="IDS_PROP_NUMBER_ITEM" encode="javascript"/>", val);
  1502. </script>
  1503. <xsl:choose>
  1504. <xsl:when test="key('env-param', $test-reset)">
  1505. <cf:dynamicDropDown name="concat('m_pc_', $this)" width="96" filterList="false"
  1506. selectedValue="$valueVal" selectedName="$valueName" array="concat('valueArray_', $this)"
  1507. validate="verifyChangedValue" form="pform" tooltipID="IDS_PROP_UNLIMITED_NUMBER_TIP"
  1508. useUtml="true" update="false" onblur="onBlurEvent" readonly="concat('',$readonly)" track="true" title="$toolTip" aria-labelledby="concat('lbl_',$controlName)" modifiable="@modifiable"/>
  1509. </xsl:when>
  1510. <xsl:otherwise>
  1511. <cf:dynamicDropDown name="concat('m_pc_', $this)" width="96" filterList="false"
  1512. selectedValue="$valueVal" selectedName="$valueName" array="concat('valueArray_', $this)"
  1513. validate="verifyChangedValue" form="pform" tooltipID="IDS_PROP_UNLIMITED_NUMBER_TIP"
  1514. useUtml="true" title="$toolTip" onblur="onBlurEvent" readonly="concat('',$readonly)" track="true" aria-labelledby="concat('lbl_',$controlName)" modifiable="@modifiable"/>
  1515. </xsl:otherwise>
  1516. </xsl:choose>
  1517. </xsl:when>
  1518. <xsl:when test="@type='cm:positiveIntegerProp' or @type='cm:nonNegativeIntegerProp' or @type='cm:intProp' ">
  1519. <xsl:variable name="toolTip">
  1520. <xsl:call-template name="toolTip"/>
  1521. </xsl:variable>
  1522. <xsl:choose>
  1523. <xsl:when test="key('env-param', $test-reset)">
  1524. <utml:input type="text" size="10" utml:track="true" utml:update="false" aria-labelledby="lbl_{$controlName}">
  1525. <xsl:if test="normalize-space($toolTip) != ''">
  1526. <xsl:attribute name="title"><xsl:value-of select="normalize-space($toolTip)"/></xsl:attribute>
  1527. </xsl:if>
  1528. <utml:name>
  1529. <xsl:value-of select="concat('m_pc_', $this)"/>
  1530. </utml:name>
  1531. <utml:value>
  1532. <xsl:choose>
  1533. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1534. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1535. </xsl:when>
  1536. <xsl:otherwise>
  1537. <xsl:value-of select="@default"/>
  1538. </xsl:otherwise>
  1539. </xsl:choose>
  1540. </utml:value>
  1541. <utml:read-only>
  1542. <xsl:choose>
  1543. <xsl:when test="@modifiable='false'">true</xsl:when>
  1544. <xsl:otherwise>false</xsl:otherwise>
  1545. </xsl:choose>
  1546. </utml:read-only>
  1547. </utml:input>
  1548. </xsl:when>
  1549. <xsl:otherwise>
  1550. <utml:input type="text" size="10" utml:track="true" aria-labelledby="lbl_{$controlName}">
  1551. <xsl:if test="normalize-space($toolTip) != ''">
  1552. <xsl:attribute name="title"><xsl:value-of select="normalize-space($toolTip)"/></xsl:attribute>
  1553. </xsl:if>
  1554. <utml:name>
  1555. <xsl:value-of select="concat('m_pc_', $this)"/>
  1556. </utml:name>
  1557. <utml:value>
  1558. <xsl:value-of select="."/>
  1559. </utml:value>
  1560. <utml:read-only>
  1561. <xsl:choose>
  1562. <xsl:when test="@modifiable='false'">true</xsl:when>
  1563. <xsl:otherwise>false</xsl:otherwise>
  1564. </xsl:choose>
  1565. </utml:read-only>
  1566. </utml:input>
  1567. </xsl:otherwise>
  1568. </xsl:choose>
  1569. </xsl:when>
  1570. <xsl:when test="@type='cm:floatProp'">
  1571. <xsl:variable name="toolTip">
  1572. <xsl:call-template name="toolTip"/>
  1573. </xsl:variable>
  1574. <xsl:variable name="floatParamName" select="concat('m_pc_', $this)"/>
  1575. <xsl:variable name="floatParamValue">
  1576. <xsl:choose>
  1577. <xsl:when test="key('env-param', $test-reset)">
  1578. <xsl:choose>
  1579. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1580. <xsl:value-of select="string(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn])"/>
  1581. </xsl:when>
  1582. <xsl:otherwise>
  1583. <xsl:value-of select="string(@default)"/>
  1584. </xsl:otherwise>
  1585. </xsl:choose>
  1586. </xsl:when>
  1587. <xsl:when test="key('env-param',$floatParamName) and key('env-param',$floatParamName) != ''">
  1588. <xsl:value-of select="string(key('env-param',$floatParamName))"/>
  1589. </xsl:when>
  1590. <xsl:otherwise><xsl:value-of select="string(.)"/></xsl:otherwise>
  1591. </xsl:choose>
  1592. </xsl:variable>
  1593. <xsl:call-template name="localizedFloatTextBox">
  1594. <xsl:with-param name="ariaLabelledBy" select="concat('lbl_',$controlName)"/>
  1595. <xsl:with-param name="eName" select="$floatParamName"/>
  1596. <xsl:with-param name="eValue" select="$floatParamValue"/>
  1597. <xsl:with-param name="toolTip" select="$toolTip"/>
  1598. <xsl:with-param name="readOnly">
  1599. <xsl:choose>
  1600. <xsl:when test="@modifiable='false'">true</xsl:when>
  1601. <xsl:otherwise>false</xsl:otherwise>
  1602. </xsl:choose>
  1603. </xsl:with-param>
  1604. <xsl:with-param name="utml-form-name" select="$utml-form-name"/>
  1605. <xsl:with-param name="form-read-only" select="$form-read-only"/>
  1606. </xsl:call-template>
  1607. </xsl:when>
  1608. <xsl:when test="
  1609. @type='cm:stringProp' or
  1610. @type='cm:nmtokenProp' or
  1611. @type='cm:anyURIProp'">
  1612. <xsl:choose>
  1613. <xsl:when test="key('env-param', $test-reset)">
  1614. <utml:input type="text" size="20" utml:track="true" utml:update="false" aria-labelledby="lbl_{$controlName}">
  1615. <xsl:if test="@maxlength">
  1616. <xsl:attribute name="maxlength">
  1617. <xsl:value-of select="@maxlength"/>
  1618. </xsl:attribute>
  1619. </xsl:if>
  1620. <utml:name>
  1621. <xsl:value-of select="concat('m_pc_', $this)"/>
  1622. </utml:name>
  1623. <utml:value>
  1624. <xsl:choose>
  1625. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1626. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1627. </xsl:when>
  1628. <!-- display default value -->
  1629. <xsl:otherwise>
  1630. <xsl:value-of select="@default"/>
  1631. </xsl:otherwise>
  1632. </xsl:choose>
  1633. </utml:value>
  1634. <utml:read-only>
  1635. <xsl:choose>
  1636. <xsl:when test="@modifiable='false'">true</xsl:when>
  1637. <xsl:otherwise>false</xsl:otherwise>
  1638. </xsl:choose>
  1639. </utml:read-only>
  1640. </utml:input>
  1641. </xsl:when>
  1642. <xsl:otherwise>
  1643. <utml:input type="text" size="20" utml:track="true" aria-labelledby="lbl_{$controlName}">
  1644. <xsl:if test="@maxlength">
  1645. <xsl:attribute name="maxlength">
  1646. <xsl:value-of select="@maxlength"/>
  1647. </xsl:attribute>
  1648. </xsl:if>
  1649. <utml:name>
  1650. <xsl:value-of select="concat('m_pc_', $this)"/>
  1651. </utml:name>
  1652. <utml:value>
  1653. <xsl:value-of select="."/>
  1654. </utml:value>
  1655. <utml:read-only>
  1656. <xsl:choose>
  1657. <xsl:when test="@modifiable='false'">true</xsl:when>
  1658. <xsl:otherwise>false</xsl:otherwise>
  1659. </xsl:choose>
  1660. </utml:read-only>
  1661. </utml:input>
  1662. </xsl:otherwise>
  1663. </xsl:choose>
  1664. </xsl:when>
  1665. <xsl:when test="@type='cm:booleanProp'">
  1666. <xsl:variable name="defaultSelection">
  1667. <xsl:choose>
  1668. <xsl:when test="key('env-param', $test-reset)">
  1669. <xsl:choose>
  1670. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1671. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1672. </xsl:when>
  1673. <xsl:otherwise>
  1674. <xsl:value-of select="@default"/>
  1675. </xsl:otherwise>
  1676. </xsl:choose>
  1677. </xsl:when>
  1678. <xsl:when test="key('env-param', $controlName)">
  1679. <xsl:value-of select="key('env-param', $controlName)"/>
  1680. </xsl:when>
  1681. <xsl:otherwise><xsl:value-of select="@default"/></xsl:otherwise>
  1682. </xsl:choose>
  1683. </xsl:variable>
  1684. <!-- need the styles on the checkbox to make it align with the other controls -->
  1685. <utml:input type="checkbox" utml:update="false" utml:track="true" onclick="updateHiddenField(this);" style="text-indent: -4px; margin-left:0;" aria-labelledby="lbl_{$controlName}">
  1686. <utml:read-only>
  1687. <xsl:choose>
  1688. <xsl:when test="@modifiable='false'">true</xsl:when>
  1689. <xsl:otherwise>false</xsl:otherwise>
  1690. </xsl:choose>
  1691. </utml:read-only>
  1692. <utml:name><xsl:value-of select="$this"/></utml:name>
  1693. <xsl:if test="$defaultSelection = 'true'">
  1694. <xsl:attribute name="checked">checked</xsl:attribute>
  1695. </xsl:if>
  1696. </utml:input>
  1697. <utml:input type="hidden" utml:update="false">
  1698. <utml:name><xsl:value-of select="$controlName"/></utml:name>
  1699. <utml:value><xsl:value-of select="$defaultSelection"/></utml:value>
  1700. </utml:input>
  1701. <utml:input type="hidden" utml:update="false">
  1702. <utml:name><xsl:value-of select="concat('changed_', $controlName)"/></utml:name>
  1703. <utml:value>0</utml:value>
  1704. </utml:input>
  1705. </xsl:when>
  1706. <xsl:when test="local-name() = 'advancedSettings' and @type='cm:anyTypeProp'">
  1707. <a href="#" onclick="javascript:doEditAdvancedSettings();">
  1708. <xsl:attribute name="aria-label"><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED_ARIA"><xts:param name="propertyName"><xsl:value-of select="$entryLabel"/></xts:param></xts:string></xsl:attribute>
  1709. <xsl:text><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED"/></xsl:text>
  1710. </a>
  1711. </xsl:when>
  1712. <xsl:when test="local-name() = 'rdsGatewayMappings' and @type='cm:gatewayMappingArrayProp'">
  1713. <a href="#" onclick="javascript:doEditGatewayMappings();">
  1714. <xsl:attribute name="aria-label"><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED_ARIA"><xts:param name="propertyName"><xsl:value-of select="$entryLabel"/></xts:param></xts:string></xsl:attribute>
  1715. <xsl:text><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED"/></xsl:text>
  1716. </a>
  1717. </xsl:when>
  1718. <xsl:when test="local-name() = 'qsROLAPCubeConfigurations' and @type='cm:baseROLAPCubeConfigurationArrayProp'">
  1719. <a href="#" onclick="javascript:doEdit('settings_rolapcube_configurations');">
  1720. <xsl:attribute name="aria-label"><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED_ARIA"><xts:param name="propertyName"><xsl:value-of select="$entryLabel"/></xts:param></xts:string></xsl:attribute>
  1721. <xsl:text><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED"/></xsl:text>
  1722. </a>
  1723. </xsl:when>
  1724. <xsl:when test="local-name() = 'jmxProxyHostDispatchers' and @type='cm:baseClassArrayProp'">
  1725. <a href="#" onclick="javascript:doEdit('settings_jmxProxyHostDispatchers');">
  1726. <xsl:attribute name="aria-label"><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED_ARIA"><xts:param name="propertyName"><xsl:value-of select="$entryLabel"/></xts:param></xts:string></xsl:attribute>
  1727. <xsl:text><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED"/></xsl:text>
  1728. </a>
  1729. </xsl:when>
  1730. <xsl:when test="@type='cm:durationProp'">
  1731. <xsl:variable name="toolTip">
  1732. <xsl:call-template name="toolTip"/>
  1733. </xsl:variable>
  1734. <!-- Need to define this variable in order to be able to use the concat in the name condition -->
  1735. <xsl:variable name="localName" ><xsl:value-of select="local-name()"/></xsl:variable>
  1736. <xsl:variable name="previousDuraPropertyName">
  1737. <xsl:choose>
  1738. <xsl:when test="/root/env/param[@name=concat('dura_property_a_',$localName)]">
  1739. <xsl:value-of select="concat('dura_property_a_',local-name())"/>
  1740. </xsl:when>
  1741. <xsl:when test="/root/env/param[@name=concat('dura_property_n_',$localName)]">
  1742. <xsl:value-of select="concat('dura_property_n_',local-name())"/>
  1743. </xsl:when>
  1744. <xsl:otherwise>
  1745. <xsl:value-of select="concat('dura_property_',$this)"/>
  1746. </xsl:otherwise>
  1747. </xsl:choose>
  1748. </xsl:variable>
  1749. <xsl:variable name="duraPropertyName" select="concat('dura_property_',$this)"/>
  1750. <xsl:variable name="changedDuraPropertyName" select="concat('changed_dura_property_',$this)"/>
  1751. <xsl:variable name="duraSelectPropertyName" select="concat('durationSelect_', local-name())"/>
  1752. <xsl:variable name="changedDuraSelectPropertyName" select="concat('changed_',$duraSelectPropertyName)"/>
  1753. <xsl:variable name="secondsDisplay"><xts:string id="IDS_PROP_SETTINGS_UNITS_SEC"/></xsl:variable>
  1754. <xsl:variable name="minutesDisplay"><xts:string id="IDS_PROP_SETTINGS_UNITS_MIN"/></xsl:variable>
  1755. <xsl:variable name="hoursDisplay"><xts:string id="IDS_PROP_SETTINGS_UNITS_HOUR"/></xsl:variable>
  1756. <xsl:variable name="daysDisplay"><xts:string id="IDS_PROP_DAYS"/></xsl:variable>
  1757. <xsl:variable name="monthsDisplay"><xts:string id="IDS_PROP_MONTHS"/></xsl:variable>
  1758. <xsl:variable name="duration">
  1759. <xsl:choose>
  1760. <xsl:when test="key('env-param', $test-reset)">
  1761. <xsl:choose>
  1762. <xsl:when test="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn] and not(/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]/@nil)">
  1763. <xsl:value-of select="/root/parent/cm:queryResponse/node()/*[local-name()=$this-pn]"/>
  1764. </xsl:when>
  1765. <xsl:otherwise>
  1766. <xsl:value-of select="@default"/>
  1767. </xsl:otherwise>
  1768. </xsl:choose>
  1769. </xsl:when>
  1770. <xsl:when test="/root/env/param[@name=$previousDuraPropertyName] and (/root/env/param[@name=$changedDuraPropertyName]='1' or /root/env/param[@name=$changedDuraSelectPropertyName]='1')">
  1771. <xsl:call-template name="buildDurationValue">
  1772. <xsl:with-param name="durationUnitNbr" select="/root/env/param[@name=$previousDuraPropertyName]"/>
  1773. <xsl:with-param name="durationUnit" select="/root/env/param[@name=$duraSelectPropertyName]"/>
  1774. </xsl:call-template>
  1775. </xsl:when>
  1776. <xsl:otherwise>
  1777. <xsl:value-of select="."/>
  1778. </xsl:otherwise>
  1779. </xsl:choose>
  1780. </xsl:variable>
  1781. <xsl:variable name="parsedDuration">
  1782. <xsl:call-template name="parseDurationValue">
  1783. <xsl:with-param name="duration" select="$duration"/>
  1784. </xsl:call-template>
  1785. </xsl:variable>
  1786. <xsl:variable name="durationUnitNbr">
  1787. <xsl:value-of select="substring-before($parsedDuration,':')"/>
  1788. </xsl:variable>
  1789. <xsl:variable name="durationUnit">
  1790. <xsl:value-of select="substring-after($parsedDuration,':')"/>
  1791. </xsl:variable>
  1792. <dp:group>
  1793. <dp:groupItem>
  1794. <xsl:variable name="unitsLabel"><xts:string id="IDS_PROP_DURATION_UNITS"/></xsl:variable>
  1795. <xts:string id="IDS_PROP_SETTINGS_DURATION"><xts:param name="duraTime">
  1796. <dp:groupItem>
  1797. <utml:input type="text" size="3" maxlength="3" utml:update="false" utml:track="true" aria-labelledby="lbl_{$controlName}">
  1798. <utml:name>
  1799. <xsl:value-of select="$duraPropertyName"/>
  1800. </utml:name>
  1801. <utml:value>
  1802. <xsl:value-of select="$durationUnitNbr"/>
  1803. </utml:value>
  1804. <xsl:if test="normalize-space($toolTip) != ''">
  1805. <xsl:attribute name="title"><xsl:value-of select="normalize-space($toolTip)"/></xsl:attribute>
  1806. </xsl:if>
  1807. </utml:input>
  1808. </dp:groupItem>
  1809. </xts:param>
  1810. <xts:param name="duraSpacer">
  1811. <dp:groupItem><dp:text/></dp:groupItem>
  1812. </xts:param>
  1813. <xts:param name="duraType">
  1814. <dp:groupItem>
  1815. <xsl:variable name="units">
  1816. <xsl:choose>
  1817. <xsl:when test="@units != ''">
  1818. <!--
  1819. An xsd:duration 'units' filter has been defined within MCF for this property so use it.
  1820. A filter can consist of any or all of these 'MDhms' for (M)onths,(D)ays,(h)ours,(m)inutes,(s)econds respectively.
  1821. -->
  1822. <xsl:value-of select="@units"/>
  1823. </xsl:when>
  1824. <xsl:otherwise>
  1825. <!--Use the legacy default-->
  1826. <xsl:value-of select="'MD'"/>
  1827. </xsl:otherwise>
  1828. </xsl:choose>
  1829. </xsl:variable>
  1830. <xsl:variable name="duraInputName">
  1831. <xsl:value-of select="concat('durationSelect_', local-name())"/>
  1832. </xsl:variable>
  1833. <xsl:variable name="duraOptions">
  1834. <span style="position: absolute;margin-left: -9999px; margin-top: -9999px; " id="lbl_{$duraInputName}"><xsl:value-of select="$unitsLabel"/></span>
  1835. <utml:select utml:update="false" utml:track="true" aria-labelledby="lbl_{$duraInputName}">
  1836. <utml:name>
  1837. <xsl:value-of select="$duraSelectPropertyName"/>
  1838. </utml:name>
  1839. <xsl:if test="contains($units,'s') or $durationUnit='seconds'">
  1840. <utml:option value="seconds">
  1841. <xsl:if test="$durationUnit='seconds'">
  1842. <xsl:attribute name="selected">selected</xsl:attribute>
  1843. </xsl:if>
  1844. <xsl:value-of select="$secondsDisplay"/>
  1845. </utml:option>
  1846. </xsl:if>
  1847. <xsl:if test="contains($units,'m') or $durationUnit='minutes'">
  1848. <utml:option value="minutes">
  1849. <xsl:if test="$durationUnit='minutes'">
  1850. <xsl:attribute name="selected">selected</xsl:attribute>
  1851. </xsl:if>
  1852. <xsl:value-of select="$minutesDisplay"/>
  1853. </utml:option>
  1854. </xsl:if>
  1855. <xsl:if test="contains($units,'h') or $durationUnit='hours'">
  1856. <utml:option value="hours">
  1857. <xsl:if test="$durationUnit='hours'">
  1858. <xsl:attribute name="selected">selected</xsl:attribute>
  1859. </xsl:if>
  1860. <xsl:value-of select="$hoursDisplay"/>
  1861. </utml:option>
  1862. </xsl:if>
  1863. <xsl:if test="contains($units,'D') or $durationUnit='days'">
  1864. <utml:option value="days">
  1865. <xsl:if test="$durationUnit='days'">
  1866. <xsl:attribute name="selected">selected</xsl:attribute>
  1867. </xsl:if>
  1868. <xsl:value-of select="$daysDisplay"/>
  1869. </utml:option>
  1870. </xsl:if>
  1871. <xsl:if test="contains($units,'M') or $durationUnit='months'">
  1872. <utml:option value="months">
  1873. <xsl:if test="$durationUnit='months'">
  1874. <xsl:attribute name="selected">selected</xsl:attribute>
  1875. </xsl:if>
  1876. <xsl:value-of select="$monthsDisplay"/>
  1877. </utml:option>
  1878. </xsl:if>
  1879. </utml:select>
  1880. </xsl:variable>
  1881. <xsl:choose>
  1882. <xsl:when test="count($duraOptions/select/option) = 1">
  1883. <!-- There's only one item in the list. Just display a label and create a hidden field for the actual units -->
  1884. <utml:input type="hidden">
  1885. <utml:name>
  1886. <xsl:value-of select="$duraInputName"/>
  1887. </utml:name>
  1888. <utml:value>
  1889. <xsl:value-of select="$duraOptions/select/option/@value"/>
  1890. </utml:value>
  1891. </utml:input>
  1892. <xsl:value-of select="$duraOptions/select/option"/>
  1893. </xsl:when>
  1894. <xsl:otherwise>
  1895. <xsl:copy-of select="$duraOptions"/>
  1896. </xsl:otherwise>
  1897. </xsl:choose>
  1898. </dp:groupItem>
  1899. </xts:param>
  1900. </xts:string>
  1901. </dp:groupItem>
  1902. </dp:group>
  1903. </xsl:when>
  1904. <xsl:when test="substring-after(@type,':') = 'optionArrayProp'">
  1905. <xsl:variable name="enumValue" select="substring-after(@value,'#')"/>
  1906. <xsl:choose>
  1907. <xsl:when test="$enumValue = 'flashCharts'">
  1908. <!-- flashCharts overrideOptions will use simple inline checkbox editor -->
  1909. <utml:input type="checkbox" utml:update="false" utml:track="true" onclick="handleFlashCharts(this)" style="text-indent: -4px; margin-left:0;">
  1910. <utml:read-only>
  1911. <xsl:choose>
  1912. <xsl:when test="@modifiable='false'">true</xsl:when>
  1913. <xsl:otherwise>false</xsl:otherwise>
  1914. </xsl:choose>
  1915. </utml:read-only>
  1916. <xsl:if test="count(/root/env/param[starts-with(@name,concat('resetroot_optionArrayProp_',$enumValue))])&gt;0 or (count(/root/env/param[starts-with(@name,concat('overrideOptions_',$enumValue))])=0 and not(/root/env/param[starts-with(@name,concat('serviceDefaultOptions_',$enumValue))]))">
  1917. <xsl:attribute name="checked">checked</xsl:attribute>
  1918. </xsl:if>
  1919. </utml:input>
  1920. </xsl:when>
  1921. <xsl:otherwise>
  1922. <!-- Accessibility and any other overrideOptions else will use a separate boolean dialog editor -->
  1923. <xsl:variable name="editFunc">
  1924. javascript:doEditBooleanOverrideOptions('<xsl:value-of select="xtsext:javascriptencode(substring-after(@value,'#'))"/>','<xsl:value-of select="xtsext:javascriptencode(@label)"/>')
  1925. </xsl:variable>
  1926. <a href="#" onclick="{$editFunc}">
  1927. <xsl:attribute name="aria-label"><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED_ARIA"><xts:param name="propertyName"><xsl:value-of select="$entryLabel"/></xts:param></xts:string></xsl:attribute>
  1928. <xsl:text><xts:string id="IDS_PROP_SETTINGS_EDIT_ADVANCED"/></xsl:text>
  1929. </a>
  1930. </xsl:otherwise>
  1931. </xsl:choose>
  1932. </xsl:when>
  1933. <xsl:otherwise>
  1934. <xts:string id="IDS_PROP_SETTINGS_NOT_SUPPORTED">
  1935. <xts:param name="type">
  1936. <xsl:value-of select="@type"/>
  1937. </xts:param>
  1938. </xts:string>
  1939. </xsl:otherwise>
  1940. </xsl:choose>
  1941. </cp:columnContent>
  1942. <cp:columnContent>
  1943. <xsl:choose>
  1944. <xsl:when test="$the-objectClass = 'configuration'">
  1945. <xsl:choose>
  1946. <xsl:when test="local-name() = 'advancedSettings'">
  1947. <xsl:choose>
  1948. <xsl:when test=" key('env-param', $test-reset)='1' or not(/root/env/param[starts-with(@name, 'm_pa_')]!='')">
  1949. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_YES"/>
  1950. </xsl:when>
  1951. <xsl:otherwise>
  1952. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1953. </xsl:otherwise>
  1954. </xsl:choose>
  1955. </xsl:when>
  1956. <xsl:when test="local-name() = 'rdsGatewayMappings'">
  1957. <xsl:choose>
  1958. <xsl:when test=" key('env-param', $test-reset)='1' or not(/root/env/param[starts-with(@name, 'map_')]!='')">
  1959. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_YES"/>
  1960. </xsl:when>
  1961. <xsl:otherwise>
  1962. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1963. </xsl:otherwise>
  1964. </xsl:choose>
  1965. </xsl:when>
  1966. <xsl:when test="starts-with(local-name(),'optionArrayProp_')">
  1967. <xsl:variable name="enumValue" select="substring-after(@value,'#')"/>
  1968. <xsl:choose>
  1969. <xsl:when test="count(/root/env/param[starts-with(@name,concat('resetroot_optionArrayProp_',$enumValue))])&gt;0 or (count(/root/env/param[starts-with(@name,concat('overrideOptions_',$enumValue))])=0 and not(/root/env/param[starts-with(@name,concat('serviceDefaultOptions_',$enumValue))]))">
  1970. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_YES"/>
  1971. </xsl:when>
  1972. <xsl:otherwise>
  1973. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1974. </xsl:otherwise>
  1975. </xsl:choose>
  1976. </xsl:when>
  1977. <xsl:when test="key('env-param', $test-reset)='1' or @nil='true' or string() = string(@default) or cm:value = string(@default)">
  1978. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_YES"/>
  1979. </xsl:when>
  1980. <xsl:otherwise>
  1981. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1982. </xsl:otherwise>
  1983. </xsl:choose>
  1984. </xsl:when>
  1985. <xsl:otherwise>
  1986. <xsl:choose>
  1987. <xsl:when test="local-name() = 'advancedSettings' and ((not(key('env-param', $test-reset)) or key('env-param', $test-reset) = '0') and /root/env/param[starts-with(@name, 'm_pa_')])">
  1988. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1989. </xsl:when>
  1990. <xsl:when test="local-name() = 'rdsGatewayMappings' and ((not(key('env-param', $test-reset)) or key('env-param', $test-reset) = '0') and /root/env/param[starts-with(@name, 'map_')])">
  1991. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1992. </xsl:when>
  1993. <xsl:when test="local-name() = 'qsROLAPCubeConfigurations'">
  1994. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  1995. </xsl:when>
  1996. <xsl:when test="(@acquired='true' or key('env-param', $test-reset))">
  1997. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_YES"/>
  1998. </xsl:when>
  1999. <xsl:otherwise>
  2000. <xts:string id="IDS_PROP_SETTINGS_ACQUIRED_NO"/>
  2001. </xsl:otherwise>
  2002. </xsl:choose>
  2003. </xsl:otherwise>
  2004. </xsl:choose>
  2005. </cp:columnContent>
  2006. </cp:tableContent>
  2007. </cf:param>
  2008. <cf:param name="actions">
  2009. <cp:action>
  2010. <utml:a utml:validate="true" onclick="javascript:document.pform.listop.value='reset';" utml:hide-when-read-only="true">
  2011. <utml:target>
  2012. <xsl:value-of select="concat($app, '/', $mname)"/>
  2013. </utml:target>
  2014. <xsl:choose>
  2015. <xsl:when test="$is_root_config=true()">
  2016. <xsl:text/><xts:string id="IDS_PROP_SETTINGS_RESET_TO_DEFAULT"/><xsl:text/>
  2017. </xsl:when>
  2018. <xsl:otherwise>
  2019. <xsl:text/><xts:string id="IDS_PROP_SETTINGS_RESET_TO_PARENT"/><xsl:text/>
  2020. </xsl:otherwise>
  2021. </xsl:choose>
  2022. </utml:a>
  2023. </cp:action>
  2024. </cf:param>
  2025. </cf:main-pager-section>
  2026. </lyt:section>
  2027. </lyt:layout>
  2028. <xsl:if test="contains(' configuration configurationFolder dispatcher ', concat(' ',$the-objectClass,' ') )">
  2029. <lyt:layout style="1" title="IDS_PROP_SETTINGS_OPTION_SEP" intro="IDS_PROP_SETTINGS_OPTION_DESCRIPTION" border="yes">
  2030. <lyt:section>
  2031. <dp:choice>
  2032. <dp:section1>
  2033. <utml:input type="checkbox" name="settings_delete" utml:track="false" id="ctrl_settings_delete"/>
  2034. </dp:section1>
  2035. <dp:section2 for="ctrl_settings_delete">
  2036. <xts:string id="IDS_PROP_SETTINGS_DELETE_PARAMETER_CHILD"/>
  2037. </dp:section2>
  2038. </dp:choice>
  2039. </lyt:section>
  2040. </lyt:layout>
  2041. </xsl:if>
  2042. <dp:footer div="div">
  2043. <xsl:choose>
  2044. <xsl:when test="$showOKCancel">
  2045. <df:button df:id="IDS_OK" utml:validate="true" df:style="submit" onclick="javascript:document.pform.listop.value='';"/>
  2046. <xsl:choose>
  2047. <xsl:when test="key('env-param', 'ps_nav_stack') and not(key('env-param', 'ps_nav_stack') = '') ">
  2048. <df:button df:id="IDS_CANCEL" df:style="stack-down" onclick="{$dc-confirm-cancel}"/>
  2049. </xsl:when>
  2050. <xsl:otherwise>
  2051. <df:button df:id="IDS_CANCEL" df:style="back-url" onclick="{$dc-confirm-cancel}"/>
  2052. </xsl:otherwise>
  2053. </xsl:choose>
  2054. </xsl:when>
  2055. <xsl:otherwise>
  2056. <df:button df:id="IDS_CLOSE" df:style="back-url"/>
  2057. </xsl:otherwise>
  2058. </xsl:choose>
  2059. </dp:footer>
  2060. </utml:form>
  2061. </dp:page>
  2062. </xsl:template>
  2063. <!-- generate the tooltip for certain runtime parameters -->
  2064. <!-- This code supports minInclusive, minExclusive as well as maxInclusive and maxInclusive. It aslo supports a combination
  2065. of minInclusive and maxInclusive as well as minExclusive and maxExclusive. Currently there is no support for the case
  2066. where exclusive and inclusive values are mixed.
  2067. -->
  2068. <xsl:template name="toolTip">
  2069. <!-- min value -->
  2070. <xsl:variable name="min">
  2071. <xsl:choose>
  2072. <xsl:when test="@minExclusive != ''">
  2073. <xsl:choose>
  2074. <xsl:when test="@type = 'cm:floatProp'">
  2075. <xsl:value-of select="xtsext:formatNumber(string(@minExclusive),string('#,##0.0##'),string($contentLocale), number(1))"/>
  2076. </xsl:when>
  2077. <xsl:otherwise>
  2078. <xsl:value-of select="@minExclusive"/>
  2079. </xsl:otherwise>
  2080. </xsl:choose>
  2081. </xsl:when>
  2082. <xsl:when test="@minInclusive != ''">
  2083. <xsl:choose>
  2084. <xsl:when test="@type = 'cm:floatProp'">
  2085. <xsl:value-of select="xtsext:formatNumber(string(@minInclusive),string('#,##0.0##'),string($contentLocale), number(1))"/>
  2086. </xsl:when>
  2087. <xsl:otherwise>
  2088. <xsl:value-of select="@minInclusive"/>
  2089. </xsl:otherwise>
  2090. </xsl:choose>
  2091. </xsl:when>
  2092. </xsl:choose>
  2093. </xsl:variable>
  2094. <!-- max value -->
  2095. <xsl:variable name="max">
  2096. <xsl:choose>
  2097. <xsl:when test="@maxExclusive != ''">
  2098. <xsl:choose>
  2099. <xsl:when test="@type = 'cm:floatProp'">
  2100. <xsl:value-of select="xtsext:formatNumber(string(@maxExclusive),string('#,##0.0##'),string($contentLocale), number(1))"/>
  2101. </xsl:when>
  2102. <xsl:otherwise>
  2103. <xsl:value-of select="@maxExclusive"/>
  2104. </xsl:otherwise>
  2105. </xsl:choose>
  2106. </xsl:when>
  2107. <xsl:when test="@maxInclusive != ''">
  2108. <xsl:choose>
  2109. <xsl:when test="@type = 'cm:floatProp'">
  2110. <xsl:value-of select="xtsext:formatNumber(string(@maxInclusive),string('#,##0.0##'),string($contentLocale), number(1))"/>
  2111. </xsl:when>
  2112. <xsl:otherwise>
  2113. <xsl:value-of select="@maxInclusive"/>
  2114. </xsl:otherwise>
  2115. </xsl:choose>
  2116. </xsl:when>
  2117. </xsl:choose>
  2118. </xsl:variable>
  2119. <xsl:choose>
  2120. <xsl:when test="$min != '' and $max != '' and @minExclusive != '' and @maxExclusive != ''">
  2121. <xts:string id="IDS_PROP_SETTINGS_MIN_MAX_EXCLUSIVE_TOOLTIP">
  2122. <xts:param name="min"><xsl:value-of select="$min"/></xts:param>
  2123. <xts:param name="max"><xsl:value-of select="$max"/></xts:param>
  2124. </xts:string>
  2125. </xsl:when>
  2126. <xsl:when test="$min != '' and @minExclusive != ''">
  2127. <xts:string id="IDS_PROP_SETTINGS_MIN_EXCLUSIVE_TOOLTIP">
  2128. <xts:param name="min"><xsl:value-of select="$min"/></xts:param>
  2129. </xts:string>
  2130. </xsl:when>
  2131. <xsl:when test="$max != '' and @maxExclusive != ''">
  2132. <xts:string id="IDS_PROP_SETTINGS_MAX_EXCLUSIVE_TOOLTIP">
  2133. <xts:param name="max"><xsl:value-of select="$max"/></xts:param>
  2134. </xts:string>
  2135. </xsl:when>
  2136. <xsl:when test="$min != '' and $max != '' and @minInclusive != '' and @maxInclusive != ''">
  2137. <xts:string id="IDS_PROP_SETTINGS_MIN_MAX_INCLUSIVE_TOOLTIP">
  2138. <xts:param name="min"><xsl:value-of select="$min"/></xts:param>
  2139. <xts:param name="max"><xsl:value-of select="$max"/></xts:param>
  2140. </xts:string>
  2141. </xsl:when>
  2142. <xsl:when test="$min != '' and @minInclusive != ''">
  2143. <xts:string id="IDS_PROP_SETTINGS_MIN_INCLUSIVE_TOOLTIP">
  2144. <xts:param name="min"><xsl:value-of select="$min"/></xts:param>
  2145. </xts:string>
  2146. </xsl:when>
  2147. <xsl:when test="$max != '' and @maxInclusive != ''">
  2148. <xts:string id="IDS_PROP_SETTINGS_MAX_INCLUSIVE_TOOLTIP">
  2149. <xts:param name="max"><xsl:value-of select="$max"/></xts:param>
  2150. </xts:string>
  2151. </xsl:when>
  2152. </xsl:choose>
  2153. </xsl:template>
  2154. <dt:localizedFloatTextBox track="true"/>
  2155. </xsl:stylesheet>
  2156. </xts:block>
  2157. <!--
  2158. ===============================================================================================
  2159. debug
  2160. ===============================================================================================
  2161. -->
  2162. <xts:block id="debug" type="exec" mode="output" processor="XSLT" condition=".[/root/session/param[@name='debug']='1']" mandatory="false" mimeType="text/html" dependency="renderPage">
  2163. <xts:logicsheet path="logicsheets/debuglogic.xslt"/>
  2164. <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">
  2165. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="no" omit-xml-declaration="yes"/>
  2166. <xsl:template match="/">
  2167. <dbg:dumpxml select="/root"/>
  2168. </xsl:template>
  2169. </xsl:stylesheet>
  2170. </xts:block>
  2171. </xts:morphlet>