logupgrade_1.1.316.0.xsl 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <?xml version="1.0"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. IBM Cognos Products: fmmd
  5. (C) Copyright IBM Corp. 2003, 2010
  6. US Government Users Restricted Rights - Use, duplication or disclosure
  7. restricted by GSA ADP Schedule Contract with IBM Corp.
  8. -->
  9. <!--XSLT version 1-->
  10. <!--
  11. =============================================================
  12. Action Log Upgrade 1.1.316.0 Notes:
  13. This Upgrade fixes an import issue with localization changes made from the 1.0
  14. release and 1.1.
  15. After an old 1.0 import action is played, subsequent actions may fail because
  16. they can no longer access the model objects created by the import action by
  17. name as expected.
  18. This fix changes the import action to use the localized object names from the
  19. 1.0 release with the french and german locales.
  20. =============================================================
  21. -->
  22. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  23. <xsl:output method="xml" indent="yes"/>
  24. <!--root match -->
  25. <xsl:template match="/">
  26. <!--make sure that this transformation is performed on a version 1.0 FM Action Log -->
  27. <xsl:if test="not(/*[local-name() = 'bmtactionlog']) ">
  28. <xsl:message terminate="yes">The input file for this transformer must be a FM Action log. Exiting...</xsl:message>
  29. </xsl:if>
  30. <xsl:apply-templates/>
  31. </xsl:template>
  32. <!-- Default copy override: CData fix -->
  33. <xsl:template match="value/text()">
  34. <xsl:if test="name(.) = 'cdata'">
  35. <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
  36. <xsl:value-of disable-output-escaping="yes" select="."/>
  37. <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
  38. </xsl:if>
  39. <xsl:if test="not(name(.) = 'cdata')">
  40. <xsl:value-of disable-output-escaping="no" select="."/>
  41. </xsl:if>
  42. </xsl:template>
  43. <!-- general copy -->
  44. <xsl:template match="*">
  45. <xsl:element name="{name(.)}">
  46. <xsl:for-each select="@*">
  47. <xsl:attribute name="{name(.)}"><xsl:value-of select="."/></xsl:attribute>
  48. </xsl:for-each>
  49. <xsl:apply-templates select="node()"/>
  50. </xsl:element>
  51. </xsl:template>
  52. <!-- Change the actionlog version to 1.1 version-->
  53. <xsl:template match="*[local-name()='bmtactionlog']">
  54. <xsl:element name="bmtactionlog">
  55. <xsl:for-each select="@*">
  56. <xsl:attribute name="{name(.)}"><xsl:value-of select="."/></xsl:attribute>
  57. </xsl:for-each>
  58. <!--Insert/Update the version tag-->
  59. <xsl:attribute name="version">1.1.316.0</xsl:attribute>
  60. <xsl:apply-templates select="node()"/>
  61. </xsl:element>
  62. </xsl:template>
  63. <!-- Action Log Upgrade 1.1.316.0: Append to DBImport param#8 (optional if it's missing) and param#9 (localized string overrides from 1.0) -->
  64. <xsl:template match="/bmtactionlog/transaction/action[@type = 'DBImport']/inputparams">
  65. <xsl:element name="{name(.)}">
  66. <xsl:variable name="importspec_cdata" select="param[@seq ='2' and @type='node']/value/text()[0]"/>
  67. <xsl:variable name="olapkeyword1" select="string('Value=&quot;true&quot; dbType=&quot;OLAP&quot;')"/>
  68. <xsl:variable name="olapkeyword2" select="string('Value=&quot;partial&quot; dbType=&quot;OLAP&quot;')"/>
  69. <!-- copy old parameters -->
  70. <xsl:apply-templates select="node()"/>
  71. <!-- Test for OLAP Import -->
  72. <xsl:if test="contains($olapkeyword1, $importspec_cdata) or contains($olapkeyword2, $importspec_cdata)">
  73. <!-- insert default parameter value if missing -->
  74. <xsl:if test="count(param) = 7">
  75. <xsl:element name="param">
  76. <xsl:attribute name="seq">8</xsl:attribute>
  77. <xsl:attribute name="type">integer</xsl:attribute>
  78. <xsl:element name="value">0</xsl:element>
  79. </xsl:element>
  80. </xsl:if>
  81. <!-- append new parameter - old object name overrides from 1.0 -->
  82. <xsl:if test="count(param) = 7 or count(param) = 8">
  83. <xsl:element name="param">
  84. <xsl:attribute name="seq">9</xsl:attribute>
  85. <xsl:attribute name="type">cclnode</xsl:attribute>
  86. <xsl:element name="value">
  87. <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
  88. <xsl:text disable-output-escaping="yes"><![CDATA[
  89. <defaulNames>
  90. <name id="OLAP_PROPERTIES">
  91. <value language="en">(attributes)</value>
  92. <value language="fr">(attributs)</value>
  93. <value language="de">(Attribute)</value>
  94. <value language="ja">(属性)</value>
  95. </name>
  96. <name id="OLAP_FACT">
  97. <value language="en">Key Figures</value>
  98. <value language="fr">Données clé</value>
  99. <value language="de">Schlüsselwerte</value>
  100. <value language="ja">重要なデータ</value>
  101. </name>
  102. <name id="OLAP_QUERIES">
  103. <value language="en">Queries</value>
  104. <value language="fr">Requêtes</value>
  105. <value language="de">Abfragen</value>
  106. <value language="ja">クエリー</value>
  107. </name>
  108. <name id="OLAP_SURROGATE_KEY">
  109. <value language="en">(surrogate key)</value>
  110. <value language="fr">(clé secondaire)</value>
  111. <value language="de">(Ersatzschlüssel)</value>
  112. <value language="ja">(代理キー)</value>
  113. </name>
  114. <name id="OLAP_SURROGATE_KEYS">
  115. <value language="en">Surrogate Keys</value>
  116. <value language="fr">Clés secondaires</value>
  117. <value language="de">Ersatzschlüssel</value>
  118. <value language="ja">代理キー</value>
  119. </name>
  120. <name id="OLAP_CUBE">
  121. <value language="en">SAP BW info cube</value>
  122. <value language="fr">cube d'informations SAP BW</value>
  123. <value language="de">SAP BW Info-Cube</value>
  124. <value language="ja">SAP BW 情報キューブ</value>
  125. </name>
  126. <name id="OLAP_DIMENSION_GROUP">
  127. <value language="en">SAP BW dimension</value>
  128. <value language="fr">Dimension SAP BW</value>
  129. <value language="de">SAP BW-Dimension</value>
  130. <value language="ja">SAP BW ディメンション</value>
  131. </name>
  132. <name id="OLAP_DIMENSION">
  133. <value language="en">SAP BW characteristic</value>
  134. <value language="fr">Caractéristique de SAP BW</value>
  135. <value language="de">SAP BW-Merkmal</value>
  136. <value language="ja">SAP BW 特性</value>
  137. </name>
  138. <name id="OLAP_ALL">
  139. <value language="en">(All)</value>
  140. <value language="fr">(Tout)</value>
  141. <value language="de">(Alles)</value>
  142. <value language="ja">(すべて)</value>
  143. </name>
  144. <name id="OLAP_YEAR">
  145. <value language="en">Year</value>
  146. <value language="fr">Année</value>
  147. <value language="de">Jahr</value>
  148. <value language="ja">年</value>
  149. </name>
  150. <name id="OLAP_YEAR_QUARTER">
  151. <value language="en">Year/Quarter</value>
  152. <value language="fr">Année/Trimestre</value>
  153. <value language="de">Jahr/Quartal</value>
  154. <value language="ja">年/四半期</value>
  155. </name>
  156. <name id="OLAP_YEAR_MONTH">
  157. <value language="en">Year/Month</value>
  158. <value language="fr">Année/Mois</value>
  159. <value language="de">Jahr/Monat</value>
  160. <value language="ja">年/月</value>
  161. </name>
  162. <name id="OLAP_YEAR_DAY">
  163. <value language="en">Year/Day</value>
  164. <value language="fr">Année/Jour</value>
  165. <value language="de">Jahr/Tag</value>
  166. <value language="ja">年/日</value>
  167. </name>
  168. </defaulNames>
  169. ]]></xsl:text>
  170. <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
  171. </xsl:element>
  172. </xsl:element>
  173. </xsl:if>
  174. </xsl:if>
  175. </xsl:element>
  176. </xsl:template>
  177. </xsl:stylesheet>