$Revision$
$Date$
optional — Optional information
optional ::= (#PCDATA|link|olink|ulink|action|application|classname|methodname|interfacename|exceptionname|ooclass|oointerface|ooexception|package|command|computeroutput|database|envar|errorcode|errorname|errortype|errortext|filename|function|guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu|hardware|interface|keycap|keycode|keycombo|keysym|literal|code|constant|markup|medialabel|menuchoice|mousebutton|option|optional|parameter|prompt|property|replaceable|returnvalue|sgmltag|structfield|structname|symbol|systemitem|uri|token|type|userinput|varname|nonterminal|anchor|remark|subscript|superscript|inlinegraphic|inlinemediaobject|indexterm|beginpage)*
               The Optional element indicates that a specified argument,
               option, or other text is optional. The precise meaning of
               “optional” varies according to the application or process
               begin documented.
               
            
Formatted inline.
                  Optional arguments in a Synopsis are usually given special
                  typographic treatment, often they are surrounded by square brackets. The
                  Optional tag is expected to generate the brackets.
                  
               
                  Outside a Synopsis, the typographic treatment of
                  Optional is application-specific.
                  
               
                  
                  The InterfaceDefinition
                  element will be discarded in DocBook V4.0. It will no longer be available
                  in the content model of this element.
                  
               
These elements contain optional:
                  action, application, attribution, bibliomisc, bridgehead, citation, citetitle, classsynopsisinfo, code, command, computeroutput, database, emphasis, entry, filename, firstterm, foreignphrase, funcparams, funcsynopsisinfo, function, glosssee, glossseealso, glossterm, hardware, interfacename, keycap, lineannotation, link, literal, literallayout, lotentry, member, msgaud, olink, option, optional, para, parameter, phrase, primary, primaryie, productname, programlisting, property, quote, refdescriptor, refentrytitle, refname, refpurpose, remark, replaceable, screen, screeninfo, secondary, secondaryie, see, seealso, seealsoie, seeie, seg, segtitle, simpara, subtitle, synopsis, systemitem, td, term, termdef, tertiary, tertiaryie, th, title, titleabbrev, tocback, tocentry, tocfront, trademark, ulink, userinput.
               
The following elements occur in optional:
                  action, anchor, application, beginpage, classname, code, command, computeroutput, constant, database, email, envar, errorcode, errorname, errortext, errortype, exceptionname, filename, function, guibutton, guiicon, guilabel, guimenu, guimenuitem, guisubmenu, hardware, indexterm, inlinegraphic, inlinemediaobject, interface, interfacename, keycap, keycode, keycombo, keysym, link, literal, markup, medialabel, menuchoice, methodname, mousebutton, nonterminal, olink, ooclass, ooexception, oointerface, option, optional, package, parameter, prompt, property, remark, replaceable, returnvalue, sgmltag, structfield, structname, subscript, superscript, symbol, systemitem, token, type, ulink, uri, userinput, varname.
               
computeroutput, constant, literal, markup, option, parameter, prompt, replaceable, sgmltag, userinput, varname.
               
            
The UNIX ls command could be documented as follows:
<!DOCTYPE synopsis PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
          "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<synopsis>
ls <optional><option>-abcCdfFgilLmnopqrRstux1</option></optional>
   <optional>names</optional>
</synopsis>
ls [-abcCdfFgilLmnopqrRstux1]
   [names]
which might generate the following output:
ls [ -abcCdfFgilLmnopqrRstux1 ] [names]