makeDeploymentOptions.xslt 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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. 2013
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  9. version="1.0"
  10. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  11. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  12. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  13. xmlns:dpl="http://developer.cognos.com/schemas/xts/logicsheets/deployment/"
  14. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  15. exclude-result-prefixes="xsl xts xtsext pf dpl cm">
  16. <xsl:output method="xml" version="1.0" encoding="UTF-8"
  17. indent="no" />
  18. <!-- add any theme variables -->
  19. <pf:variables />
  20. <dpl:variables />
  21. <!-- add any theme variables -->
  22. <xsl:template match="/">
  23. <xts:sequence>
  24. <xts:append>
  25. <deploymentOptions>
  26. <cm:deploymentOption name="package" class="{/root/cm:deploymentOptionsUI/cm:deploymentOption[@name='package']/@class}">
  27. <xsl:for-each select="/root/cm:deploymentOptionsUI/cm:deploymentOption[@name='package']/*[cm:inPackagesToInclude = 'true']">
  28. <cm:packageDeploymentInfo>
  29. <cm:sourceName>
  30. <xsl:for-each select="cm:sourceName/*">
  31. <cm:tokenvalue locale="{./@xml:lang}">
  32. <xsl:value-of select="." />
  33. </cm:tokenvalue>
  34. </xsl:for-each>
  35. </cm:sourceName>
  36. <cm:targetName>
  37. <xsl:for-each select="cm:targetName/*">
  38. <cm:tokenvalue locale="{./@xml:lang}">
  39. <xsl:value-of select="." />
  40. </cm:tokenvalue>
  41. </xsl:for-each>
  42. </cm:targetName>
  43. <cm:archiveSearchPath>
  44. <xsl:choose>
  45. <xsl:when test="$deployment-method='export'">
  46. <xsl:text>storeID('</xsl:text>
  47. <xsl:value-of select="cm:storeID" />
  48. <xsl:text>')</xsl:text>
  49. </xsl:when>
  50. <xsl:otherwise>
  51. <xsl:value-of select="cm:searchPath" />
  52. </xsl:otherwise>
  53. </xsl:choose>
  54. </cm:archiveSearchPath>
  55. <cm:parent>
  56. <xsl:copy-of select="*[local-name()='ancestors']/*[local-name()='ancestorInfo' and position()=last()]/*" />
  57. </cm:parent>
  58. <xsl:copy-of select="cm:enabled|cm:storeID" />
  59. <xsl:copy-of select="cm:enabled|cm:storeID|cm:searchPath|cm:targetLocation" />
  60. </cm:packageDeploymentInfo>
  61. </xsl:for-each>
  62. </cm:deploymentOption>
  63. <xsl:for-each select="/root/cm:deploymentOptionsUI/cm:deploymentOption[@name != 'package' and @name != 'deploymentName' and @name != 'deploymentDescription' and @name != 'deploymentScreenTip' and @name != 'archiveEncryptPassword' and @name != 'tenants' and @name != 'tenantsContentConflictResolution']">
  64. <cm:deploymentOption name="{@name}" class="{@class}">
  65. <xsl:value-of select="." />
  66. </cm:deploymentOption>
  67. </xsl:for-each>
  68. <xsl:if test="$deployment-method='export'">
  69. <!-- deploymentName option -->
  70. <cm:deploymentOption name="deploymentName" class="cm:deploymentOptionMultilingualString">
  71. <xsl:choose>
  72. <xsl:when test="/root/deploymentObject/cm:queryResponse/child::node()/cm:name">
  73. <xsl:for-each select="/root/deploymentObject/cm:queryResponse/child::node()/cm:name/child::node()">
  74. <cm:value locale="{@xml:lang}">
  75. <xsl:value-of select="." />
  76. </cm:value>
  77. </xsl:for-each>
  78. </xsl:when>
  79. <xsl:otherwise>
  80. <cm:value locale="{$contentLocale}">
  81. <xsl:value-of select="key('env-param', 'm_p_defaultName')" />
  82. </cm:value>
  83. </xsl:otherwise>
  84. </xsl:choose>
  85. </cm:deploymentOption>
  86. <!-- deploymentDescription option -->
  87. <cm:deploymentOption name="deploymentDescription" class="cm:deploymentOptionMultilingualString">
  88. <xsl:choose>
  89. <xsl:when test="/root/deploymentObject/cm:queryResponse/child::node()/cm:description and not(/root/deploymentObject/cm:queryResponse/child::node()/cm:description[@nil])">
  90. <xsl:for-each select="/root/deploymentObject/cm:queryResponse/child::node()/cm:description/child::node()">
  91. <cm:value locale="{@xml:lang}">
  92. <xsl:value-of select="." />
  93. </cm:value>
  94. </xsl:for-each>
  95. </xsl:when>
  96. <xsl:otherwise>
  97. <cm:value locale="{$contentLocale}">
  98. <xsl:value-of select="key('env-param', 'm_p_defaultDescription')" />
  99. </cm:value>
  100. </xsl:otherwise>
  101. </xsl:choose>
  102. </cm:deploymentOption>
  103. <!-- deploymentScreenTip option -->
  104. <cm:deploymentOption name="deploymentScreenTip" class="cm:deploymentOptionMultilingualString">
  105. <xsl:choose>
  106. <xsl:when test="/root/deploymentObject/cm:queryResponse/child::node()/cm:screenTip">
  107. <xsl:for-each select="/root/deploymentObject/cm:queryResponse/child::node()/cm:screenTip/child::node()">
  108. <cm:value locale="{@xml:lang}">
  109. <xsl:value-of select="." />
  110. </cm:value>
  111. </xsl:for-each>
  112. </xsl:when>
  113. <xsl:otherwise>
  114. <cm:value locale="{$contentLocale}">
  115. <xsl:value-of select="key('env-param', 'm_p_defaultScreenTip')" />
  116. </cm:value>
  117. </xsl:otherwise>
  118. </xsl:choose>
  119. </cm:deploymentOption>
  120. </xsl:if>
  121. <!-- tenants -->
  122. <cm:deploymentOption name="tenants" class="cm:deploymentOptionStringArray">
  123. <xsl:copy-of select="/root/cm:deploymentOptionsUI/cm:deploymentOption[@name = 'tenants']/*"/>
  124. </cm:deploymentOption>
  125. <cm:deploymentOption name="tenantsContentConflictResolution" class="cm:deploymentOptionResolution">
  126. <xsl:choose>
  127. <xsl:when test="/root/cm:deploymentOptionsUI/cm:deploymentOption[@name = 'tenantsContentConflictResolution']!=''">
  128. <xsl:value-of select="/root/cm:deploymentOptionsUI/cm:deploymentOption[@name = 'tenantsContentConflictResolution']"/>
  129. </xsl:when>
  130. <xsl:otherwise>
  131. <xsl:value-of select="'keep'"/>
  132. </xsl:otherwise>
  133. </xsl:choose>
  134. </cm:deploymentOption>
  135. <!-- encryption password -->
  136. <cm:deploymentOption name="archiveEncryptPassword" class="cm:deploymentOptionAnyType">
  137. <xsl:value-of select="key('env-param', 'm_archiveEncryptPword')" />
  138. </cm:deploymentOption>
  139. </deploymentOptions>
  140. </xts:append>
  141. </xts:sequence>
  142. </xsl:template>
  143. </xsl:stylesheet>