Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.34 KB | None | 0 0
  1. <xsl:variable name="numberOfRecords" select="count(/upkeepList/upkShare)"/>
  2.  
  3. <xsl:variable name="upkshr">
  4. <xsl:for-each select="*/upkShare">
  5. <upkp pstdte="{@post_dte}" rltedmnthyr = "{@month_year}" ob = "{format-number(OpngBlnce, '#', 'coerce')}"
  6. mcamnt = "{format-number(mnthCrrntAmnt, '#','coerce')}" term = "{@due}" rcptsum = "{format-number(sum(Rcpt/amnt), '#','coerce')}" />
  7. </xsl:for-each>
  8. </xsl:variable>
  9. <xsl:param name="size" select="4"/>
  10. <xsl:template match="/">
  11. <xsl:variable name="upkp-set" select="exsl:node-set($upkshr)/upkp"/>
  12.  
  13. <html>
  14. <head>
  15. <h3 style="margin-left:320">Upkeep share bills list</h3>
  16. </head>
  17. <body>
  18. <xsl:apply-templates select="$upkp-set[position() mod $size = 1]">
  19. <xsl:with-param name="pages" select="ceiling(count($upkp-set) div $size)"/>
  20. <xsl:with-param name="numberOfRecords" select="$numberOfRecords"/>
  21. </xsl:apply-templates>
  22. </body>
  23. </html>
  24. </xsl:template>
  25. <xsl:template match="upkp">
  26. <xsl:param name="pages"/>
  27. <xsl:param name="numberOfRecords"/>
  28. <xsl:variable name="page" select="position()"/>
  29.  
  30. <table border="1" id='content{$page - 1}' width="80px" height="170" style="text-align:center;">
  31. <tr>
  32. <th>UpkpShare_Prd</th> <th>PostDate</th> <th>InitBalance</th>
  33. <th>UpkpShare_Amnt</th>
  34. <th>DueDate</th> <th>FullAmnt</th> <th>FullAmntPayed</th>
  35. <th>AmntDue</th>
  36. </tr>
  37.  
  38. <xsl:for-each select=". | following-sibling::upkp[position()<$size]">
  39. <xsl:variable name="initblnc" select="sum(preceding-sibling::upkp/@ob) + sum(preceding-sibling::upkp/@mcamnt) - sum(preceding-sibling::upkp/@rcptsum) + @ob"/>
  40. <tr>
  41. <td><div style="auto"> <xsl:value-of select="@rltedmnthyr"/>
  42. </div></td>
  43. <td> <xsl:value-of select="@pstdte"/> </td>
  44. <td> <div style="width:30px">
  45. <xsl:value-of select="$initblnc"/>
  46. </div>
  47. </td>
  48. <td> <xsl:value-of select="@mcamnt"/> </td>
  49. <td> <div style="width:60px"> <xsl:value-of select="@term"/> </div> </td>
  50. <td> <xsl:value-of select="$initblnc + @mcamnt"/> </td>
  51. <td> <xsl:value-of select="@rcptsum"/> </td>
  52. <td> <xsl:value-of select="$initblnc + @mcamnt - @rcptsum"/> </td>
  53. </tr>
  54. </xsl:for-each>
  55.  
  56. <tr>
  57. <td colspan="8">
  58.  
  59. <xsl:call-template name="s">
  60. <xsl:with-param name="numberOfRecords" select="$numberOfRecords" />
  61. <xsl:with-param name="currentPage" select="$page - 1" />
  62. <xsl:with-param name="recordsPerPage" select="$size" />
  63. </xsl:call-template>
  64. </td> </tr>
  65. </table>
  66. </xsl:template>
  67. <!-- that site's pagination starts from here -->
  68. <xsl:param name="currentPage"/>
  69. <xsl:template name="s">
  70. <!--<xsl:param name="currentPage"/> -->
  71. <xsl:param name="numberOfRecords"/>
  72. <xsl:param name="recordsPerPage"/>
  73.  
  74. <xsl:variable name="pageNumber">
  75. <xsl:choose>
  76. <!-- first page -->
  77. <xsl:when test="$currentPage <= 0 or $currentPage = '' or $currentPage = 'NaN'">0</xsl:when>
  78. <!-- what was passed in -->
  79. <xsl:otherwise>
  80. <xsl:value-of select="$currentPage"/>
  81. </xsl:otherwise>
  82. </xsl:choose>
  83. </xsl:variable>
  84.  
  85. <!-- The fun starts here -->
  86. <ul class="listing self-clear">
  87. <xsl:for-each select="//item">
  88. <xsl:if test="position() > $recordsPerPage * number($pageNumber) and position() <= number($recordsPerPage * number($pageNumber) + $recordsPerPage )">
  89. <li>
  90. <xsl:attribute name="class">
  91. <xsl:if test="position() = $recordsPerPage * (number($pageNumber) + 1)">last</xsl:if>
  92. </xsl:attribute>
  93. <h4> <!--<a href="?p={position()}">--> <xsl:value-of select="text()"/> <!--</a> -->
  94. </h4>
  95. </li>
  96. </xsl:if>
  97. </xsl:for-each>
  98. </ul>
  99. <xsl:call-template name="pagination">
  100. <xsl:with-param name="pageNumber" select="$pageNumber"/>
  101. <xsl:with-param name="recordsPerPage" select="$recordsPerPage"/>
  102. <xsl:with-param name="numberOfRecords" select="$numberOfRecords"/>
  103. </xsl:call-template>
  104. </xsl:template>
  105.  
  106. <xsl:template name="pagination">
  107. <xsl:param name="pageNumber"/>
  108. <xsl:param name="recordsPerPage"/>
  109. <xsl:param name="numberOfRecords"/>
  110. <div class="pagination">
  111. <div class="wrapper">
  112. <xsl:if test="(($pageNumber +1) * $recordsPerPage) < ($numberOfRecords)">
  113. <a href="#{$pageNumber + 1}" class="next" onclick="nextPage({$pageNumber + 1})">Next</a>
  114. <xsl:text> </xsl:text>
  115. </xsl:if>
  116. <xsl:if test="$pageNumber > 0">
  117. <xsl:text> </xsl:text>
  118. <a href="#{$pageNumber -1}" class="prev" onclick="prevPage({$pageNumber - 1})">Prev</a>
  119. </xsl:if>
  120. <xsl:text> </xsl:text>
  121. <span class="page-nos">Page
  122. <xsl:call-template name="for.loop">
  123. <xsl:with-param name="i"> 1 </xsl:with-param>
  124. <xsl:with-param name="page" select="$pageNumber +1"/>
  125. <xsl:with-param name="count" select="ceiling(count(//item)div $recordsPerPage)"/>
  126. </xsl:call-template>
  127. </span>
  128. </div>
  129. </div>
  130. </xsl:template>
  131.  
  132. <xsl:template name="for.loop">
  133. <xsl:param name="i"/>
  134. <xsl:param name="count"/>
  135. <xsl:param name="page"/>
  136. <xsl:if test="$i <= $count">
  137. <span>
  138. <xsl:if test="$page != $i">
  139. <a href="?page={$currentPage}"> <xsl:value-of select="$i"/> </a>
  140. </xsl:if>
  141. <xsl:if test="$page = $i">
  142. <xsl:value-of select="$i"/>
  143. </xsl:if>
  144. </span>
  145. </xsl:if>
  146. <xsl:if test="$i <= $count">
  147. <xsl:call-template name="for.loop">
  148. <xsl:with-param name="i">
  149. <xsl:value-of select="$i + 1"/>
  150. </xsl:with-param>
  151. <xsl:with-param name="count">
  152. <xsl:value-of select="$count"/>
  153. </xsl:with-param>
  154. <xsl:with-param name="page">
  155. <xsl:value-of select="$page"/>
  156. </xsl:with-param>
  157. </xsl:call-template>
  158. </xsl:if>
  159. </xsl:template>
  160. </xsl:stylesheet>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement