delivery_query.xsl 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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"
  13. xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/"
  14. xmlns:send="http://developer.cognos.com/schemas/xts/logic-sheet/xslt/brl/1/"
  15. xmlns:xts="http://developer.cognos.com/schemas/xts/">
  16. <xsl:variable name="runOptions" select="/root/cm:queryResponse/cm:queryReply/cm:schedule/cm:runOptions"/>
  17. <xsl:variable name="emailRunOptions" select="/root/emailToRunOptions/*"/>
  18. <xsl:template match="/">
  19. <xts:sequence>
  20. <xts:append>
  21. <deliveryQuery>
  22. <xsl:variable name="only_one_recipient" select="count($emailRunOptions/cm:items/cm:item) = 1"/>
  23. <xts:transform src="transforms/CM/post-process.xslt" processor="XSLT">
  24. <send:request provider="cm">
  25. <xts:transform src="transforms/CM/pre-process.xslt" processor="XSLT">
  26. <cm:query xmlns:cm="http://developer.cognos.com/schemas/xts-cm/1/">
  27. <cm:requests>
  28. <cm:query>
  29. <cm:search><xsl:value-of select="/root/env/param[@name='m_ro_saveAsPath']"/></cm:search>
  30. <cm:properties>
  31. <cm:property name="defaultName"/>
  32. <cm:property name="searchPath"/>
  33. <cm:property name="permissions"/>
  34. <cm:property name="ancestors"/>
  35. </cm:properties>
  36. </cm:query>
  37. <!-- get the printerAddress if we're referencing a printer object -->
  38. <xsl:if test="/root/env/param[@name='m_ro_printer']!=''">
  39. <cm:query>
  40. <cm:search><xsl:value-of select="/root/env/param[@name='m_ro_printer']"/></cm:search>
  41. <cm:properties>
  42. <cm:property name="printerAddress"/>
  43. </cm:properties>
  44. </cm:query>
  45. </xsl:if>
  46. <!-- query for the email recipient name if there's only 1 recipient -->
  47. <xsl:if test="$only_one_recipient and $emailRunOptions[cm:name='emailTo'] and string($emailRunOptions[cm:name='emailTo']/cm:items/cm:item) != ''">
  48. <cm:query>
  49. <cm:search><xsl:value-of select="$emailRunOptions[cm:name='emailTo']/cm:items/cm:item"/></cm:search>
  50. <cm:properties>
  51. <cm:property name="searchPath"/>
  52. <cm:property name="defaultName"/>
  53. <cm:property name="userName"/>
  54. <cm:property name="email"/>
  55. </cm:properties>
  56. </cm:query>
  57. </xsl:if>
  58. </cm:requests>
  59. </cm:query>
  60. </xts:transform>
  61. </send:request>
  62. </xts:transform>
  63. </deliveryQuery>
  64. </xts:append>
  65. </xts:sequence>
  66. </xsl:template>
  67. </xsl:stylesheet>