Since K&R style prototypes appear to be the default for HTML and FO, customize the stylesheets rendering of funcsynopsis elements to generate ANSI style prototypes instead. 2015-06-17 Jon Turney <jon.turney@dronecode.org.uk> * fo.xsl: Render funcsynopsis elements as ANSI style function prototypes. * html.xsl: Ditto. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0" encoding="utf-8"?>
 | 
						|
<xsl:stylesheet
 | 
						|
		xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
 | 
						|
		xmlns:fo="http://www.w3.org/1999/XSL/Format"
 | 
						|
		version="1.0">
 | 
						|
	
 | 
						|
	<!-- Import the standard DocBook stylesheet that this one is based on.
 | 
						|
	     We use a web URL, but the local XML catalog should resolve this to
 | 
						|
			 the local copy of the stylesheet, if it exists. -->
 | 
						|
	<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
 | 
						|
 | 
						|
	<!-- Add page breaks before each sect1 -->
 | 
						|
	<xsl:attribute-set name="section.level1.properties">
 | 
						|
		<xsl:attribute name="break-before">page</xsl:attribute>
 | 
						|
	</xsl:attribute-set>
 | 
						|
 | 
						|
	<!-- Rag-right lines -->
 | 
						|
	<xsl:attribute-set name="root.properties">
 | 
						|
		<xsl:attribute name="text-align">left</xsl:attribute>
 | 
						|
	</xsl:attribute-set>
 | 
						|
 | 
						|
	<!-- Use a smaller font for code listings to increase the chances
 | 
						|
	     that they can fit on a single sheet, to reduce FOP complaints
 | 
						|
			 about being forced to split a listing across pages. -->
 | 
						|
	<xsl:attribute-set name="monospace.verbatim.properties">
 | 
						|
		<xsl:attribute name="font-size">85%</xsl:attribute>
 | 
						|
	</xsl:attribute-set>
 | 
						|
 | 
						|
	<!-- Inform the DocBook stylesheets that it's safe to use FOP
 | 
						|
	     specific extensions. -->
 | 
						|
	<xsl:param name="fop1.extensions" select="1"/>
 | 
						|
 | 
						|
	<!-- autotoc.xsl customization to make refentry in sect1 appear in toc -->
 | 
						|
<xsl:template match="sect1" mode="toc">
 | 
						|
  <xsl:param name="toc-context" select="."/>
 | 
						|
 | 
						|
  <xsl:variable name="id">
 | 
						|
    <xsl:call-template name="object.id"/>
 | 
						|
  </xsl:variable>
 | 
						|
 | 
						|
  <xsl:variable name="cid">
 | 
						|
    <xsl:call-template name="object.id">
 | 
						|
      <xsl:with-param name="object" select="$toc-context"/>
 | 
						|
    </xsl:call-template>
 | 
						|
  </xsl:variable>
 | 
						|
 | 
						|
  <xsl:call-template name="toc.line">
 | 
						|
    <xsl:with-param name="toc-context" select="$toc-context"/>
 | 
						|
  </xsl:call-template>
 | 
						|
 | 
						|
  <xsl:variable name="depth.from.context" select="count(ancestor::*)-count($toc-context/ancestor::*)"/>
 | 
						|
 | 
						|
  <xsl:if test="$toc.section.depth > 1
 | 
						|
                and $toc.max.depth > $depth.from.context">
 | 
						|
    <fo:block id="toc.{$cid}.{$id}">
 | 
						|
      <xsl:attribute name="margin-{$direction.align.start}">
 | 
						|
        <xsl:call-template name="set.toc.indent"/>
 | 
						|
      </xsl:attribute>
 | 
						|
 | 
						|
      <xsl:apply-templates select="refentry|sect2|qandaset[$qanda.in.toc != 0]"
 | 
						|
                           mode="toc">
 | 
						|
        <xsl:with-param name="toc-context" select="$toc-context"/>
 | 
						|
      </xsl:apply-templates>
 | 
						|
    </fo:block>
 | 
						|
  </xsl:if>
 | 
						|
</xsl:template>
 | 
						|
 | 
						|
	<!-- generate ansi rather than k&r style function synopses -->
 | 
						|
	<xsl:param name="funcsynopsis.style" select="ansi" />
 | 
						|
 | 
						|
</xsl:stylesheet>
 |