Blame xslt/documentation/extract-params.xsl

Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
This stylesheet extracts parameter documentation
Packit e4b6da
into a variablelist that can be included in the mainline documentation.
Packit e4b6da
Packit e4b6da
-->
Packit e4b6da
Packit e4b6da
                version='1.0'
Packit e4b6da
                xmlns:doc="http://nwalsh.com/xsl/documentation/1.0"
Packit e4b6da
                exclude-result-prefixes="doc xsl"
Packit e4b6da
                xml:lang="en">
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:output method="xml" encoding="utf-8" omit-xml-declaration="yes" />
Packit e4b6da
Packit e4b6da
<xsl:param name="process-includes" select="false()" />
Packit e4b6da
<xsl:param name="process-imports"  select="false() " />
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="/">
Packit e4b6da
  <variablelist>
Packit e4b6da
    <xsl:apply-templates />
Packit e4b6da
  </variablelist>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="xsl:stylesheet">
Packit e4b6da
  <xsl:apply-templates />
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="*">
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="text()">
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="refpurpose">
Packit e4b6da
  <formalpara>
Packit e4b6da
    <title>Brief</title>
Packit e4b6da
    <para>
Packit e4b6da
      <xsl:apply-templates mode="copy-doc" />
Packit e4b6da
    </para>
Packit e4b6da
  </formalpara>
Packit e4b6da
Packit e4b6da
  <formalpara>
Packit e4b6da
    <title>Default setting</title>
Packit e4b6da
    <para>
Packit e4b6da
      <xsl:variable name="param-name" select="../@name" />
Packit e4b6da
      <xsl:variable name="param-value" select="/xsl:stylesheet/xsl:param[@name = $param-name]/@select" />
Packit e4b6da
Packit e4b6da
      <xsl:choose>
Packit e4b6da
        <xsl:when test="$param-value = 'true()'">
Packit e4b6da
          <literal>1</literal><xsl:text> (boolean true)</xsl:text>
Packit e4b6da
        </xsl:when>
Packit e4b6da
Packit e4b6da
        <xsl:when test="$param-value = 'false()'">
Packit e4b6da
          <literal>0</literal><xsl:text> (boolean false)</xsl:text>
Packit e4b6da
        </xsl:when>
Packit e4b6da
Packit e4b6da
        <xsl:when test="$param-value = "''"">
Packit e4b6da
          <xsl:text>(blank)</xsl:text>
Packit e4b6da
        </xsl:when>
Packit e4b6da
Packit e4b6da
        <xsl:otherwise>
Packit e4b6da
          <literal>
Packit e4b6da
            <xsl:value-of select="translate($param-value, "'", "")" />
Packit e4b6da
          </literal>
Packit e4b6da
        </xsl:otherwise>
Packit e4b6da
      </xsl:choose>
Packit e4b6da
Packit e4b6da
    </para>
Packit e4b6da
  </formalpara>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="refdescription">
Packit e4b6da
  <xsl:apply-templates mode="copy-doc" />
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="doc:param">
Packit e4b6da
  <varlistentry>
Packit e4b6da
    <term><parameter><xsl:apply-templates select="@name" /></parameter></term>
Packit e4b6da
Packit e4b6da
    <listitem>
Packit e4b6da
      <xsl:apply-templates />
Packit e4b6da
    </listitem>
Packit e4b6da
  </varlistentry>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="@*|node()" mode="copy-doc">
Packit e4b6da
  <xsl:copy>
Packit e4b6da
    <xsl:apply-templates select="@*|node()" mode="copy-doc" />
Packit e4b6da
  </xsl:copy>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
                    
Packit e4b6da
<xsl:strip-space elements="xsl:stylesheet"/>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template name="display-filename">
Packit e4b6da
  <xsl:param name="filename" />
Packit e4b6da
  
Packit e4b6da
  <xsl:call-template name="string-subst">
Packit e4b6da
    <xsl:with-param name="content">
Packit e4b6da
  <xsl:call-template name="string-subst">
Packit e4b6da
    <xsl:with-param name="content" select="$filename" />
Packit e4b6da
    <xsl:with-param name="replace" select="'.xsl'" />
Packit e4b6da
    <xsl:with-param name="with"    select="''" />
Packit e4b6da
  </xsl:call-template>
Packit e4b6da
    </xsl:with-param>
Packit e4b6da
    
Packit e4b6da
    <xsl:with-param name="replace" select="'../'" />
Packit e4b6da
    <xsl:with-param name="with"    select="''" />
Packit e4b6da
  </xsl:call-template>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
Packit e4b6da
Packit e4b6da
<xsl:template match="xsl:include" mode="process-includes">
Packit e4b6da
  
Packit e4b6da
  <xsl:apply-templates select="document(@href)/*">
Packit e4b6da
    <xsl:with-param name="filename" select="@href" />
Packit e4b6da
  </xsl:apply-templates>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
<xsl:template match="xsl:import" mode="process-includes">
Packit e4b6da
  <xsl:if test="$process-imports">
Packit e4b6da
    <xsl:apply-templates select="document(@href)/*">
Packit e4b6da
      <xsl:with-param name="filename" select="@href" />
Packit e4b6da
    </xsl:apply-templates>
Packit e4b6da
  </xsl:if>
Packit e4b6da
</xsl:template>
Packit e4b6da
Packit e4b6da
</xsl:stylesheet>