Is this not the correct place for making submissions to the project? Could someone let me know where the developer list moved to?

Ari


On 22/03/2009, at 3:20 PM, Aristedes Maniatis wrote:

Please find my contribution for making the package list [1] human readable. A request for help was made on the forums [2] and since I was looking for the same thing, I thought I'd address the problem with a solution. The XSLT is pretty simple, but I just wanted to get something working which could then be improved on.

There are some problems with the original XML though. "<ENDOFPACKAGES>" as a delimiter? I don't think that is a good idea. And it would be useful to see a xsd file created so that things like status can be standardised and validated.

Because I used XSLT 2.0 you'll need to do the transform server-side or with a Firefox plugin like this [3]. It could be made XSLT 1.0 if you dropped the grouping by category or rewrote the original XML to group the packages by category in the first place.

I release this code under the standard BSD license.


Ari Maniatis




[1] http://www.pfsense.com/packages/pkg_config.xml
[2] http://forum.pfsense.org/index.php/topic,7743.0.html
[3] https://addons.mozilla.org/en-US/firefox/addon/5023




<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="2.0">
   <xsl:output method="html" encoding="UTF-8" indent="yes"/>
   <xsl:template match="pfsensepkgs">
       <html>
           <head>
<title>pfSense Open Source Firewall Distribution - Packages</title> <link rel="shortcut icon" href="http://www.pfsense.org/images/favicon.ico " />

<link rel="stylesheet" href="templates/modular_plazza/ css/template_css.css" type="text/css" /> <link rel="stylesheet" href="templates/modular_plazza/ css/sfish.css" type="text/css" />
           </head>
           <body class="bodies">
               <h2>pfSense Package list</h2>
               <xsl:apply-templates/>
           </body>
       </html>
   </xsl:template>

   <xsl:template match="packages">
       <xsl:for-each-group select="package" group-by="category">
           <h3>
Category: <xsl:value-of select="current-grouping- key()"/>
           </h3>
           <xsl:for-each select="current-group()">
               <h4>
                   <xsl:value-of select="name"/>
               </h4>
<span class="version">Version <xsl:value-of select="version"/> </span>
               <xsl:choose>
<xsl:when test="status = 'ALPHA'" ><span style="color:red">alpha</span></xsl:when> <xsl:when test="status = 'BETA'" ><span style="color:blue">beta</span></xsl:when> <xsl:otherwise><span style="color:green"><xsl:value-of select="status"/></span></ xsl:otherwise>
               </xsl:choose>
               <br/>
<xsl:value-of select="descr" disable-output- escaping="yes"/>
           </xsl:for-each>
       </xsl:for-each-group>
   </xsl:template>
</xsl:stylesheet>




-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001   fax +61 2 9550 4001
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Commercial support available - https://portal.pfsense.org






-------------------------->
ish
http://www.ish.com.au
Level 1, 30 Wilson Street Newtown 2042 Australia
phone +61 2 9550 5001   fax +61 2 9550 4001
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Commercial support available - https://portal.pfsense.org

Reply via email to