cm-logic.xsl 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  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, 2011
  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. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:cml="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/cml/1/" xmlns:s="http://www.w3.org/2001/09/soap-envelope" xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/" xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt" xmlns:out="dummy-uri">
  13. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  14. <xsl:namespace-alias stylesheet-prefix="out" result-prefix="xsl"/>
  15. <!--
  16. This stylesheet (cm-logic.xsl) consists of the following templates:
  17. cml:prop-base - request list of content manager base properties.
  18. cml:prop-shortcut-target - request list of content manager target properties for a short-cut object.
  19. cml:prop-general - request list of content manager general properties.
  20. cml:prop-report - request list of content manager report properties.
  21. cml:prop-runoptions - request list of content manager run option properties.
  22. cml:prop-job - request list of content manager job properties.
  23. cml:prop-schedule - request list of content manager schedule properties.
  24. cml:prop-user-base - request list of content manager base properties for a user.
  25. cml:prop-user-general - request list of content manager general properties for a user.
  26. cml:prop-user-locale - request list of content manager locale properties for a user.
  27. cml:prop-user-personal - request list of content manager personal properties for a user.
  28. cml:prop-connection - request list of content manager dataSourceConnection properties.
  29. cml:prop-signon - request list of content manager dataSourceSignon properties.
  30. cml:single-object - defines the variable "the-object" based on the first queryResponse.
  31. -->
  32. <!-- Content Manager request "base" properties -->
  33. <xsl:template match="cml:prop-base">
  34. <cm:property name="defaultName"/>
  35. <cm:property name="defaultOutputFormat"/>
  36. <cm:property name="searchPath"/>
  37. <cm:property name="uri"/>
  38. <cm:property name="base"/>
  39. <cm:property name="modificationTime"/>
  40. <cm:property name="format"/>
  41. <cm:property name="contentLocale"/>
  42. <cm:property name="defaultScreenTip"/>
  43. <cm:property name="permissions"/>
  44. <cm:property name="usage"/>
  45. <cm:property name="target"/><!-- shortcut objects -->
  46. <cm:property name="disabled"/>
  47. <cm:property name="hidden"/>
  48. <cm:property name="iconURI"/>
  49. </xsl:template>
  50. <!-- Content Manager request base shortcut properties -->
  51. <xsl:template match="cml:prop-shortcut-target">
  52. <cm:property name="searchPath"/>
  53. <cm:property name="defaultName"/>
  54. <cm:property name="defaultOutputFormat"/>
  55. <cm:property name="uri"/>
  56. <cm:property name="base"/>
  57. <cm:property name="format"/>
  58. <cm:property name="contentLocale"/>
  59. <cm:property name="permissions"/>
  60. <cm:property name="usage"/>
  61. <cm:property name="disabled"/>
  62. <cm:property name="storeID"/>
  63. <cm:property name="iconURI"/>
  64. </xsl:template>
  65. <!-- Content Manager request "general" properties - for general properties tab -->
  66. <xsl:template match="cml:prop-general">
  67. <cm:property name="storeID"/>
  68. <cm:property name="defaultName"/>
  69. <cm:property name="searchPath"/>
  70. <cm:property name="defaultDescription"/>
  71. <cm:property name="disabled"/>
  72. <cm:property name="contact"/>
  73. <cm:property name="contactEMail"/>
  74. <cm:property name="ancestors"/>
  75. <cm:property name="creationTime"/>
  76. <cm:property name="modificationTime"/>
  77. <cm:property name="uri"/>
  78. <cm:property name="base"/>
  79. <cm:property name="permissions"/>
  80. <cm:property name="defaultScreenTip"/>
  81. <cm:property name="target"/><!-- shortcut objects -->
  82. <cm:property name="retentions"/>
  83. <cm:property name="iconURI"/>
  84. </xsl:template>
  85. <!-- Content Manager request "report" properties - for report properties tab -->
  86. <xsl:template match="cml:prop-report">
  87. <cm:property name="defaultName"/>
  88. <cm:property name="retentions"/>
  89. <cm:property name="permissions"/>
  90. <cm:property name="iconURI"/>
  91. </xsl:template>
  92. <!-- Content Manager request "report" properties - for run options properties tab -->
  93. <xsl:template match="cml:prop-runoptions">
  94. <cm:property name="defaultName"/>
  95. <cm:property name="permissions"/>
  96. <cm:property name="executionFormat"/>
  97. <cm:property name="executionLocale"/>
  98. <cm:property name="executionPageOrientation"/>
  99. <cm:property name="executionPageDefinition"/>
  100. <cm:property name="runAsOwner"/>
  101. <out:if test="/root/env/param[@name='m_class'] != 'reportView'">
  102. <cm:property name="runWithOwnerCapabilities"/>
  103. </out:if>
  104. <cm:property name="parameters"/>
  105. <cm:property name="defaultPortalAction"/>
  106. <cm:property name="allowSubscription"/>
  107. <cm:property name="allowNotification"/>
  108. <cm:property name="iconURI"/>
  109. </xsl:template>
  110. <!-- Content Manager request "job" properties - for job properties tab -->
  111. <xsl:template match="cml:prop-job">
  112. <cm:property name="defaultName"/>
  113. <cm:property name="permissions"/>
  114. <cm:property name="sequencing"/>
  115. <cm:property name="options"/>
  116. <cm:property name="parent"/>
  117. <cm:property name="iconURI"/>
  118. </xsl:template>
  119. <!-- Content Manager request "schedule" properties -->
  120. <xsl:template match="cml:prop-schedule">
  121. <cm:property name="active"/>
  122. <cm:property name="dailyPeriod"/>
  123. <cm:property name="endDate"/>
  124. <cm:property name="endType"/>
  125. <cm:property name="everyNPeriods"/>
  126. <cm:property name="monthlyAbsoluteDay"/>
  127. <cm:property name="monthlyRelativeDay"/>
  128. <cm:property name="monthlyRelativeWeek"/>
  129. <cm:property name="parameters"/>
  130. <cm:property name="permissions"/>
  131. <cm:property name="priority"/>
  132. <cm:property name="options"/>
  133. <cm:property name="searchPath"/>
  134. <!-- when doing a run once, we don't want to get the start date from the schedule -->
  135. <xsl:if test="not(@excludeStartDate) or @excludeStartDate='false'">
  136. <cm:property name="startDate"/>
  137. <cm:property name="triggerName"/>
  138. </xsl:if>
  139. <cm:property name="taskID"/>
  140. <cm:property name="timeZoneID"/>
  141. <cm:property name="type"/>
  142. <cm:property name="weeklyFriday"/>
  143. <cm:property name="weeklyMonday"/>
  144. <cm:property name="weeklySaturday"/>
  145. <cm:property name="weeklySunday"/>
  146. <cm:property name="weeklyThursday"/>
  147. <cm:property name="weeklyTuesday"/>
  148. <cm:property name="weeklyWednesday"/>
  149. <cm:property name="yearlyAbsoluteDay"/>
  150. <cm:property name="yearlyAbsoluteMonth"/>
  151. <cm:property name="yearlyRelativeDay"/>
  152. <cm:property name="yearlyRelativeMonth"/>
  153. <cm:property name="yearlyRelativeWeek"/>
  154. <cm:property name="intradayRecurrenceInterval"/>
  155. <cm:property name="intradayRecurrenceStart"/>
  156. <cm:property name="intradayRecurrenceEnd"/>
  157. </xsl:template>
  158. <!-- Content Manager request base user properties, for main page -->
  159. <xsl:template match="cml:prop-user-base">
  160. <cm:property name="ancestors"/>
  161. </xsl:template>
  162. <!-- Content Manager request user properties, for personalize general tab -->
  163. <xsl:template match="cml:prop-user-general">
  164. <cm:property name="format"/>
  165. <out:choose>
  166. <out:when test="/root/env/param[@name='m_class'] != 'contact'">
  167. <cm:property name="options"/>
  168. <cm:property name="productLocale"/>
  169. <cm:property name="contentLocale"/>
  170. </out:when>
  171. <out:otherwise>
  172. <cm:property name="locale"/>
  173. </out:otherwise>
  174. </out:choose>
  175. <cm:property name="defaultName"/>
  176. <cm:property name="ancestors"/>
  177. <cm:property name="timeZoneID"/>
  178. </xsl:template>
  179. <!-- Content Manager request user properties, for personalize personal tab -->
  180. <xsl:template match="cml:prop-user-personal">
  181. <cm:property name="ancestors"/>
  182. <cm:property name="userName"/>
  183. <cm:property name="givenName"/>
  184. <cm:property name="surname"/>
  185. <cm:property name="defaultName"/>
  186. <cm:property name="email"/>
  187. <cm:property name="searchPath"/>
  188. </xsl:template>
  189. <!-- Content Manager request dataSourceConnection properties -->
  190. <xsl:template match="cml:prop-connection">
  191. <cm:property name="defaultName"/>
  192. <cm:property name="searchPath"/>
  193. <cm:property name="isolationLevel"/>
  194. <cm:property name="connectionString"/>
  195. <cm:property name="permissions"/>
  196. <cm:property name="credentialNamespaces"/>
  197. <cm:property name="openConnectionCommands"/>
  198. <cm:property name="openSessionCommands"/>
  199. <cm:property name="closeConnectionCommands"/>
  200. <cm:property name="closeSessionCommands"/>
  201. </xsl:template>
  202. <!-- Content Manager request dataSourceSignon properties -->
  203. <xsl:template match="cml:prop-signon">
  204. <cm:property name="defaultName"/>
  205. <cm:property name="credentials"/>
  206. <cm:property name="consumers"/>
  207. <cm:property name="permissions"/>
  208. <cm:property name="parent"/>
  209. <cm:property name="iconURI"/>
  210. </xsl:template>
  211. <!-- define variable the-object based on the first entry of the Content Manager queryResponse -->
  212. <xsl:template match="cml:single-object">
  213. <out:variable name="the-object" select="cm:queryResponse/*[position()=1]"/>
  214. </xsl:template>
  215. <xsl:template match="cml:object-predicates">
  216. <out:variable name="hidden-objects-predicate">[@shown='true']</out:variable> <!-- CM predicate for handling hidden objects -->
  217. <out:variable name="visibility-predicate" select="concat(/root/system/param[@name='visible'],$hidden-objects-predicate)"/>
  218. </xsl:template>
  219. <xsl:template match="*">
  220. <xsl:copy>
  221. <xsl:copy-of select="@*"/>
  222. <xsl:apply-templates/>
  223. </xsl:copy>
  224. </xsl:template>
  225. </xsl:stylesheet>