refentry
refentry — A reference page (originally a UNIX man-style reference page).
Synopsis
- Sequence of:
- Zero or more of:
 info? (db.titleforbidden.info)refmeta?- One or more of:
 refsynopsisdiv?- One of: 
- One or more of:
 - One or more of:
 
 
 
Additional Constraints
- If this element is the root element, it must have a version attribute.
 
Description
A refentry is a reference page. In
      UNIX parlance this has historically been called a
      “man page” (short for manual page).
A refentry is an appropriate wrapper for any
      small unit of reference documentation describing a single topic.
      Canonical examples are programming language functions and user commands
      (one refentry per function or command).[5]
On some projects, the structure of reference pages may be rigorously defined right down to the number, order, and title of individual sections (some or all of which may be required).
Processing expectations
Formatted as a displayed block. It is not uncommon for
        refentrys to introduce a forced page break in print
        media.
Formatting reference pages may require a fairly sophisticated
        processing system. Much of the meta-information about a reference page
        (its name, type, purpose, title, and classification) is stored in
        wrappers near the beginning of the refentry.
Common presentational features, such as titles and running heads, may require data from several of these wrappers plus some generated text. Other formatting often requires that these elements be reordered.
Attributes
- label
 Specifies an identifying string for presentation purposes
- status
 Identifies the editorial or publication status of the element on which it occurs
Parents
These elements contain refentry: appendix, article, chapter, part, partintro, preface, reference, section, topic.
Children
The following elements occur in refentry: indexterm (db.indexterm.endofrange), indexterm (db.indexterm.singular), indexterm (db.indexterm.startofrange), info (db.titleforbidden.info), refmeta, refnamediv, refsect1, refsection, refsynopsisdiv.
Examples
<article xmlns='http://docbook.org/ns/docbook'>
<title>Example refentry</title>
<refentry xml:id="ls">
  <refmeta>
    <refentrytitle>ls</refentrytitle>
    <manvolnum>1</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>ls</refname>
    <refpurpose>list contents of a directory</refpurpose>
    <refclass>UNIX/Linux</refclass>
  </refnamediv>
  <refsynopsisdiv>
    <cmdsynopsis>
      <command>/usr/bin/ls</command>
      <arg choice="opt">
        <option>aAbcCdfFgilLmnopqrRstux1</option>
      </arg>
      <arg choice="opt" rep="repeat">file</arg>
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1><title>Description</title>
  <para>For each file that is a directory, <command>ls</command>
  lists the contents of the directory; for each file that is an
  ordinary file, <command>ls</command> repeats its name and any
  other information requested.
  </para>
  <para>…</para>
  </refsect1>
</refentry>
</article>
<article xmlns='http://docbook.org/ns/docbook'>
<title>Example refentry</title>
<refentry xml:id="printf">
  <refmeta>
    <refentrytitle>printf</refentrytitle>
    <manvolnum>3S</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>printf</refname>
    <refname>fprintf</refname>
    <refname>sprintf</refname>
    <refpurpose>print formatted output</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <funcsynopsis>
      <funcsynopsisinfo>
        #include <stdio.h>
      </funcsynopsisinfo>
      <funcprototype>
        <funcdef>int <function>printf</function></funcdef>
        <paramdef>const char *<parameter>format</parameter></paramdef>
        <paramdef>...</paramdef>
      </funcprototype>
      <funcprototype>
        <funcdef>int <function>fprintf</function></funcdef>
        <paramdef>FILE *<parameter>strm</parameter></paramdef>
        <paramdef>const char *<parameter>format</parameter></paramdef>
        <paramdef>...</paramdef>
      </funcprototype>
      <funcprototype>
        <funcdef>int <function>sprintf</function></funcdef>
        <paramdef>char *<parameter>s</parameter></paramdef>
        <paramdef>const char *<parameter>format</parameter></paramdef>
        <paramdef>...</paramdef>
      </funcprototype>
    </funcsynopsis>
  </refsynopsisdiv>
  <refsect1><title>Description</title>
  <para><function>printf</function> places output on the standard
  output stream stdout.
  </para>
  <para>…</para>
  </refsect1>
</refentry>
</article>
<article xmlns='http://docbook.org/ns/docbook'>
<title>Example refentry</title>
<refentry xml:id="iovec">
  <refmeta>
    <refentrytitle>iovec</refentrytitle>
    <manvolnum>9S</manvolnum>
  </refmeta>
  <refnamediv>
    <refname>iovec</refname>
    <refpurpose>data storage structure for I/O using uio</refpurpose>
  </refnamediv>
  <refsynopsisdiv>
    <synopsis>
      #include <sys/uio.h>
    </synopsis>
  </refsynopsisdiv>
  <refsect1><title>Interface Level</title>
  <para>Architecture independent level 1 (DDI/DKI).
  </para>
  </refsect1>
  <refsect1><title>Description</title>
  <para>
    An <code>iovec</code> structure describes a data
    storage area for transfer in a
    <citerefentry><refentrytitle>uio</refentrytitle>
      <manvolnum>9S</manvolnum>
    </citerefentry>
    structure. Conceptually, it may be thought of as
    a base address and length specification.
  </para>
  </refsect1>
  <refsect1><title>Structure Members</title>
  <programlisting>
     caddr_t  iov_base;  /* base address of the data storage area */
                         /* represented by the iovec structure */
     int      iov_len;   /* size of the data storage area in bytes */
  </programlisting>
  <para>…</para>
  </refsect1>
</refentry>
</article>




![[+]](figs/web/nav/right.gif)
![[-]](figs/web/nav/down.gif)