| DocBook: The Definitive Guide Version 2.0.7 (Alpha)

# cmdsynopsis

$Revision: 1.3 $

$Date: 2002/06/12 11:18:04 $

cmdsynopsis — A syntax summary for a software command

## Synopsis

### Content Model

    cmdsynopsis ::=
    ((command|arg|group|sbr)+,
     synopfragment*)

### Attributes

Common attributes

Name | Type | Default
sepchar | CDATA | " "
cmdlength | CDATA | None
label | CDATA | None

## Description

A `CmdSynopsis` summarizes the options and parameters of a command started from a text prompt. This is usually a program started from the DOS, Windows, or UNIX shell prompt.

`CmdSynopsis` operates under the following general model: commands have arguments, that may be grouped; arguments and groups may be required or optional and may be repeated.

### Processing expectations

The processing expectations of `CmdSynopsis` are fairly complex.

- Arguments are generally identified with a prefix character.

  In the UNIX world, this character is almost universally the dash or hyphen although plus signs and double dashes have become more common in recent years.

  In the DOS/Windows world, forward slashes are somewhat more common than dashes.

  The DocBook processing expectations on this point are intentionally vague. In some environments it may be most convenient to generate these characters automatically, in other environments it may be more convenient to insert them literally in the content.

  Whichever processing model you choose, note that this will be an interchange issue if you share documents with other users (see Appendix F).

- Brackets are used to distinguish between optional, required, or plain arguments. Usually square brackets are placed around optional arguments, `[-g]`, and curly brackets are placed around required arguments, `{-g}`. Plain arguments are required, but are not decorated with brackets.

- Repeatable arguments are followed by an ellipsis.

- Multiple arguments within a group are considered exclusive and are separated by vertical bars.

- Groups, like arguments, may be optional, required, or plain and may or may not repeat. The same brackets and ellipses that are used to indicate these characteristics on arguments are used on groups.

- Arguments and groups may nest more-or-less arbitrarily.

- Formatted as a displayed block. The processing system is free to introduce line breaks where required, but the `SBR` element may be introduced by the author to provide an explicit break location.

### Parents

These elements contain cmdsynopsis: `answer`, `appendix`, `application`, `article`, `attribution`, `bibliodiv`, `bibliography`, `bibliomisc`, `blockquote`, `callout`, `caution`, `chapter`, `citation`, `citetitle`, `constraintdef`, `emphasis`, `entry`, `example`, `figure`, `footnote`, `foreignphrase`, `glossary`, `glossdef`, `glossdiv`, `glosssee`, `glossseealso`, `glossterm`, `important`, `index`, `indexdiv`, `informalexample`, `informalfigure`, `itemizedlist`, `lineannotation`, `link`, `listitem`, `literallayout`, `lotentry`, `member`, `msgaud`, `msgexplan`, `msgtext`, `note`, `olink`, `orderedlist`, `para`, `partintro`, `phrase`, `preface`, `procedure`, `productname`, `programlisting`, `qandadiv`, `qandaset`, `question`, `quote`, `refentrytitle`, `refsect1`, `refsect2`, `refsect3`, `refsection`, `refsynopsisdiv`, `remark`, `revdescription`, `screen`, `screeninfo`, `sect1`, `sect2`, `sect3`, `sect4`, `sect5`, `section`, `seg`, `setindex`, `sidebar`, `simpara`, `simplesect`, `step`, `synopsis`, `term`, `tip`, `tocback`, `tocentry`, `tocfront`, `ulink`, `variablelist`, `warning`.

### Children

The following elements occur in cmdsynopsis: `arg`, `command`, `group`, `sbr`, `synopfragment`.

## Attributes

cmdlength

  `CmdLength` indicates displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line.

label

  `Label` specifies an identifying number or string that may be used in presentation.

sepchar

  `SepChar` specifies the character (a space by default) that should separate the `Command` and its top-level arguments.

## See Also

`arg`, `funcsynopsis`, `group`, `refsynopsisdiv`, `sbr`, `synopfragment`, `synopfragmentref`, `synopsis`.

## Examples

    <!DOCTYPE cmdsynopsis PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
              "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
    <cmdsynopsis>
      <command>cd</command>
      <arg choice='req'><replaceable>directory</replaceable></arg>
    </cmdsynopsis>

`cd` {`directory`}

    <!DOCTYPE cmdsynopsis PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
              "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
    <cmdsynopsis>
      <command>cal</command>
      <arg>-j</arg>
      <arg>-y</arg>
      <arg>month <arg>year</arg></arg>
    </cmdsynopsis>

`cal` [-j] [-y] [month [year]]

    <!DOCTYPE cmdsynopsis PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
              "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
    <cmdsynopsis>
      <command>chgrp</command>
      <arg>-R
        <group>
          <arg>-H</arg>
          <arg>-L</arg>
          <arg>-P</arg>
        </group>
      </arg>
      <arg>-f</arg>
      <arg choice='plain'><replaceable>group</replaceable></arg>
      <arg rep='repeat' choice='plain'><replaceable>file</replaceable></arg>
    </cmdsynopsis>

`chgrp` [-R [-H | -L | -P] ] [-f] `group` `file`...

    <!DOCTYPE cmdsynopsis PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
              "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
    <cmdsynopsis>
      <command>emacs</command>
      <arg>-t <replaceable>file</replaceable></arg>
      <arg>-q</arg>
      <arg>-u <replaceable>user</replaceable></arg>
      <arg>+<replaceable>number</replaceable></arg>
      <arg rep='repeat'>-f <replaceable>function</replaceable></arg>
      <sbr/>
      <arg rep='repeat'>-l <replaceable>file</replaceable></arg>
      <arg rep='repeat' choice='plain'><replaceable>file</replaceable></arg>
    </cmdsynopsis>

`emacs` [-t `file`] [-q] [-u `user`] [+`number`] [-f `function`...]
[-l `file`...] `file`...

Note the use of `SBR` in this example to force line breaks at reasonable places in the synopsis.

For additional examples, see also `refentry`, `synopfragment`.

classsynopsisinfo |  | co

Copyright © 1999, 2000, 2001, 2002 O'Reilly & Associates, Inc. All rights reserved.