1 <?xml version=
"1.0" encoding=
"UTF-8"?>
2 <xsl:stylesheet xmlns=
"http://www.w3.org/1999/xhtml"
3 xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
4 xmlns:
zi=
"http://zero-install.sourceforge.net/2004/injector/interface"
7 <xsl:output method=
"xml" encoding=
"utf-8"
8 doctype-system=
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
9 doctype-public=
"-//W3C//DTD XHTML 1.0 Strict//EN"/>
11 <xsl:template match=
"/zi:interface">
15 <xsl:value-of select=
"zi:name"/>
17 <style type='text/css'
>
18 html { background: #d0d0ff; }
19 body { background: #d0d0ff; margin:
0; padding:
0; color: black;}
20 h1 { text-align: center; border-bottom:
2px solid #d0d0ff; padding-bottom:
.5em; }
21 div.main { padding:
1em; background: white;
22 -moz-border-radius:
1em
1em
1em
1em; max-width:
60em;
23 margin-left: auto; margin-right: auto;
24 margin-top:
1em; margin-bottom:
1em;}
25 dt { font-weight: bold; text-transform:capitalize; }
26 dd { padding-bottom:
1em; }
27 dl.group { margin:
0.5em; padding:
0.5em; border:
1px dashed #
888;}
28 dl.impl { padding:
0.2em
1em
0.2em
1em; margin:
0.5em; border:
1px solid black; background: white;}
29 pre { background: #ddd; color: black; padding:
0.2cm; }
31 th { background: #d0d0ff; text-align: left; }
32 td { background: #e0e0ff; text-align: left; }
37 <h1><xsl:value-of select=
"zi:name"/> -
<xsl:value-of select='zi:summary'
/></h1>
43 <xsl:when test='//zi:implementation[@main] | //zi:group[@main]'
>
44 <p>This is a Zero Install feed. To run this program from the command-line, use this
46 <pre>$
0launch
<xsl:value-of select='/zi:interface/@uri'
/></pre>
48 The
<b>0alias
</b> command can be used to create a short-cut to run it again later.
51 If you use a graphical desktop, you can drag
<a href='{/zi:interface/@uri}'
>the feed's URL
</a> to
52 an installer such as
<a href='http://rox.sourceforge.net/desktop/AddApp'
>AddApp
</a> (ROX),
53 <a href='http://rox.sourceforge.net/desktop/node/
269'
>the Xfce
4.4 panel
</a>, or
54 <a href='http://rox.sourceforge.net/desktop/node/
402'
>Zero2Desktop
</a> (GNOME and KDE).
57 If you don't have the
<b>0launch
</b> command, download it from
58 <a href='http://
0install.net/injector.html'
>the
0install.net web-site
</a>, which also contains
59 documentation about how the Zero Install system works.
</p>
62 <p>This is a Zero Install feed.
63 This software cannot be run as an application directly. It is a library for other programs to use.
</p>
64 <p>For more information about Zero Install, see
<a href='http://
0install.net'
>0install.net
</a>.
</p>
69 <xsl:apply-templates mode='dl' select='*|@*'
/>
70 <dt>Available versions
</dt>
72 <p>The list below is just for information; Zero Install will automatically download one of
73 these versions for you.
76 <tr><th>Version
</th><th>Released
</th><th>Stability
</th><th>Download
</th></tr>
77 <xsl:for-each select='//zi:implementation'
>
79 <td><xsl:value-of select='(ancestor-or-self::*[@version])[last()]/@version'
/></td>
80 <td><xsl:value-of select='(ancestor-or-self::*[@released])[last()]/@released'
/></td>
81 <td><xsl:value-of select='(ancestor-or-self::*[@stability])[last()]/@stability'
/></td>
83 <xsl:for-each select='.//zi:archive'
>
84 <a href='{@href}'
>Download
</a> (
<xsl:value-of select='@size'
/> bytes)
97 <xsl:template mode='dl' match='/zi:interface/@uri'
>
98 <dt>Full name
</dt><dd><p><a href='{.}'
><xsl:value-of select=
"."/></a></p></dd>
101 <xsl:template mode='dl' match='zi:homepage'
>
102 <dt>Homepage
</dt><dd><p><a href='{.}'
><xsl:value-of select=
"."/></a></p></dd>
105 <xsl:template mode='dl' match='zi:description'
>
106 <dt>Description
</dt><dd><p><xsl:value-of select=
"."/></p></dd>
109 <xsl:template mode='dl' match='zi:icon'
>
110 <dt>Icon
</dt><dd><p><img src='{@href}'
/></p></dd>
113 <xsl:template mode='dl' match='*|@*'
/>
115 <xsl:template match='zi:group'
>
117 <xsl:apply-templates mode='attribs' select='@stability|@version|@id|@arch|@released'
/>
118 <xsl:apply-templates select='zi:group|zi:requires|zi:implementation'
/>
122 <xsl:template match='zi:requires'
>
124 <dd><a href='{@interface}'
><xsl:value-of select='@interface'
/></a></dd>
127 <xsl:template match='zi:implementation'
>
129 <xsl:apply-templates mode='attribs' select='@stability|@version|@id|@arch|@released'
/>
130 <xsl:apply-templates/>
134 <xsl:template mode='attribs' match='@*'
>
135 <dt><xsl:value-of select='name(.)'
/></dt>
136 <dd><xsl:value-of select='.'
/></dd>
139 <xsl:template match='zi:archive'
>
141 <dd><a href='{@href}'
><xsl:value-of select='@href'
/></a>
142 (
<xsl:value-of select='@size'
/> bytes)
</dd>