Blame tools/param2ref.xsl

Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
              xmlns:m="http://www.w3.org/1998/Math/MathML"
Packit 0f19cf
              version="1.0">
Packit 0f19cf
Packit 0f19cf
<xsl:output encoding="UTF-8" indent="yes"/>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
     the passed <informaltable>. This translation should be done only once
Packit 0f19cf
     to migrate from manual v0.2.9 to manual v0.2.10 where each parameter is
Packit 0f19cf
     described like the DocBook Project does, i.e. through refentries.
Packit 0f19cf
Packit 0f19cf
     The default parameter reference tree is like this:
Packit 0f19cf
     ./    : where to store the refentry XML files built by this stylesheet
Packit 0f19cf
     ./syn : where to store the synopsis XML files built by another XSLT
Packit 0f19cf
Packit 0f19cf
     Example of use in the tools/ dir to put param refentries in tools/params/:
Packit 0f19cf
Packit 0f19cf
     xsltproc -+-stringparam ref.prefix params/ \
Packit 0f19cf
              param2ref.xsl ../docs/custom/param.xml
Packit 0f19cf
-->
Packit 0f19cf
Packit 0f19cf
<xsl:param name="ref.prefix"></xsl:param>
Packit 0f19cf
<xsl:param name="syn.prefix">syn/</xsl:param>
Packit 0f19cf
<xsl:param name="syn.suffix">xml</xsl:param>
Packit 0f19cf
Packit 0f19cf
<xsl:include href="../xsl/chunker.xsl"/>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="/">
Packit 0f19cf
  <xsl:apply-templates select="//informaltable"/>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="informaltable">
Packit 0f19cf
  <xsl:apply-templates select="//tbody/row"/>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="row">
Packit 0f19cf
  <xsl:variable name="param-name" select="entry[1]/text()"/>
Packit 0f19cf
Packit 0f19cf
  <xsl:variable name="refentry">
Packit 0f19cf
  <refentry id="{$param-name}">
Packit 0f19cf
  <refmeta>
Packit 0f19cf
    <refentrytitle>
Packit 0f19cf
      <xsl:value-of select="$param-name"/>
Packit 0f19cf
    </refentrytitle>
Packit 0f19cf
    
Packit 0f19cf
    <refmiscinfo class="other" otherclass="datatype">boolean</refmiscinfo>
Packit 0f19cf
    -->
Packit 0f19cf
  </refmeta>
Packit 0f19cf
  <refnamediv>
Packit 0f19cf
    <refname><xsl:value-of select="$param-name"/></refname>
Packit 0f19cf
    <refpurpose>???</refpurpose>
Packit 0f19cf
  </refnamediv>
Packit 0f19cf
Packit 0f19cf
  <refsynopsisdiv>
Packit 0f19cf
    <programlisting>
Packit 0f19cf
      
Packit 0f19cf
      
Packit 0f19cf
                   namespace="http://www.w3.org/2001/XInclude">
Packit 0f19cf
        <xsl:attribute name="parse">text</xsl:attribute>
Packit 0f19cf
        <xsl:attribute name="href">
Packit 0f19cf
          
Packit 0f19cf
                                       $syn.suffix)"/>
Packit 0f19cf
        </xsl:attribute>
Packit 0f19cf
      </xsl:element></programlisting>
Packit 0f19cf
  </refsynopsisdiv>
Packit 0f19cf
Packit 0f19cf
  <refsection><title>Description</title>
Packit 0f19cf
    <para>
Packit 0f19cf
    <xsl:apply-templates select="entry[2]/node()" mode="copy"/>
Packit 0f19cf
    </para>
Packit 0f19cf
  </refsection>
Packit 0f19cf
  </refentry>
Packit 0f19cf
  </xsl:variable>
Packit 0f19cf
Packit 0f19cf
  <xsl:call-template name="write.chunk">
Packit 0f19cf
    <xsl:with-param name="filename">
Packit 0f19cf
      <xsl:value-of select="$ref.prefix"/>
Packit 0f19cf
      <xsl:value-of select="$param-name"/>
Packit 0f19cf
      <xsl:text>.xml</xsl:text>
Packit 0f19cf
    </xsl:with-param>
Packit 0f19cf
    <xsl:with-param name="method" select="'xml'"/>
Packit 0f19cf
    
Packit 0f19cf
                    select="'-//OASIS//DTD DocBook XML V4.4//EN'"/>
Packit 0f19cf
    
Packit 0f19cf
           select="'http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd'"/>
Packit 0f19cf
    <xsl:with-param name="encoding" select="$chunker.output.encoding"/>
Packit 0f19cf
    <xsl:with-param name="content" select="$refentry"/>
Packit 0f19cf
    <xsl:with-param name="indent" select="'yes'"/>
Packit 0f19cf
  </xsl:call-template>
Packit 0f19cf
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
<xsl:template match="*" mode="copy">
Packit 0f19cf
  <xsl:copy-of select="."/>
Packit 0f19cf
</xsl:template>
Packit 0f19cf
Packit 0f19cf
Packit 0f19cf
</xsl:stylesheet>