Skip to content
Snippets Groups Projects
Select Git revision
  • e3a26eab8a92709388debb9cb2763c33de0e7ae3
  • master default protected
  • 9.0
  • marcus/wix3
  • 8.0
  • nt-tools
  • 7.8
  • 7.6
  • 7.4
  • 7.2
  • 7.0
  • 0.6
  • rosuav/latex-markdown-renderer
  • rxnpatch/rxnpatch
  • marcus/gobject-introspection
  • rxnpatch/8.0
  • rosuav/pre-listening-ports
  • rosuav/async-annotations
  • rosuav/pgsql-ssl
  • rxnpatch/rxnpatch-broken/2023-10-06T094250
  • grubba/fdlib
  • v8.0.2020
  • v8.0.2018
  • v8.0.2016
  • v8.0.2014
  • v8.0.2012
  • v8.0.2008
  • v8.0.2006
  • v8.0.2004
  • v8.0.2002
  • v8.0.2000
  • v8.0.1998
  • v8.0.1996
  • v8.0.1994
  • v8.0.1992
  • v8.0.1990
  • v8.0.1988
  • v8.0.1986
  • rxnpatch/clusters/8.0/2025-04-29T124414
  • rxnpatch/2025-04-29T124414
  • v8.0.1984
41 results

dynamic_buffer.c

