genOptionCredentials.xslt 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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:xts="http://developer.cognos.com/schemas/xts/"
  14. xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  15. <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="no"/>
  16. <xsl:key name="env-param" match="/root/env/param" use="@name"/>
  17. <xsl:template match="/">
  18. <xts:sequence>
  19. <xts:append select="/root/env">
  20. <xsl:if test="key('env-param', 'm_pdf_userPassword_runOption') !='' and not(key('env-param', 'm_pdf_userPassword_runOption_Encrypted'))">
  21. <xsl:call-template name="generate-credential-param">
  22. <xsl:with-param name="param-name" select="'m_pdf_userPassword_runOption_Encrypted'"/>
  23. <xsl:with-param name="password" select="key('env-param', 'm_pdf_userPassword_runOption')"/>
  24. </xsl:call-template>
  25. </xsl:if>
  26. <xsl:if test="key('env-param', 'm_pdf_ownerPassword_runOption') !='' and not(key('env-param', 'm_pdf_ownerPassword_runOption_Encrypted'))">
  27. <xsl:call-template name="generate-credential-param">
  28. <xsl:with-param name="param-name" select="'m_pdf_ownerPassword_runOption_Encrypted'"/>
  29. <xsl:with-param name="password" select="key('env-param', 'm_pdf_ownerPassword_runOption')"/>
  30. </xsl:call-template>
  31. </xsl:if>
  32. </xts:append>
  33. </xts:sequence>
  34. </xsl:template>
  35. <xsl:template name="generate-credential-param">
  36. <xsl:param name="param-name"/>
  37. <xsl:param name="password"/>
  38. <param name="{$param-name}">
  39. <xsl:text>&lt;credential&gt;&lt;encryptedValue&gt;</xsl:text>
  40. <xts:encrypt>
  41. <xts:param name="provider">cognos.cam</xts:param>
  42. <xts:param name="source">&lt;credential&gt;<xsl:text/>
  43. <xsl:text>&lt;password&gt;</xsl:text>
  44. <xts:transform name="XMLEncode">
  45. <xsl:value-of select="$password"/>
  46. </xts:transform>
  47. <xsl:text>&lt;/password&gt;&lt;/credential&gt;</xsl:text>
  48. </xts:param>
  49. </xts:encrypt>
  50. <xsl:text>&lt;/encryptedValue&gt;&lt;/credential&gt;</xsl:text>
  51. </param>
  52. </xsl:template>
  53. </xsl:stylesheet>