114 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			114 lines
		
	
	
	
		
			3.5 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/xml/xslt10-freebsd.dtd" [
 | |
| <!ENTITY title "Commercial Vendors">
 | |
| ]>
 | |
| 
 | |
| <!-- $FreeBSD$ -->
 | |
| 
 | |
| <xsl:stylesheet version="1.0"
 | |
|   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 | |
|   xmlns="http://www.w3.org/1999/xhtml">
 | |
| 
 | |
|   <xsl:import href="http://www.FreeBSD.org/XML/www/share/xml/libcommon.xsl"/>
 | |
|   <xsl:import href="http://www.FreeBSD.org/XML/www/share/xml/xhtml.xsl"/>
 | |
| 
 | |
|   <xsl:param name="basename" select="'none'" />
 | |
|   <xsl:param name="sort" select="'none'" />
 | |
| 
 | |
|   <xsl:variable name="title">&title;</xsl:variable>
 | |
| 
 | |
|   <xsl:template name="process.sidewrap">
 | |
|     &nav.support;
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template name="process.contentwrap">
 | |
| 		<xsl:for-each select="/entries">
 | |
| 		<xsl:call-template name="html-commercial-preface" />
 | |
| 
 | |
| 		<xsl:call-template name="html-commercial-listing" />
 | |
| 		</xsl:for-each>
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template name="html-commercial-preface">
 | |
|     <p>The power, flexibility, and reliability of FreeBSD attract
 | |
|       a wide variety of users and vendors. Here you will find
 | |
|       vendors offering commercial products and/or services for
 | |
|       FreeBSD.</p>
 | |
| 
 | |
|     <p>For your convenience, we have divided our growing
 | |
|       commercial listing into several sections. If your company
 | |
|       supports a FreeBSD-compatible product or service that should
 | |
|       be added to this page, please fill out a
 | |
|       <a href="http://www.FreeBSD.org/send-pr.html">problem report</a> for
 | |
|       category www.  Submissions should be in HTML and a medium-sized
 | |
|       paragraph in length.</p>
 | |
| 
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="$basename = 'software.html'">
 | |
| 	<h2>Software Vendors</h2>
 | |
| 
 | |
| 	<p>This file has been divided into sub-categories for your
 | |
| 	  convenience.	The following shortcuts will take you to the
 | |
| 	  proper gallery entries.</p>
 | |
| 
 | |
|       </xsl:when>
 | |
|       <xsl:when test="$basename = 'consult.html'">
 | |
| 	<h2>Consulting Services</h2>
 | |
| 
 | |
| 	<p>This file has been divided into sub-categories for your convenience.
 | |
| 	  The following shortcuts will take you to the proper gallery entries.</p>
 | |
|       </xsl:when>
 | |
|       <xsl:otherwise>
 | |
| 	<h2><xsl:value-of select="$pagename" /></h2>
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
|   </xsl:template>
 | |
| 
 | |
|   <xsl:template name="html-commercial-listing">
 | |
|     <xsl:choose>
 | |
|       <xsl:when test="$sort = 'bycat'">
 | |
| 	<xsl:for-each select="/entries/categories/category/@id">
 | |
| 	  <xsl:variable name="id" select="." />
 | |
| 
 | |
| 	  <h3><xsl:value-of select="/entries/categories/category[@id = $id]" /></h3>
 | |
| 
 | |
| 	  <ul>
 | |
| 	    <xsl:for-each select="/entries/entry[@category = $id]">
 | |
| 	      <xsl:sort select="name"/>
 | |
| 
 | |
| 	      <li><xsl:element name="a">
 | |
| 		  <xsl:attribute name="href">
 | |
| 		    <xsl:value-of select='concat($basename, "#", @id)' />
 | |
| 		  </xsl:attribute>
 | |
| 		  <xsl:value-of select="name"/>
 | |
| 		</xsl:element></li>
 | |
| 	    </xsl:for-each>
 | |
| 	  </ul>
 | |
| 	</xsl:for-each>
 | |
|       </xsl:when>
 | |
| 
 | |
|       <xsl:otherwise>
 | |
| 	<dl>
 | |
| 	  <xsl:for-each select="/entries/entry">
 | |
| 	    <xsl:sort select="translate(name, $uppercase, $lowercase)" order="ascending"/>
 | |
| 
 | |
| 	    <dt><xsl:element name="a">
 | |
| 		<xsl:attribute name="name">
 | |
| 		  <xsl:value-of select='@id' />
 | |
| 		</xsl:attribute>
 | |
| 
 | |
| 		<xsl:attribute name="href">
 | |
| 		  <xsl:value-of select='url' />
 | |
| 		</xsl:attribute>
 | |
| 
 | |
| 		<xsl:value-of select="name"/>
 | |
| 	      </xsl:element></dt>
 | |
| 
 | |
| 	    <dd><xsl:apply-templates select="description/child::node()" mode="copy.html"/></dd>
 | |
| 	  </xsl:for-each>
 | |
| 	</dl>
 | |
|       </xsl:otherwise>
 | |
|     </xsl:choose>
 | |
|   </xsl:template>
 | |
| </xsl:stylesheet>
 |