isxfunc.xsl 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. <?xml version="1.0"?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output doctype-system="isetup.dtd" indent="yes" encoding="utf-8"/>
  4. <xsl:template match="isxhelp">
  5. <xsl:comment>
  6. Inno Setup
  7. Copyright (C) 1997-2026 Jordan Russell
  8. Portions by Martijn Laan
  9. For conditions of distribution and use, see LICENSE.TXT.
  10. This file is automatically generated by ISHelpGen. Do not edit.
  11. </xsl:comment>
  12. <ishelp version="1">
  13. <xsl:comment>Topics</xsl:comment>
  14. <topic name="scriptfunctions" title="Pascal Scripting: Support Functions Reference">
  15. <keyword value="Pascal Scripting: Support Functions Reference" />
  16. <keyword value="Support Functions Reference" />
  17. <body>
  18. <p>The Pascal script can call several built-in support functions.</p>
  19. <heading>Support functions</heading>
  20. <p>Here's the list of support functions that can be called from within the Pascal script.</p>
  21. <p>Parameter type <tt>AnyString</tt> means both <tt>String</tt> and <tt>AnsiString</tt> can be used.</p>
  22. <p>Parameter type <tt>Array</tt> means any array type can be used.</p>
  23. <xsl:for-each select="isxfunc//category">
  24. <xsl:call-template name="category"/>
  25. </xsl:for-each>
  26. <heading>Constants</heading>
  27. <p>Here's the list of constants used by these functions:</p>
  28. <xsl:for-each select="isxenum/enum">
  29. <xsl:call-template name="enum"/></xsl:for-each>
  30. </body>
  31. </topic>
  32. <xsl:for-each select="isxfunc//function">
  33. <xsl:call-template name="function2"/>
  34. </xsl:for-each>
  35. </ishelp>
  36. </xsl:template>
  37. <xsl:template name="category">
  38. <p>
  39. <b><xsl:value-of select="description"/> functions</b><br />
  40. <xsl:for-each select="subcategory">
  41. <xsl:call-template name="subcategory"/>
  42. </xsl:for-each>
  43. </p>
  44. </xsl:template>
  45. <xsl:template name="subcategory">
  46. <br />
  47. <xsl:for-each select="function">
  48. <xsl:call-template name="function1"/>
  49. </xsl:for-each>
  50. </xsl:template>
  51. <xsl:template name="function1">
  52. <tt><xsl:value-of select="substring-before(prototype, name)"/><link topic="isxfunc_{name}"><xsl:value-of select="name"/></link><xsl:value-of select="substring-after(prototype, name)"/></tt><br />
  53. </xsl:template>
  54. <xsl:template name="enum">
  55. <p>
  56. <i><xsl:apply-templates select="description"/></i><br />
  57. <xsl:apply-templates select="values"/>
  58. </p>
  59. </xsl:template>
  60. <xsl:template name="function2">
  61. <topic name="isxfunc_{name}" title="Pascal Scripting: {name}">
  62. <keyword value="{name}" />
  63. <body>
  64. <p margin="no"><b>Prototype:</b></p>
  65. <p><tt><xsl:value-of select="prototype"/></tt></p>
  66. <p margin="no"><b>Description:</b></p>
  67. <xsl:choose>
  68. <xsl:when test="description">
  69. <xsl:apply-templates select="description"/>
  70. </xsl:when>
  71. <xsl:otherwise>
  72. <p><i>not yet available</i></p>
  73. </xsl:otherwise>
  74. </xsl:choose>
  75. <xsl:choose>
  76. <xsl:when test="remarks">
  77. <p margin="no"><b>Remarks:</b></p>
  78. <xsl:apply-templates select="remarks"/>
  79. </xsl:when>
  80. </xsl:choose>
  81. <xsl:choose>
  82. <xsl:when test="example">
  83. <p margin="no"><b>Example:</b></p>
  84. <xsl:apply-templates select="example"/>
  85. </xsl:when>
  86. </xsl:choose>
  87. <xsl:choose>
  88. <xsl:when test="seealso">
  89. <p margin="no"><b>See also:</b></p>
  90. <xsl:apply-templates select="seealso"/>
  91. </xsl:when>
  92. </xsl:choose>
  93. </body>
  94. </topic>
  95. </xsl:template>
  96. <xsl:template match="p">
  97. <p><xsl:apply-templates/></p></xsl:template>
  98. <xsl:template match="pre">
  99. <pre><xsl:apply-templates/></pre></xsl:template>
  100. <xsl:template match="i">
  101. <i><xsl:apply-templates/></i></xsl:template>
  102. <xsl:template match="b">
  103. <b><xsl:apply-templates/></b></xsl:template>
  104. <xsl:template match="tt">
  105. <tt><xsl:apply-templates/></tt></xsl:template>
  106. <xsl:template match="ul">
  107. <ul><xsl:apply-templates/></ul></xsl:template>
  108. <xsl:template match="li">
  109. <li><xsl:apply-templates/></li></xsl:template>
  110. <xsl:template match="table">
  111. <table><xsl:apply-templates/></table></xsl:template>
  112. <xsl:template match="tr">
  113. <tr><xsl:apply-templates/></tr></xsl:template>
  114. <xsl:template match="td">
  115. <td><xsl:apply-templates/></td></xsl:template>
  116. <xsl:template match="br">
  117. <br />
  118. </xsl:template>
  119. <xsl:template match="link">
  120. <xsl:choose>
  121. <xsl:when test="@anchor">
  122. <link topic="{@topic}" anchor="{@anchor}"><xsl:apply-templates/></link>
  123. </xsl:when>
  124. <xsl:otherwise>
  125. <link topic="{@topic}"><xsl:apply-templates/></link>
  126. </xsl:otherwise>
  127. </xsl:choose>
  128. </xsl:template>
  129. <xsl:template match="a">
  130. <extlink href="{@href}"><xsl:apply-templates/></extlink>
  131. </xsl:template>
  132. </xsl:stylesheet>