synopfragmentref — A reference to a fragment of a command synopsis
synopfragmentref ::=
A complex cmdsynopsis
can be made more manageable with synopfragment
s. Rather than attempting to present the entire synopsis in one large piece, parts of the synopsis can be extracted out and presented elsewhere.
At the point where each piece was extracted, insert a synopfragmentref
that points to the fragment. The content of the synopfragmentref
will be presented inline.
The extracted pieces are placed in synopfragment
s at the end of the cmdsynopsis
.
The content model of synopfragmentref
is unique in the SGML version of DocBook because it contains RCDATA
declared content. What this means is that all markup inside a synopfragmentref
is ignored, except for entity references.
How, you might ask, is this different from a content model that includes only #PCDATA
? The difference is only apparent when you consider inclusions. Recall that an inclusion provides a list of elements that can occur anywhere inside an element. So, for example, the fact that chapter
lists indexterm
as an inclusion means that indexterm
can legally occur inside of a synopfragmentref
that's nested inside a chapter, even if the content model of synopfragmentref
does not explicitly allow indexterm
s. Making the
content RCDATA
ensures that the markup will not be recognized, even if it's allowed by inclusion. A neat trick.
XML does not support RCDATA
.
Formatted as a displayed block.
The presentation system is responsible for generating text that makes the reader aware of the link. This can be done with numbered bullets, or any other appropriate mechanism.
Online systems have additional flexibility. They may generate hot links between the references and the fragments, for example, or place the fragments in pop-up windows.