opnsense-src/release/doc/share/xml/release.xsl
Glen Barber 37e9c1d132 Modify release.xsl to allow proper attribution for
sponsored and/or contributed works.

This works similarly to how the subversion revision is
suffixed in release notes entries when 'revision="NNNNNN"'
is set.

The <para> tag in relnotes/article.xml can now take the
following new elements:

 - contrib: defined to what type of contribution the change
   is.  Right now, only 'vendor' or 'sponsor' are used.
   'vendor' is intended for vendor-contributed code, such as
   driver updates, etc.  'sponsor' is intended for sponsored
   work (the 'Sponsored by:' in the commit template).

 - vendor: The canonical name of the vendor.

 - sponsor: The canonical name of the sponsor.

 - vendorurl: The URL for the vendor website, if applicable.

 - sponsorurl: The URL for the sponsor website, if applicable.

If 'vendor' or 'sponsor' are set, but 'contrib' is not, nothing
is rendered.  If 'contrib' is set, but no 'vendor' or 'sponsor'
are defined, nothing is printed.  If 'vendorurl' or 'sponsorurl'
are set, the 'vendor' or 'sponsor' text is link, otherwise is
non-clickable text.

Sponsored by:	The FreeBSD Foundation
2014-05-07 19:20:54 +00:00

105 lines
3.1 KiB
XML

<?xml version="1.0"?>
<!-- $FreeBSD$ -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version='1.0'
xmlns="http://www.w3.org/TR/xhtml1/transitional"
xmlns:db="http://docbook.org/ns/docbook"
exclude-result-prefixes="db">
<xsl:import href="http://www.FreeBSD.org/XML/share/xml/freebsd-xhtml.xsl"/>
<xsl:import href="http://www.FreeBSD.org/release/XML/lang/share/xml/release.xsl"/>
<xsl:param name="release.url"/>
<xsl:param name="release.branch"/>
<xsl:template name="paragraph">
<xsl:param name="class" select="''"/>
<xsl:param name="content"/>
<xsl:variable name="p">
<p>
<xsl:choose>
<xsl:when test="$class != ''">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="class" select="$class"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="locale.html.attributes"/>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="@arch">
<xsl:value-of select="concat('[', @arch, ']')"/>
<xsl:value-of select='" "'/>
</xsl:if>
<xsl:copy-of select="$content"/>
<xsl:value-of select='" "'/>
<xsl:if test="@revision">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="concat('http://svn.freebsd.org/viewvc/base?view=revision&#38;revision=', @revision)"/>
</xsl:attribute>
<xsl:value-of select="concat('[r', @revision, ']')"/>
</xsl:element>
</xsl:if>
<xsl:if test="@contrib">
<xsl:element name="span">
<xsl:attribute name="class">
<xsl:value-of select="'contrib'"/>
</xsl:attribute>
<xsl:choose>
<xsl:when test="@contrib = 'sponsor'">
<xsl:if test="@sponsor != ''">
(Sponsored by
<xsl:choose>
<xsl:when test="@sponsorurl != ''">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="@sponsorurl"/>
</xsl:attribute>
<xsl:value-of select="concat(@sponsor, ')')"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(@sponsor, ')')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:when>
<xsl:when test="@contrib = 'vendor'">
<xsl:if test="@vendor != ''">
(Contributed / provided by
<xsl:choose>
<xsl:when test="@vendorurl != ''">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:value-of select="@vendorurl"/>
</xsl:attribute>
<xsl:value-of select="concat(@vendor, ')')"/>
</xsl:element>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat(@vendor, ')')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:when>
</xsl:choose>
</xsl:element>
</xsl:if>
</p>
</xsl:variable>
<xsl:choose>
<xsl:when test="$html.cleanup != 0">
<xsl:call-template name="unwrap.p">
<xsl:with-param name="p" select="$p"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="$p"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>