check-state.xslt 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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"
  13. xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  14. xmlns:pf="http://developer.cognos.com/schemas/xts/pf"
  15. xmlns:xos="http://developer.cognos.com/schemas/xts/output/"
  16. xmlns:xtsext="xalan://com.cognos.xts.ext.XTSExt"
  17. xmlns:xts="http://developer.cognos.com/schemas/xts/"
  18. xmlns:prompt="http://developer.cognos.com/schemas/xts/portal/iPrompting/1/"
  19. exclude-result-prefixes="xsl pf xos xtsext xts prompt">
  20. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  21. <pf:variables/>
  22. <xsl:template match="/">
  23. <xsl:choose>
  24. <xsl:when test="/root/promptRequest/xos:part">
  25. <xts:sequence>
  26. <xts:append select="/root/output">
  27. <xts:queryNode select="/root/promptRequest/*[local-name()='part']"/>
  28. </xts:append>
  29. </xts:sequence>
  30. </xsl:when>
  31. <xsl:otherwise>
  32. <xts:sequence>
  33. <xts:append>
  34. <view>properties</view>
  35. </xts:append>
  36. <xsl:choose>
  37. <xsl:when test="string(/root/env/param[@name='adminState'])!=''">
  38. <xts:replace select="/root/env">
  39. <env>
  40. <xts:transform name="XMLDecode">
  41. <xsl:value-of select="xtsext:web64decode(string(xtsext:cafaction('sign_unwrap', string(/root/env/param[@name='adminState']))), true())"/>
  42. </xts:transform>
  43. </env>
  44. </xts:replace>
  45. <!-- delete the parameterDescription so it gets recreated -->
  46. <xts:delete select="/root/env/param[@name='parameterDescription' or @name='parameterDescriptionToLong']"/>
  47. </xsl:when>
  48. <xsl:when test="string(/root/callerAdminState) !='' ">
  49. <xts:replace select="/root/env">
  50. <env>
  51. <xts:transform name="XMLDecode">
  52. <xsl:value-of select="xtsext:web64decode(string(/root/callerAdminState),true())"/></xts:transform>
  53. </env>
  54. </xts:replace>
  55. </xsl:when>
  56. </xsl:choose>
  57. <xsl:if test="/root/promptRequest/*[local-name()='forwardResponse']/parameters">
  58. <!-- delete the old parameters -->
  59. <xts:delete select="/root/env/param[@name='m_rp_parameters']"/>
  60. <xsl:variable name="parameters-markup">
  61. <xsl:call-template name="serialize-xml">
  62. <xsl:with-param name="node-set" select="/root/promptRequest/*[local-name()='forwardResponse']/parameters"/>
  63. </xsl:call-template>
  64. </xsl:variable>
  65. <xts:append select="/root/env">
  66. <param name="m_rp_parameters">
  67. <xsl:value-of select="xtsext:web64encode(string($parameters-markup), true())"/>
  68. </param>
  69. </xts:append>
  70. </xsl:if>
  71. <!-- powerplay prompt parameters -->
  72. <xsl:if test="/root/*[local-name()='parameters']">
  73. <!-- delete the old parameters -->
  74. <xts:delete select="/root/env/param[@name='m_rp_parameters']"/>
  75. <xsl:variable name="parameters-markup">
  76. <xsl:call-template name="serialize-xml">
  77. <xsl:with-param name="node-set" select="/root/*[local-name()='parameters']"/>
  78. </xsl:call-template>
  79. </xsl:variable>
  80. <xts:append select="/root/env">
  81. <param name="m_rp_parameters">
  82. <xsl:value-of select="xtsext:web64encode(string($parameters-markup), true())"/>
  83. </param>
  84. </xts:append>
  85. </xsl:if>
  86. <xsl:if test="/root/env/param[@name='encodedRptSvcParam']">
  87. <xts:delete select="/root/env/param[@name='encodedRptSvcParam']"/>
  88. <xts:append select="/root/env">
  89. <param name="encodedRptSvcParam"><xsl:value-of select="/root/env/param[@name='encodedRptSvcParam']"/></param>
  90. </xts:append>
  91. </xsl:if>
  92. </xts:sequence>
  93. </xsl:otherwise>
  94. </xsl:choose>
  95. </xsl:template>
  96. <pf:serialize-xml/>
  97. </xsl:stylesheet>