rg443

Checkpoint Firewall Objects to HTML

Jun 23rd, 2014
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 2.30 KB | None | 0 0
  1. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  2.     <xsl:output method="html"/>
  3.  
  4. <xsl:template match="/network_objects">
  5. <html><head><title>network objects</title>
  6. <style>tr {vertical-align:baseline;}</style>
  7. </head><body>
  8. <div style ="font:menu">
  9. <table style ="font:menu;border:1px solid gray;" border="1"  cellpadding="3" cellspacing="0" rules="rows">
  10. <thead>
  11. <colgroup>
  12. <col style="color:blue;" align="right"/>
  13. <col/>
  14. <col/>
  15. <col/>
  16. <col/>
  17. <col/>
  18. </colgroup>
  19. </thead>
  20. <tbody>
  21. <xsl:for-each select="network_object">
  22.  
  23. <xsl:sort data-type="number" select="substring-before(ipaddr,'.')"/>
  24. <xsl:sort data-type="number" select="substring-before(substring-after(ipaddr,'.'),'.')"/>
  25. <xsl:sort data-type="number" select="substring-before(substring-after(substring-after(ipaddr,'.'),'.'),'.')"/>
  26. <xsl:sort data-type="number" select="substring-after(substring-after(substring-after(ipaddr,'.'),'.'),'.')"/>
  27.  
  28. <xsl:sort case-order="upper-first" select="Class_Name"/>
  29. <xsl:sort case-order="upper-first" select="Name"/>
  30. <tr>
  31. <xsl:if test="Class_Name='network'">
  32. <xsl:attribute name="style">background-color:#d0d0d0;"></xsl:attribute>
  33. </xsl:if>
  34. <td><xsl:number value="position()" grouping-separator="." grouping-size="3"/></td>
  35. <td><xsl:value-of select="Class_Name"/></td>
  36. <td><xsl:value-of select="Name"/></td>
  37. <td><xsl:value-of select="ipaddr"/>
  38.  
  39. <xsl:choose>
  40. <xsl:when test="netmask != ''"> <xsl:value-of select="concat(' / ', netmask)"/>
  41. </xsl:when>
  42. <xsl:otherwise></xsl:otherwise>
  43. </xsl:choose>
  44.  
  45. <xsl:if test="ipaddr_first and ipaddr_last "><xsl:value-of select="ipaddr_first"/> - <xsl:value-of select="ipaddr_last"/></xsl:if>
  46.  
  47. </td>
  48.  
  49. <td>
  50. <xsl:if test="NAT">
  51. <xsl:value-of select="concat (NAT/valid_ipaddr,', ',NAT/the_firewalling_obj/Name,', ',NAT/netobj_adtr_method)"/>
  52. </xsl:if>
  53.  
  54. </td>
  55.  
  56. <td><xsl:value-of select="comments"/></td>
  57.  
  58. <td>
  59. <xsl:if test="members">
  60. <ol>
  61. <xsl:for-each select="members/reference">
  62. <xsl:sort case-order="upper-first" select="Name"/>
  63. <li><xsl:value-of select="Name"/></li>
  64. </xsl:for-each>
  65. </ol>
  66. </xsl:if>
  67.  
  68. <xsl:if test="base">
  69. <xsl:value-of select="base/Name"/>, not  
  70. <xsl:value-of select="exception/Name"/>
  71.  
  72. </xsl:if>
  73.  
  74. </td>
  75. </tr>
  76. </xsl:for-each>
  77. </tbody>
  78. </table>
  79. </div>
  80. </body>
  81. </html>
  82.  </xsl:template>
  83. </xsl:stylesheet>
Advertisement
Add Comment
Please, Sign In to add comment