$Revision: 1.3 $
$Date: 2002/06/12 11:18:04 $
cmdsynopsis — A syntax summary for a software command
cmdsynopsis ::= ((command|arg|group|sbr)+, synopfragment*)
Name | Type | Default |
sepchar | CDATA | " " |
cmdlength | CDATA | None |
label | CDATA | None |
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.
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, Interchanging DocBook Documents).
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.
These elements contain cmdsynopsis: answer, appendix, application, article, attribution, bibliodiv, bibliography, bibliomisc, blockquote, callout, caution, chapter, citation, citetitle, constraintdef, emphasis, entry, example, figure, firstterm, 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, taskprerequisites, taskrelated, tasksummary, td, term, th, tip, tocback, tocentry, tocfront, ulink, variablelist, warning.
CmdLength indicates displayed length of the command; this information may be used to intelligently indent command synopses which extend beyond one line.
Label specifies an identifying number or string that may be used in presentation.
SepChar specifies the character (a space by default) that should separate the Command and its top-level arguments.
<!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.