Blame
  • template.xsl 12.70 KiB
    <?xml version='1.0'?>
    
    <!-- this template transforms the autodoc XML files to HTML -->
    <!-- the results may be a lot short of pretty - but this is -->
    <!-- supposed to be fixed before we release anything public -->
    
    <xsl:stylesheet>
      <xsl:output method="html" />
    
      <xsl:param rxml:type="color" name="background" select="'white'"/>
      <xsl:param rxml:type="color" name="type" select="'#202020'"/>
      <xsl:param rxml:type="color" name="method-name" select="'#0000E0'"/>
      <xsl:param rxml:type="color" name="param-name" select="'#8000F0'"/>
      <xsl:param rxml:type="color" name="var-name" select="'#F000F0'"/>
      <xsl:param rxml:type="color" name="constant-name" select="'#F000F0'"/>
      <xsl:param rxml:type="color" name="program-name" select="'#005080'"/>
    
      <xsl:param name="ref" select="'red'"/>
      <xsl:param name="literal" select="'green'"/>
      <xsl:template match="text()"></xsl:template>
    
      <xsl:template match="*">
        <xsl:text>TEMPLATE ERROR, NOT HANDLED: <xsl:value-of select="name()"/></xsl:text>
      </xsl:template>
    
      <xsl:template match="/module">
        <html><head><title>Pike Reference Manual</title></head>
        <body bgcolor="{$background}">
        <h1>Pike Reference Manual - BETA</h1>
        <p><date type="iso" date="date" /></p>
          <xsl:apply-templates select="docgroup"/>
          <xsl:apply-templates select="module"/>
          <xsl:apply-templates select="class"/>
        </body></html>
      </xsl:template>
    
      <xsl:template match="module[@name != '']">
        <dl><dt>
            <table width="100%" cellpadding="3" cellspacing="0" border="0"><tr>
            <td bgcolor="#EEEEEE">
               <font size="+3">&nbsp; MODULE <b><xsl:value-of select="@name"/></b></font>
            </td></tr></table><br />
          </dt><dd>
            <dl><xsl:apply-templates select="./doc"/></dl>
            <xsl:for-each select="docgroup">
              <xsl:apply-templates select="."/>
            </xsl:for-each>
            <xsl:for-each select="class">
              <xsl:apply-templates select="."/>
            </xsl:for-each>
            <xsl:for-each select="module">
              <xsl:apply-templates select="."/>
            </xsl:for-each>
          </dd>
        </dl>
      </xsl:template>
    
      <xsl:template match="class">
        <dl>
          <dt><table width="100%" cellpadding="3" cellspacing="0" border="0"><tr>
            <td bgcolor="#EEEEEE">
            <font size="+3">&nbsp; CLASS <b>
                <font color="{$program-name}">
                  <xsl:for-each select="ancestor::*[@name != '']"
                    ><xsl:value-of select="@name"
                    />.</xsl:for-each><xsl:value-of select="@name"/>
            </font></b></font>
            </td></tr></table><br />
          </dt>
          <dd>
            <dl><xsl:apply-templates select="doc"/></dl>
            <xsl:if test="inherit">
              <h3>Inherits:</h3>
              <ul><xsl:apply-templates select="inherit"/></ul>
            </xsl:if>
            <xsl:apply-templates select="docgroup"/>
            <xsl:apply-templates select="class"/>
          </dd>
        </dl>
      </xsl:template>
    
      <xsl:template match="inherit">
        <li><xsl:value-of select="classname"/></li>
      </xsl:template>
    
      <!-- DOCGROUPS -->
    
      <xsl:template name="show-class-path">
        <xsl:if test="count(ancestor::*[@name != '']) > 0">
          <font color="{$program-name}">
            <xsl:for-each select="ancestor::*[@name != '']">
              <xsl:value-of select="@name"/>
              <xsl:if test="position() != last()">.</xsl:if>
            </xsl:for-each>
          </font>
        </xsl:if>
      </xsl:template>
    
      <xsl:template name="show-class-path-arrow">
        <xsl:if test="count(ancestor::*[@name != '']) > 0">
          <xsl:call-template name="show-class-path"/>
          <xsl:choose>
            <xsl:when test="ancestor::class">
              <xsl:text>()-&gt;</xsl:text>
            </xsl:when>
            <xsl:when test="ancestor::module">
              <xsl:text>.</xsl:text>
            </xsl:when>
          </xsl:choose>
        </xsl:if>
      </xsl:template>
    
      <xsl:template match="docgroup">
        <hr clear="all" noshade="noshade" size="1"/>
        <dl>
          <dt>
            <xsl:choose>
              <xsl:when test="@homogen-type">
                <font face="Helvetica">
                <xsl:value-of select="translate(substring(@homogen-type,1,1),'cmvi','CMVI')"/>
                <xsl:value-of select="substring(@homogen-type,2)"/>
                </font>
                <xsl:choose>
                  <xsl:when test="@homogen-name">
    		<!-- FIXME: Should have the module path here. -->
                    <font size="+1"><b><xsl:value-of select="concat(' ', concat(@belongs, @homogen-name))"/></b></font>
                  </xsl:when>
                  <xsl:when test="count(./*[name() != 'doc']) > 1">s
                  </xsl:when>
                </xsl:choose>
              </xsl:when>
              <xsl:otherwise>syntax</xsl:otherwise>
            </xsl:choose>
          </dt>
          <dd><p><xsl:apply-templates select="*[name() != 'doc']"/></p></dd>
          <xsl:apply-templates select="doc"/>
        </dl>
      </xsl:template>
    
      <xsl:template match="constant">
        <xsl:if test="position() != 1"><br/></xsl:if>
        <tt>
          constant
          <xsl:call-template name="show-class-path-arrow"/> 
          <font color="{$constant-name}">
            <xsl:value-of select="@name"/>
          </font>
          <xsl:if test="typevalue">
            =
            <xsl:apply-templates select="typevalue/*" mode="type"/>
          </xsl:if>
        </tt>
      </xsl:template>
    
      <xsl:template match="variable">
        <xsl:if test="position() != 1"><br/></xsl:if>
        <tt>
          <xsl:apply-templates select="type/*" mode="type"/>
          <xsl:value-of select="' '"/>
          <xsl:call-template name="show-class-path-arrow"/> 
          <b><font color="{$var-name}"><xsl:value-of select="@name"/>
          </font></b>
        </tt>
      </xsl:template>
    
      <xsl:template match="method">
        <xsl:if test="position() != 1"><br/></xsl:if>
        <tt>
          <xsl:apply-templates select="returntype/*" mode="type"/>
          <xsl:value-of select="' '"/>
          <xsl:call-template name="show-class-path-arrow"/>
          <b><font color="{$method-name}"><xsl:value-of select="@name"/>
          </font>(</b>
            <xsl:for-each select="arguments/argument">
               <xsl:apply-templates select="."/>
               <xsl:if test="position() != last()">, </xsl:if>
            </xsl:for-each>
          <b>)</b></tt>
      </xsl:template>
    
      <xsl:template match="argument">
        <xsl:choose>
          <xsl:when test="value">
            <font color="{$literal}"><xsl:value-of select="value"/></font>
          </xsl:when>
          <xsl:when test="type and @name">
            <xsl:apply-templates select="type/*" mode="type"/>
            <xsl:value-of select="' '"/>
            <font color="{$param-name}"><xsl:value-of select="@name"/></font>
          </xsl:when>
        </xsl:choose>
      </xsl:template>
    
      <!-- TYPES -->
    
      <xsl:template match="object" mode="type">
        <xsl:choose>
          <xsl:when test="text()">
            <font color="{$program-name}">object(<xsl:value-of select="."/>)</font>
          </xsl:when>
          <xsl:otherwise>
            <font color="{$type}">object</font>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:template>
    
      <xsl:template match="multiset" mode="type">
        <font color="{$type}">multiset</font>
        <xsl:if test="indextype"
        >(<xsl:apply-templates select="indextype/*" mode="type"
        />)</xsl:if>
      </xsl:template>
    
      <xsl:template match="array" mode="type">
        <font color="{$type}">array</font>
        <xsl:if test="valuetype"
        >(<xsl:apply-templates select="valuetype/*" mode="type"
        />)</xsl:if>
      </xsl:template>
    
      <xsl:template match="mapping" mode="type">
        <font color="{$type}">mapping</font>
        <xsl:if test="indextype and valuetype"
          >(<xsl:apply-templates select="indextype/*" mode="type"/>
           : <xsl:apply-templates select="valuetype/*" mode="type"
        />)</xsl:if>
      </xsl:template>
    
      <xsl:template match="function" mode="type">
        <font color="{$type}">function</font>
        <xsl:if test="argtype or returntype"
         >(<xsl:for-each select="argtype/*">
            <xsl:apply-templates select="." mode="type"/>
            <xsl:if test="position() != last()">, </xsl:if>
          </xsl:for-each>
          :
          <xsl:apply-templates select="returntype/*" mode="type"
        />)</xsl:if>
      </xsl:template>
    
      <xsl:template match="varargs"  mode="type">
        <xsl:apply-templates select="*" mode="type"/>
        <xsl:text> ... </xsl:text>
      </xsl:template>
    
      <xsl:template match="or" mode="type">
        <xsl:for-each select="./*">
          <xsl:apply-templates select="." mode="type"/>
          <xsl:if test="position() != last()">|</xsl:if>
        </xsl:for-each>
      </xsl:template>
    
      <xsl:template match="string|void|program|mixed|float" mode="type">
        <font color="{$type}">
          <xsl:value-of select="name()"/>
        </font>
      </xsl:template>
    
      <xsl:template match="int" mode="type">
        <font color="{$type}">int</font>
          <xsl:if test="min|max">(<font color="{$literal}">
            <xsl:value-of select="min"/>..<xsl:value-of select="max"/>
          </font>)</xsl:if>
      </xsl:template>
    
      <xsl:template match="p" mode="type"></xsl:template>
    
      <!-- DOC -->
    
      <xsl:template match="doc">
        <xsl:if test="text">
          <dt><font face="Helvetica">Description</font></dt>
          <xsl:apply-templates select="text" mode="doc"/>
        </xsl:if>
        <xsl:apply-templates select="group" mode="doc"/>
      </xsl:template>
    
      <xsl:template match="group" mode="doc">
        <xsl:apply-templates select="*[name(.) != 'text']" mode="doc"/>
        <xsl:apply-templates select="text" mode="doc"/>
      </xsl:template>
    
      <xsl:template match="param" mode="doc">
        <dt><font face="Helvetica">Parameter <tt>
            <font color="{$param-name}"><xsl:value-of select="@name"/></font>
        </tt></font></dt><dd></dd>
      </xsl:template>
    
      <xsl:template match="seealso" mode="doc">
        <dt><font face="Helvetica">See also</font></dt>
      </xsl:template>
    
      <xsl:template match="*" mode="doc">
        <xsl:if test="parent::*[name() = 'group']">
          <dt><font face="Helvetica">
    	<xsl:value-of select="translate(substring(name(),1,1),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
            <xsl:value-of select="substring(name(),2)"/>
          </font></dt>
          <xsl:apply-templates mode="doc"/>
        </xsl:if>
      </xsl:template>
    
      <xsl:template match="text" mode="doc">
        <dd><font face="Helvetica"><xsl:apply-templates mode="text"/></font></dd>
      </xsl:template>
    
      <!-- TEXT -->
    
      <xsl:template match="dl" mode="text">
        <dl>
          <xsl:for-each select="group">
            <xsl:apply-templates mode="text"/>
          </xsl:for-each>
        </dl>
      </xsl:template>
    
      <xsl:template match="item" mode="text">
        <dt><xsl:value-of select="@name"/></dt>
      </xsl:template>
    
      <xsl:template match="text" mode="text">
        <dd><xsl:apply-templates mode="text"/></dd>
      </xsl:template>
    
      <xsl:template match="mapping" mode="text">
        <dl>
          <xsl:for-each select="group">
            <xsl:for-each select="member">
              <dt>
                <tt>
                  <font color="{$literal}"><xsl:value-of select="index"/></font>
                  : <xsl:apply-templates select="type" mode="type"/>
                </tt>
              </dt><dd></dd>
            </xsl:for-each>
            <dd>
              <xsl:apply-templates select="text" mode="text"/>
            </dd>
          </xsl:for-each>
        </dl>
      </xsl:template>
    
      <xsl:template match="array" mode="text">
        <dl>
          <xsl:for-each select="group">
            <xsl:for-each select="elem">
              <dt>
                <tt>
                  <xsl:apply-templates select="type" mode="type"/>
                  <xsl:text> </xsl:text>
                  <font color="{$literal}"><xsl:value-of select="index"/></font>
                </tt>
              </dt><dd></dd>
            </xsl:for-each>
            <dd>
              <xsl:apply-templates select="text" mode="text"/>
            </dd>
          </xsl:for-each>
        </dl>
      </xsl:template>
    
      <xsl:template match="int" mode="text">
        <dl>
          <xsl:for-each select="group">
            <xsl:for-each select="value">
              <dt>
                <tt>
                  <font color="{$literal}"><xsl:value-of select="value"/></font>
                </tt>
              </dt><dd></dd>
            </xsl:for-each>
            <dd>
              <xsl:apply-templates select="text" mode="text"/>
            </dd>
          </xsl:for-each>
        </dl>
      </xsl:template>
    
      <xsl:template match="mixed" mode="text">
        <xsl:text><tt><xsl:value-of select="@name"/></tt> can have any of the following types:</xsl:text>
        <dl>
          <xsl:for-each select="group">
            <dt><tt><xsl:apply-templates select="type" mode="type"/></tt></dt>
    	<dd><xsl:apply-templates select="text" mode="text"/></dd>
          </xsl:for-each>
        </dl>
      </xsl:template>
    
      <xsl:template match="ref" mode="text">
          <font face="courier" size="-1"><xsl:value-of select="."/></font>
      </xsl:template>
    
      <xsl:template match="i|p|b|tt" mode="text">
        <xsl:copy select=".">
          <xsl:apply-templates mode="text"/>
        </xsl:copy>
      </xsl:template>
    
      <xsl:template match="pre|code" mode="text">
        <font face="courier"><xsl:copy select=".">
          <xsl:apply-templates mode="text"/>
        </xsl:copy></font>
      </xsl:template>
    
      <xsl:template match="text()" mode="text">
        <xsl:copy-of select="."/>
      </xsl:template>
    
    </xsl:stylesheet>