XML files and use them to generate dynamic content. For now, just use this to mention the number of freebsd related events and the number of unique countries in which they were held in the last year according to events.xml. We could also list some high level statistics about usergroups here since that content is also maintained in XML.
90 lines
2.8 KiB
XML
90 lines
2.8 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
|
<!DOCTYPE xsl:stylesheet PUBLIC "-//FreeBSD//DTD FreeBSD XSLT 1.0 DTD//EN"
|
|
"http://www.FreeBSD.org/XML/www/share/sgml/xslt10-freebsd.dtd" [
|
|
<!ENTITY title "FreeBSD Community">
|
|
<!ENTITY email "freebsd-www">
|
|
<!ENTITY base "http://www.FreeBSD.org/">
|
|
<!ENTITY % navinclude.community "INCLUDE">
|
|
]>
|
|
|
|
<!-- $FreeBSD$ -->
|
|
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
|
xmlns:cvs="http://www.FreeBSD.org/XML/CVS">
|
|
<xsl:import href="http://www.FreeBSD.org/XML/www/lang/share/sgml/libcommon.xsl"/>
|
|
|
|
<xsl:variable name="date">
|
|
<xsl:value-of select="//cvs:keyword[@name='freebsd']"/>
|
|
</xsl:variable>
|
|
|
|
<xsl:output method="xml" encoding="&xml.encoding;"
|
|
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
|
|
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/>
|
|
|
|
<xsl:key name="last-year-event-by-country" match="event[number(enddate/year) = (number($curdate.year) - 1)]"
|
|
use="location/country" />
|
|
|
|
<xsl:key name="event-by-year" match="event" use="enddate/year" />
|
|
|
|
<xsl:template match="events">
|
|
<html>
|
|
&header1;
|
|
<body>
|
|
|
|
<div id="CONTAINERWRAP">
|
|
<div id="CONTAINER">
|
|
&header2;
|
|
|
|
<div id="CONTENT">
|
|
<div id="SIDEWRAP">
|
|
&nav;
|
|
</div> <!-- SIDEWRAP -->
|
|
|
|
<div id="CONTENTWRAP">
|
|
&header3;
|
|
|
|
<p>FreeBSD is well supported by its active
|
|
community.</p>
|
|
|
|
<p>There are more than one hundred <a
|
|
href="&base;/community/mailinglists.html">mailing
|
|
lists</a> and several <a
|
|
href="&base;/community/newsgroups.html">newsgroups</a>
|
|
available. There are a number of FreeBSD <a
|
|
href="&base;/usergroups.html">User Groups</a> around
|
|
the world, and there is also an active <a
|
|
href="&base;/community/irc.html">IRC</a> community. Many
|
|
developers also maintain <a
|
|
href="http://planet.freebsdish.org">blogs</a> about
|
|
their FreeBSD work.</p>
|
|
|
|
<p>Last year there were <xsl:value-of
|
|
select="count(event[number(enddate/year) =
|
|
(number($curdate.year) -1)])" /> FreeBSD events in
|
|
<xsl:value-of
|
|
select="count(event[(number(enddate/year) =
|
|
(number($curdate.year) -1)) and (generate-id() =
|
|
generate-id(key('last-year-event-by-country',
|
|
location/country)[1]))])" /> different countries
|
|
around the world. A <a
|
|
href="&base;/events/events.ics">calendar</a> and
|
|
<a href="&base;/events/rss.xml">RSS feed</a> of
|
|
upcoming FreeBSD-related events are maintained on our
|
|
<a href="&base;/events/events.html">events
|
|
page</a>.</p>
|
|
|
|
</div> <!-- CONTENTWRAP -->
|
|
<br class="clearboth" />
|
|
</div> <!-- CONTENT -->
|
|
|
|
<div id="FOOTER">
|
|
©right;<br />
|
|
&date;
|
|
</div> <!-- FOOTER -->
|
|
</div> <!-- CONTAINER -->
|
|
</div> <!-- CONTAINERWRAP -->
|
|
|
|
</body>
|
|
</html>
|
|
</xsl:template>
|
|
</xsl:stylesheet>
|