BalticMessagesToNCMessage.xsl 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. Licensed Materials - Property of IBM
  4. BI and PM: JSM
  5. (c) Copyright IBM Corp. 2003, 2010.
  6. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7. -->
  8. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:fo="http://www.w3.org/1999/XSL/Format">
  9. <xsl:output method="xml" encoding="UTF-8" indent = "yes" />
  10. <xsl:param name="BUILD-DATETIME"/>
  11. <xsl:template match="/stringTable">
  12. <xsl:comment xml:space="default">
  13. Licensed Materials - Property of IBM
  14. BI and PM: JSM
  15. (c) Copyright IBM Corp. 2003, 2010.
  16. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  17. </xsl:comment>
  18. <xsl:element name="message-list">
  19. <xsl:for-each select="./component">
  20. <xsl:comment><xsl:value-of select="@name"/></xsl:comment>
  21. <xsl:comment><xsl:value-of select="@usage"/></xsl:comment>
  22. <xsl:for-each select="./section">
  23. <xsl:variable name="elementName" select="substring-before(@usage, ' messages')"/>
  24. <xsl:element name="{$elementName}">
  25. <xsl:comment>Section : <xsl:value-of select="@name"/></xsl:comment>
  26. <xsl:comment><xsl:value-of select="@usage"/></xsl:comment>
  27. <xsl:for-each select="string">
  28. <xsl:element name="message_type">
  29. <xsl:variable name="errCode" select="@errorCode"/>
  30. <xsl:element name="code">
  31. <xsl:value-of select="@errorCode"/>
  32. </xsl:element>
  33. <xsl:element name="parameter_list">
  34. <xsl:for-each select="child::node()">
  35. <xsl:choose>
  36. <xsl:when test="name() = 'param'">
  37. <xsl:choose>
  38. <xsl:when test = "@name = '0'" >
  39. <xsl:element name="para"> <xsl:attribute name="ID"><xsl:value-of select="$errCode"/>a</xsl:attribute><xsl:text>type</xsl:text></xsl:element>
  40. </xsl:when>
  41. <xsl:when test = "@name = '1'" >
  42. <xsl:element name="para"> <xsl:attribute name="ID"><xsl:value-of select="$errCode"/>b</xsl:attribute><xsl:text>type</xsl:text></xsl:element>
  43. </xsl:when>
  44. <xsl:when test = "@name = '2'" >
  45. <xsl:element name="para"><xsl:attribute name="ID"><xsl:value-of select="$errCode"/>c</xsl:attribute><xsl:text>type</xsl:text></xsl:element>
  46. </xsl:when>
  47. <xsl:when test = "@name = '3'" >
  48. <xsl:element name="para"><xsl:attribute name="ID"><xsl:value-of select="$errCode"/>d</xsl:attribute><xsl:text>type</xsl:text></xsl:element>
  49. </xsl:when>
  50. </xsl:choose>
  51. </xsl:when>
  52. </xsl:choose>
  53. </xsl:for-each>
  54. </xsl:element>
  55. <xsl:element name="text">
  56. <xsl:attribute name="xml:space" namespace="http://www.w3.org/XML/1998/namespace">preserve</xsl:attribute>
  57. <!-- put in the error code unless keywords-->
  58. <xsl:if test="not(../@name='Key') and (../@type='Messages')">
  59. <xsl:value-of select="../../@name"/>
  60. <xsl:text>-</xsl:text>
  61. <xsl:value-of select="translate(substring(../@name,1,3),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
  62. <xsl:text>-</xsl:text>
  63. <xsl:value-of select="format-number(@errorCode,'0000')"/>
  64. <xsl:text>&#32;</xsl:text>
  65. </xsl:if>
  66. <xsl:for-each select="child::node()">
  67. <xsl:choose>
  68. <xsl:when test="name() = 'param'">
  69. <xsl:element name="parameter">
  70. <xsl:attribute name="IDREF">
  71. <xsl:choose >
  72. <xsl:when test = "@name = '0'" ><xsl:value-of select="$errCode"/>a</xsl:when>
  73. <xsl:when test = "@name = '1'" ><xsl:value-of select="$errCode"/>b</xsl:when>
  74. <xsl:when test = "@name = '2'" ><xsl:value-of select="$errCode"/>c</xsl:when>
  75. <xsl:when test = "@name = '3'" ><xsl:value-of select="$errCode"/>d</xsl:when>
  76. </xsl:choose >
  77. </xsl:attribute>
  78. </xsl:element>
  79. </xsl:when>
  80. <xsl:otherwise>
  81. <xsl:value-of select="."/>
  82. </xsl:otherwise>
  83. </xsl:choose>
  84. </xsl:for-each>
  85. </xsl:element>
  86. </xsl:element>
  87. </xsl:for-each>
  88. </xsl:element>
  89. </xsl:for-each>
  90. </xsl:for-each>
  91. </xsl:element>
  92. </xsl:template>
  93. </xsl:stylesheet>