docbook-to-man.ts revision 7c478bd95313f5f23a4c958a745db2134aa03244
#############################################################################
# Copyright 2004 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# ident "%Z%%M% %I% %E% SMI"
# solbook-to-man.ts
#
#############################################################################
#
# Copyright (c) 1996 X Consortium
# Copyright (c) 1996 Dalrymple Consulting
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM OR DALRYMPLE CONSULTING BE LIABLE FOR ANY CLAIM, DAMAGES OR
# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the names of the X Consortium and
# Dalrymple Consulting shall not be used in advertising or otherwise to
# promote the sale, use or other dealings in this Software without prior
# written authorization.
#
#############################################################################
#
# Written 5/29/96 by Fred Dalrymple
#
#############################################################################
#
# Variables
#
Var: callout 0
Var: orderlist 0
Var: nestorderlist 0
Var: procstep 0
Var: procsubstep 0
Var: examplenum 1
Var: tablenum 1
Var: firstpara false
Var: nestedpara false
Var: termcount 0
#
#
#
#
#############################################################################
#
# Hierarchy (and document meta stuff)
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: REFENTRY
StartText: .TH ${_followrel descendant REFENTRYTITLE 1000}
${_followrel descendant MANVOLNUM 1000}
EndText: ...\\" created by instant / solbook-to-man, ${date}
-
#
GI: REFMISCINFO
# The Last Change date
AttValue: CLASS DATE
Set: the_date ${+content}
Ignore: data
-
#
GI: REFMISCINFO
# The OS release string
AttValue: CLASS SOFTWARE
Set: the_release ${+content}
Ignore: data
-
#
GI: REFMISCINFO
# The section title
AttValue: CLASS SECTDESC
Set: the_sect ${+content}
Ignore: data
-
GI: REFMISCINFO
# Do nothing
Ignore: data
-
#
GI: REFMETA
# Use the end of refmeta to output the arguments for the .TH macro
EndText: \s"${the_date}"\s"${the_release}"\s"${the_sect}"
-
#
#
GI: DOCINFO
Ignore: all
-
#
GI: TITLE
Context: DOCINFO
# inside DocInfo, which we're ignoring
-
GI: REFNAMEDIV
StartText: .SH "NAME"
-
#
GI: REFDESCRIPTOR
EndText: ,\s${_set refnameseen xy}
-
#
GI: REFNAME
Relation: sibling-1 REFDESCRIPTOR
EndText: ,\s
-
#
GI: REFNAME
StartText: ${_isset refnameseen xxx 20}
EndText: ${_set refnameseen xxx}
-
#
GI: _rfname
SpecID: 20
Ignore: data
StartText: ,\s
EndText: ${_set refnameseen xy}
-
#
GI: REFPURPOSE
StartText: \s\\-\s
EndText:
-
#
GI: REFCLASS
StartText: .PP
EndText:
-
#
GI: REFSYNOPSISDIV
StartText: .SH "SYNOPSIS"
EndText:
-
#
GI: TITLE
Context: REFSYNOPSISDIV
Ignore: all
-
#
GI: REFSECT1
StartText: .SH "${_followrel child TITLE 1000}"
EndText:
-
#
GI: REFSECT2
StartText: .SS "${_followrel child TITLE 1000}"
EndText:
-
#
GI: REFSECT3
StartText: .SS "${_followrel child TITLE 1000}"
EndText:
-
#
GI: BRIDGEHEAD
StartText: .PP\\fB
EndText: \\fR.PP
-
#
GI: TITLE
Context: REFSECT1
Ignore: all
-
#
GI: TITLE
Context: REFSECT2
Ignore: all
-
#
GI: TITLE
Context: REFSECT3
Ignore: all
-
#
GI: LEGALNOTICE
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: TITLE
Context: LEGALNOTICE
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: REFENTRYTITLE
Context: REFMETA
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: MANVOLNUM
Context: REFMETA
# part of the DocInfo structure, which is ignored, though this element
# if accessed directly by the _followrel call from the REFENTRY element.
Ignore: all
-
#
GI: SUBTITLE
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: AUTHORGROUP
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: AUTHOR
Context: AUTHORGROUP
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: EDITOR
Context: AUTHORGROUP
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: COLLAB
Context: AUTHORGROUP
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: COLLABNAME
Context: COLLAB
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: CORPAUTHOR
Context: AUTHORGROUP
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
GI: OTHERCREDIT
Context: AUTHORGROUP
# part of the DocInfo structure, which is ignored
Ignore: all
-
#
#
#############################################################################
#
# (before we get into the branch stuff, we turn off paragraphs in some
# contexts where they would break the flow. Generally, this happens
# within indented areas, such as within lists.
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: PARA
Context: ENTRY
NthChild: 1
# nothing in this context
-
#
GI: PARA
Context: ENTRY
StartText: .br.sp 1
-
#
GI: PARA
Context: NOTE
NthChild: 1
EndText: .sp 1
-
#
GI: PARA
Context: NOTE
# EndText handled in NOTE EndText
-
#
GI: PARA
Context: CAUTION
# EndText handled in CAUTION EndText
-
#
GI: PARA
Context: GLOSSDEF
NthChild: 1
# nothing in this context
-
#
GI: PARA
Context: STEP
NthChild: 1
StartText: \\fB
EndText: \\fR
-
#
GI: PARA
Context: STEP
Relation: sibling-1 TITLE
StartText: \\fB
EndText: \\fR
-
#
GI: PARA
Context: STEP
StartText: .sp 2n
-
#
GI: PARA
Context: CALLOUT
NthChild: 1
# nothing in this context
-
#
GI: PARA
Context: MSGTEXT
NthChild: 1
# nothing in this context
-
#
GI: PARA
Context: MSGEXPLAN
NthChild: 1
# nothing in this context
-
#
#
#############################################################################
#
# Regular "branch" stuff
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: FORMALPARA
# it's all done in TITLE (FORMALPARA) and PARA
-
#
GI: TITLE
Context: FORMALPARA
StartText: .PP\\fB
EndText: \\fR
-
#
GI: PARA
Context: LISTITEM
EndText: .sp
-
#
GI: PARA
Relation: ancestor ORDEREDLIST
StartText: .sp
-
#
GI: PARA
Context: LISTITEM
Relation: ancestor VARLISTENTRY
NthChild: 1
EndText: .sp
-
#
GI: PARA
Relation: ancestor VARLISTENTRY
StartText: .sp
-
#
GI: PARA
Context: INFORMALEXAMPLE
StartText: .RS
EndText: .RE
-
#
GI: PARA
Relation: ancestor STEP
StartText: .IP "" 10
-
#
GI: PARA
StartText: .PP
-
#
GI: SIMPARA
StartText: .PP
-
#
GI: PROGRAMLISTING
StartText: .sp.nf\\f(CW
EndText: \\fR.fi.sp
-
#
GI: LITERALLAYOUT
Context: ENTRY
StartText: .nf
EndText: .fi
-
#
#GI: LITERALLAYOUT
#Relation: ancestor LISTITEM
#StartText: .nf.sp
#EndText: .fi.sp
#-
#
GI: LITERALLAYOUT
StartText: .sp.nf
EndText: .fi.sp
-
#
GI: BLOCKQUOTE
StartText: .PP.RS
EndText: .RE
-
#
GI: TITLE
Context: BLOCKQUOTE
StartText: \\fB
EndText: \\fR.PP
-
#
GI: EPIGRAPH
StartText: .PP.RS
EndText: .RE
-
#
GI: ATTRIBUTION
StartText: \\fI
EndText: \\fR.PP
-
#
GI: ABSTRACT
Relation: child TITLE
-
#
GI: ABSTRACT
StartText: .SS "Abstract"
-
#
GI: TITLE
Context: ABSTRACT
StartText: .SS "
EndText: "
-
#
GI: REVHISTORY
StartText: .SS "Revision History"
EndText:
-
#
GI: REVISION
StartText: .PP\\fBRevision:\\fR\s
EndText:
-
#
GI: REVNUMBER
StartText: #\s
EndText: ;\s
-
#
GI: DATE
EndText: ;\s
-
#
GI: AUTHORINITIALS
Context: REVISION
StartText: \s
-
#
GI: REVREMARK
StartText: ;\s\s
EndText:
-
#
GI: PROGRAMLISTINGCO
# nothing to do specifically in ProgramListingCO -- it falls to
# the content of ProgramListing and any callout list
-
#
GI: SCREEN
Relation: ancestor LISTITEM
StartText: .nf.sp
EndText: .fi.sp
-
#
GI: SCREEN
StartText: .PP.nf
EndText: .fi
-
#
GI: SCREENCO
# nothing to do specifically in ScreenCO -- it falls to
# the content of Screen and any callout list
-
#
GI: SCREENSHOT
# nothing specific to do here -- defer to any ScreenInfo or the
# included graphic
-
#
GI: SCREENINFO
StartText: .PP\\fI
EndText: \\fR.PP
-
#
GI: GRAPHICCO
# nothing to do specifically in GraphicCO -- it falls to
# the content of Graphic and any callout list
-
#
GI: INFORMALEXAMPLE
StartText: .sp
EndText: .sp
-
#
GI: EXAMPLE
# nothing special to do here -- it falls to the content.
-
#
GI: TITLE
Context: EXAMPLE
StartText: .PP\\fBExample ${examplenum}:
EndText: \\fR
Increment: examplenum 1
-
#
GI: FIGURE
# nothing special to do here -- it falls to the content.
-
#
GI: TITLE
Context: FIGURE
StartText: .PP\\fB
EndText: \\fR
-
#
GI: SIDEBAR
Relation: child TITLE
StartText: .PP.RS
EndText: .RE
-
#
GI: SIDEBAR
StartText: .PP.RS\\fB[ Sidebar ]\\fR
EndText: .RE
-
#
GI: TITLE
Context: SIDEBAR
StartText: \\fB[ Sidebar:\s
EndText: \s]\\fR
-
#
GI: HIGHLIGHTS
StartText: .SS "Highlights"
-
#
GI: AUTHORBLURB
# nothing to do specially -- an included title may occur
-
#
GI: TITLE
Context: AUTHORBLURB
StartText: .PP\\fB
EndText: \\fR
-
#
#
#############################################################################
#
# Call-out material
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: CO
# nothing to do for the anchor of a callout
-
#
GI: AREASPEC
Ignore: all
# not much to do with representing the anchor of callouts in n/troff
-
#
GI: AREA
Ignore: all
# part of AreaSpec, which is being ignored
-
#
GI: AREASET
Ignore: all
# part of AreaSpec, which is being ignored
-
#
#
#############################################################################
#
# Address block
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: ADDRESS
StartText: .PP.nf
EndText: .fi
-
#
GI: STREET
# just the content...
-
#
GI: POB
# just the content...
-
#
GI: POSTCODE
# just the content...
-
#
GI: CITY
EndText: ,\s
-
#
GI: STATE
# just the content
-
#
GI: COUNTRY
# just the content
-
#
GI: PHONE
StartText: voice:\s
-
#
GI: FAX
StartText: fax:\s
-
#
GI: OTHERADDR
# just the content..
-
#
GI: EMAIL
Context: ADDRESS
# just the content..
-
#
#
#############################################################################
#
# Lists
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: GLOSSLIST
Relation: ancestor ITEMIZEDLIST
StartText: .RS
EndText: .RE
-
#
GI: GLOSSLIST
Relation: ancestor GLOSSLIST
StartText: .RS
EndText: .RE
-
#
GI: GLOSSLIST
Relation: ancestor ORDEREDLIST
StartText: .RS
EndText: .RE
-
#
GI: GLOSSLIST
Relation: ancestor SIMPLELIST
StartText: .RS
EndText: .RE
-
#
GI: GLOSSLIST
Relation: ancestor VARIABLELIST
StartText: .RS
EndText: .RE
-
#
GI: GLOSSLIST
Relation: ancestor SEGMENTEDLIST
StartText: .RS
EndText: .RE
-
#
GI: GLOSSLIST
# Nothing to do here.. see glossentry, etc
-
#
GI: GLOSSENTRY
# nothing to do..
-
#
GI: GLOSSTERM
Context: GLOSSENTRY
StartText: .IP "
EndText: " 10
-
#
GI: GLOSSTERM
StartText: \\fB
EndText: \\fR
-
#
GI: ACRONYM
Context: GLOSSENTRY
StartText: (\\fIacronym:\s\\fR
EndText: )\s\s
-
#
GI: ABBREV
Context: GLOSSENTRY
StartText: (\\fIabbreviation:\s\\fR
EndText: )\s\s
-
#
GI: GLOSSSEE
StartText: \\fISee \\fR
-
#
GI: GLOSSDEF
# nothing special to do -- just pass the content.
-
#
GI: GLOSSSEEALSO
StartText: \\fISee Also \\fR
-
#
GI: ITEMIZEDLIST
Relation: ancestor LISTITEM
StartText: .sp.in +2
EndText: .in -2
-
#
GI: ITEMIZEDLIST
StartText: .sp.in +2
EndText: .in -2
-
#
GI: LISTITEM
Context: ITEMIZEDLIST
PAttSet: MARK NONE
StartText: .mk.in +3.rt
EndText: .in -3
-
#
GI: LISTITEM
Context: ITEMIZEDLIST
StartText: \\(bu.mk.in +3.rt
EndText: .in -3
-
#
GI: ORDEREDLIST
Relation: ancestor ITEMIZEDLIST
StartText: .RS ${_set orderlist 1}
EndText: .RE
-
#
GI: ORDEREDLIST
Relation: ancestor GLOSSLIST
StartText: .RS
EndText: .RE
-
#
GI: ORDEREDLIST
Relation: ancestor ORDEREDLIST
StartText: .in +4${_set nestorderlist ${orderlist}} ${_set orderlist a}
EndText: .in -4.sp${_set orderlist ${nestorderlist}}
-
#
GI: ORDEREDLIST
Relation: ancestor SIMPLELIST
StartText: .RS
EndText: .RE
-
#
GI: ORDEREDLIST
Relation: ancestor VARIABLELIST
StartText: .in +4${_set orderlist 1}
EndText: .sp.in -4
-
#
GI: ORDEREDLIST
Relation: ancestor SEGMENTEDLIST
StartText: .RS${_set orderlist 1}
EndText: .RE
-
#
GI: ORDEREDLIST
StartText: ${_set orderlist 1}
-
#
GI: LISTITEM
Context: ORDEREDLIST
Increment: orderlist 1
StartText: .br.sp${orderlist}..mk.in +4.rt
EndText: .in -4
-
#
GI: SIMPLELIST
Relation: ancestor ITEMIZEDLIST
StartText: .RS
EndText: .RE
-
#
GI: SIMPLELIST
Relation: ancestor GLOSSLIST
StartText: .RS
EndText: .RE
-
#
GI: SIMPLELIST
Relation: ancestor ORDEREDLIST
StartText: .RS
EndText: .RE
-
#
GI: SIMPLELIST
Relation: ancestor SIMPLELIST
StartText: .RS
EndText: .RE
-
#
GI: SIMPLELIST
Relation: ancestor VARIABLELIST
StartText: .RS
EndText: .RE
-
#
GI: SIMPLELIST
Relation: ancestor SEGMENTEDLIST
StartText: .RS
EndText: .RE
-
#
GI: SIMPLELIST
# nothing to do here..
-
#
GI: MEMBER
PAttSet: TYPE INLINE
NthChild: 1
-
#
GI: MEMBER
PAttSet: TYPE INLINE
StartText: ,\s
-
#
GI: MEMBER
PAttSet: TYPE HORIZ
NthChild: 1
StartText: .PP\t
-
#
GI: MEMBER
PAttSet: TYPE HORIZ
StartText: \t
-
#
GI: MEMBER
PAttSet: TYPE VERT
StartText: .IP "" 10
EndText:
-
#
#GI: VARIABLELIST
#Relation: ancestor ITEMIZEDLIST
#StartText: .RS 4
#EndText: .sp.RE
#-
#
GI: VARIABLELIST
Relation: ancestor GLOSSLIST
StartText: .RS 4
EndText: .sp.RE
-
#
GI: VARIABLELIST
Relation: ancestor ORDEREDLIST
StartText: .RS 4
EndText: .sp.RE
-
#
GI: VARIABLELIST
Relation: ancestor SIMPLELIST
StartText: .RS 4
EndText: .sp.RE
-
#
GI: VARIABLELIST
Relation: ancestor VARIABLELIST
StartText: ${_set twotermlen ${onetermlen}}${_set onetermlen ${etermlength}}
EndText: ${_set etermlength ${onetermlen}}${_set onetermlen ${twotermlen}}
-
#
GI: VARIABLELIST
Relation: ancestor SEGMENTEDLIST
StartText: .RS 4
EndText: .RE
-
#
GI: VARIABLELIST
Context: PARA
EndText: .sp
-
#
GI: VARIABLELIST
#Catch all
-
# Determine how much to indent VarlistEntry's ListItem
#
GI: VARLISTENTRY
PAttSet: TERMLENGTH XTRANARROW
StartText: ${_set stermlength \.in\s+9n.rt}${_set etermlength \.in\s-9n}
-
GI: VARLISTENTRY
PAttSet: TERMLENGTH NARROW
StartText: ${_set stermlength \.in\s+16n.rt}${_set etermlength \.in\s-16n}
-
#
GI: VARLISTENTRY
PAttSet: TERMLENGTH MEDIUM
StartText: ${_set stermlength \.in\s+24n.rt}${_set etermlength \.in\s-24n}
-
#
GI: VARLISTENTRY
PAttSet: TERMLENGTH WIDE
StartText: ${_set stermlength \.in\s+32n.rt}${_set etermlength \.in\s-32n}
-
#
GI: VARLISTENTRY
PAttSet: TERMLENGTH XTRAWIDE
StartText: ${_set stermlength \.in\s+40n.rt}${_set etermlength \.in\s-40n}
-
#
GI: VARLISTENTRY
PAttSet: TERMLENGTH WHOLELINE
StartText: ${_set stermlength \.sp\s.6\.in\s+4}${_set etermlength \.in\s-4}
-
#
GI: VARLISTENTRY
StartText: ${_set stermlength \.sp\s.6\.in\s+4}${_set etermlength \.in\s-4}
-
#
GI: TERM
NthChild: 1
StartText: .sp.ne 2.mk\\fB
Increment: termcount 1
EndText: \\fR
-
#
GI: TERM
StartText: .br\\fB
Increment: termcount 1
EndText: \\fR
-
#
GI: LISTITEM
Relation: parent VARLISTENTRY
StartText: ${stermlength}
EndText: .sp ${termcount}${etermlength}${_set termcount 0}
-
#
GI: SEGMENTEDLIST
Relation: ancestor ITEMIZEDLIST
StartText: .RS${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE.RE
-
#
GI: SEGMENTEDLIST
Relation: ancestor GLOSSLIST
StartText: .RS${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE.RE
-
#
GI: SEGMENTEDLIST
Relation: ancestor ORDETERLIST
StartText: .RS${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE.RE
-
#
GI: SEGMENTEDLIST
Relation: ancestor SIMPLELIST
StartText: .RS${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE.RE
-
#
GI: SEGMENTEDLIST
Relation: ancestor VARIABLELIST
StartText: .RS${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE.RE
-
#
GI: SEGMENTEDLIST
Relation: ancestor SEGMENTEDLIST
StartText: .RS${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE.RE
-
#
GI: SEGMENTEDLIST
Relation: child TITLE
StartText: ${_followrel child TITLE 400}.TStab();l l l l l l l l l l l l l l l l l l.
EndText: .TE
-
#
GI: TITLE
Context: SEGMENTEDLIST
# ignored by default -- must be called by SEGMENTEDLIST gi
Ignore: all
-
#
GI: _segmentedlist_title
SpecID: 400
StartText: .sp 1\\fB
EndText: \\fR
-
#
GI: SEGTITLE
StartText: \\fB
EndText: \\fR
-
#
GI: SEGLISTITEM
StartText:
EndText:
-
#
GI: SEG
EndText:
-
#
GI: PROCEDURE
AttValue: ROLE SINGLE-STEP
StartText: ${_set singlestep xxx}${_set manysteps xy}
-
#
GI: PROCEDURE
# defer to the content...
StartText: ${_set procstep 1}${_set procsubstep a}${_set manysteps xxx}
-
#
GI: TITLE
Context: PROCEDURE
StartText: .PP\\fB
EndText: \\fR
-
#
GI: _onestep
SpecID: 9000
StartText: .PP.RS
EndText: .RE${_set singlestep xy}
-
#
GI: _manysteps
SpecID: 9001
StartText: .RS.TP 4\\fB${procstep}.\\fR
EndText: .RE
Increment: procstep 1
-
#
GI: STEP
Context: SUBSTEPS
StartText: .TP 4\\fB${procsubstep}\\fR.
EndText:
Increment: procsubstep 1
-
#
GI: STEP
StartText: ${_isset singlestep xxx 9000}${_isset manysteps xxx 9001}
Ignore: all
EndText:
-
#
GI: TITLE
Context: STEP
# Ignore - Optional titles deprecated
Ignore: all
-
#
GI: SUBSTEPS
StartText: .RS
EndText: .RE
-
#
GI: CALLOUTLIST
StartText: ${_set callout 1}
# nothing to do specifically, defer to the content...
-
#
GI: TITLE
Context: CALLOUTLIST
StartText: \\fB
EndText: \\fR.PP
-
#
GI: CALLOUT
StartText: .PP\\fICallout ${callout}.\s\s\\fR
EndText:
Increment: callout
-
#
#
#############################################################################
#
# Messages
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: MSGSET
StartText: .PP
-
#
GI: MSGENTRY
EndText: .sp
-
#
GI: MSG
Relation: child TITLE
StartText: .PP
EndText:
-
#
GI: MSG
EndText:
-
#
GI: TITLE
Context: MSG
StartText: .PP\\fB
EndText: \\fR.PP
-
#
GI: MSGINFO
# nothing specific -- just groups (MsgLevel | MsgOrig | MsgAud)*
-
#
GI: MSGEXPLAN
AttValue: ROLE DESCRIPTION
StartText: .RS 3.sp\\fBDescription\\fR:.RS 3
EndText: .RE.RE
-
#
GI: MSGEXPLAN
AttValue: ROLE CAUSE
StartText: .RS 3.sp\\fBCause\\fR:.RS 3
EndText: .RE.RE
-
#
GI: MSGEXPLAN
AttValue: ROLE EXAMPLE
StartText: .RS 3.sp\\fBExample\\fR:.RS 3
EndText: .RE.RE
-
#
GI: MSGEXPLAN
AttValue: ROLE SOLUTION
StartText: .RS 3.sp\\fBSolution\\fR:.RS 3
EndText: .RE.RE
-
#
GI: MSGEXPLAN
# No gentext
StartText: .RS 2.sp
EndText: .RE
-
GI: TITLE
Context: MSGEXPLAN
StartText: .PP\\fB
EndText: \\fR
-
#
GI: MSGMAIN
# defer to content
-
#
GI: TITLE
Context: MSGMAIN
StartText: \\fB
EndText: \\fR
-
#
GI: MSGSUB
# defer to content
-
#
GI: TITLE
Context: MSGSUB
StartText: .PP\\fB
EndText: \\fR
-
#
GI: MSGREL
# defer to content
-
#
GI: TITLE
Context: MSGREL
StartText: .PP\\fB
EndText: \\fR
-
#
GI: MSGLEVEL
StartText: .PP\\fIMessage level:\s\s\\fR
EndText:
-
#
GI: MSGORIG
StartText: .PP\\fIMessage origin:\s\s\\fR
EndText:
-
#
GI: MSGAUD
StartText: .PP\\fIMessage audience:\s\s\\fR
EndText:
-
#
GI: MSGTEXT
StartText: \\f(CW
EndText: \\fR
-
#
#
#############################################################################
#
# Admonitions
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: CAUTION
Relation: child TITLE
StartText: .PP.RS
EndText: .RE
-
#
GI: CAUTION
StartText: .sp.mk\\fBCaution\\fR\s\\-\s.in +10.rt
EndText: .in -10
-
#
GI: TITLE
Context: CAUTION
StartText: .sp.mk\\fBCaution\\fR\s\\-\s.in +10.rt
EndText: .in -10
-
#
GI: IMPORTANT
Relation: child TITLE
StartText: .PP.RS
EndText: .RE
-
#
GI: IMPORTANT
StartText: .PP.RS\\fBImportant:\s\s
EndText: .RE
-
#
GI: TITLE
Context: IMPORTANT
StartText: \\fBImportant:\s\s
EndText: \\fR.PP
-
#
GI: NOTE
Relation: child TITLE
StartText: .PP.RS
EndText: .RE
-
#
GI: NOTE
StartText: .sp.mk\\fBNote\\fR\s\\-\s.in +8.rt
EndText: .in -8
-
#
GI: TITLE
Context: NOTE
StartText: .sp.mk\\fBNote\\fR\s\\-\s.in +8.rt
EndText: .in -8
-
#
GI: TIP
Relation: child TITLE
StartText: .PP.RS
EndText: .RE
-
#
GI: TIP
StartText: .PP.RS\\fBTip:\s\s
EndText: .RE
-
#
GI: TITLE
Context: TIP
StartText: \\fBTip:\s\s
EndText: \\fR.PP
-
#
GI: WARNING
Relation: child TITLE
StartText: .PP.RS
EndText: .RE
-
#
GI: WARNING
StartText: .PP.RS\\fBWarning:\s\s
EndText: .RE
-
#
GI: TITLE
Context: WARNING
StartText: \\fBWarning:\s\s
EndText: \\fR.PP
-
#
#
#############################################################################
#
# Synopses
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: SYNOPSIS
StartText: .PP.nf
EndText: .fi
-
#
GI: CMDSYNOPSIS
StartText: .PP
EndText:
-
#
GI: ARG
Context: GROUP
NthChild: 1
AttValue: CHOICE OPT
StartText: \s[
EndText: ${_attval REP REPEAT 505}]
-
#
GI: ARG
Context: GROUP
NthChild: 1
EndText: ${_attval REP REPEAT 505}
-
#
GI: ARG
Context: GROUP
AttValue: CHOICE OPT
StartText: \s|\s[
EndText: ${_attval REP REPEAT 505}]
-
#
GI: ARG
Context: GROUP
StartText: \s|\s
EndText: ${_attval REP REPEAT 505}
-
#
GI: ARG
AttValue: CHOICE OPT
StartText: \s[
EndText: ${_attval REP REPEAT 505}]
-
#
GI: ARG
AttValue: CHOICE REQ
StartText: \s{
EndText: ${_attval REP REPEAT 505}}
-
#
GI: ARG
AttValue: CHOICE PLAIN
StartText: \s
EndText: ${_attval REP REPEAT 505}
-
#
GI: ARG
# no special attrs -- just pass content through
EndText: ${_attval REP REPEAT 505}
-
#
GI: _arg_group
SpecID: 505
StartText: \\&...
Ignore: all
-
#
GI: GROUP
AttValue: CHOICE OPT
StartText: \s[
EndText: ]\s${_attval REP REPEAT 505}
-
#
GI: GROUP
AttValue: CHOICE REQ
StartText: \s{
EndText: }\s${_attval REP REPEAT 505}
-
#
GI: GROUP
AttValue: CHOICE PLAIN
StartText: \s
EndText: ${_attval REP REPEAT 505}
-
#
GI: SBR
StartText: .br
-
#
GI: SYNOPFRAGMENT
# nothing special to do here -- just pass through content (Arg | Group)+
-
#
GI: SYNOPFRAGMENTREF
# WHAT TO DO HERE?? pass through the content, but what about the
# linkend? (will call it across...)
EndText: \s\\fI(refers to: ${_followlink LINKEND 1000})\\fR
-
#
GI: FUNCSYNOPSIS
StartText: .PP
EndText:
-
#
GI: FUNCSYNOPSISINFO
StartText: .nf
EndText: .fi.LP
-
#
GI: FUNCPROTOTYPE
# nothing special -- just pass through content (looks like
# a function def
StartText: .sp 1
-
#
GI: FUNCDEF
StartText: \\fB
EndText: \\fR(
-
#
GI: FUNCPARAMS
StartText: (\\fB
EndText: \\fR)
-
#
GI: VOID
StartText: \\fBvoid\\fR);
-
#
GI: VARARGS
StartText: \\fB\\&...\\fR);
-
#
GI: PARAMDEF
Relation: sibling+ PARAMDEF
StartText: \\fB
EndText: \\fR,\s
-
#
GI: PARAMDEF
StartText: \\fB
EndText: \\fR);
-
#
#
#############################################################################
#
# Links
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: LINK
# Defer to content
-
#
GI: OLINK
# Defer to content
-
#
GI: ULINK
StartText: \\fI
EndText: \\fR
-
#
GI: FOOTNOTEREF
# just let the footnote ref mark come through
-
#
GI: FOOTNOTE
# just let footnote body come through (-man doesn't support footnotes)
-
#
GI: XREF
AttValue: LINKEND
StartText: \\fI${_followlink LINKEND 600}
EndText: \\fR
-
#
GI: XREF
StartText: \\fI
EndText: \\fR
-
#
GI: _xref
SpecID: 600
StartText: ${_followrel child TITLE 2000}
Ignore: all
-
#
GI: ANCHOR
# nothing to do -- this just marks a place..
-
#
#
#############################################################################
#
# Graphics and Equations
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: GRAPHIC
AttValue: REMAP pic
StartText: .LP.RSPlease see the online man page on docs.sun.com or a print copy for the diagram..RE.LP
-
#
GI: GRAPHIC
AttValue: ENTITYREF
StartText: .PP.if t .P! "${_filename}"
-
#
GI: GRAPHIC
# Do nothing
-
#
GI: INLINEGRAPHIC
StartText: .if t .P! "${_filename}"
-
#
GI: INFORMALEQUATION
# nothing special to do -- defer to graphic content..
-
#
GI: EQUATION
#Set up for running EQN pre-processor
StartText: .EQdelim $$.EN.sp 2
-
#
GI: ALT
# Pass through $$ deliminited EQN code
Context: EQUATION
StartText:
EndText:
-
#
GI: TITLE
Context: EQUATION
StartText: .PP\\fB
EndText: \\fR
-
#
GI: INLINEEQUATION
# nothing special to do -- defer to graphic content..
-
#
#
#############################################################################
#
# Tables
#
# #### ##### ##### ##### ##### ##### #### #####
#
#
GI: INFORMALTABLE
StartText: .sp${_calstable tbl tablestart}
EndText: ${_calstable tbl tableend}.sp
-
#
GI: TABLE
StartText: .PP\\fBTable ${tablenum} ${_followrel child TITLE 1000}\\fR.sp
${_calstable tbl tablestart}
EndText: ${_calstable tbl tableend}
Increment: tablenum 1
-
#
GI: TITLE
Context: TABLE
# handled in TABLE element
Ignore: all
-
#
GI: TGROUP
StartText: ${_calstable tbl tablegroup}${_followrel child THEAD 700}${_followrel child TBODY 700}${_followrel child TFOOT 701}
EndText: ${_calstable tbl tablegroupend}
-
#
GI: COLSPEC
Ignore: all
-
#
GI: SPANSPEC
Ignore: all
-
#
GI: THEAD TBODY TFOOT
# they're called explicitly from TGROUP, but ignored here
Ignore: all
-
#
GI: _thead_tbody
SpecID: 700
# nothing special to do -- just pass through content
-
#
GI: _tfoot
SpecID: 701
StartText: ${_calstable tbl tablefoot}
-
#
GI: ROW
StartText: ${_calstable tbl rowstart}
EndText: ${_calstable tbl rowend}
-
#
GI: ENTRY
StartText: ${_calstable tbl entrystart}
EndText: ${_calstable tbl entryend}
-
#
GI: ENTRYTBL
StartText:
EndText:
Message: IMPLEMENT <${_gi} ${_allatts}>
-
#
#
#############################################################################
#
# Index terms
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: INDEXTERM
#StartText: .iX\s
#EndText:
Ignore: all
-
#
GI: PRIMARY
StartText: "
EndText: "
-
#
GI: SECONDARY
StartText: \s"
EndText: "
-
#
GI: TERTIARY
StartText: \s"
EndText: "
-
#
GI: SEE
StartText: \s"See:\s
EndText: "
-
#
GI: SEEALSO
StartText: \s"SeeAlso:\s
EndText: "
-
#
#
#############################################################################
#
# Author / OtherCredit material
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: OTHERCREDIT
# nothing specific -- defer to content
-
#
GI: HONORIFIC
# nothing specific -- defer to content
EndText: \s
-
#
GI: FIRSTNAME
# nothing specific -- defer to content
EndText: \s
-
#
GI: SURNAME
# nothing specific -- defer to content
EndText: \s
-
#
GI: LINEAGE
# nothing specific -- defer to content
EndText: \s
-
#
GI: OTHERNAME
# nothing specific -- defer to content
StartText: (
EndText: )\s
-
#
GI: AFFILIATION
# nothing specific -- defer to content
EndText: \s
-
#
GI: SHORTAFFIL
# nothing specific -- defer to content
EndText: \s
-
#
GI: JOBTITLE
# nothing specific -- defer to content
EndText: \s
-
#
GI: ORGNAME
# nothing specific -- defer to content
EndText: \s
-
#
GI: ORGDIV
# nothing specific -- defer to content
EndText: \s
-
#
GI: CONTRIB
# nothing specific -- defer to content
EndText: \s
-
#
#
#############################################################################
#
# "Leaf" material
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: ABBREV
# no special presentation
-
#
GI: ACCEL
# no special presentation
-
#
GI: ACRONYM
# Small Bold
StartText: \\fB
EndText: \\fR
-
#
GI: AUTHORINITIALS
# no special presentation
-
#
GI: CITATION
StartText: \\fI
EndText: \\fR
-
#
GI: CITETITLE
AttValue: PUBWORK
StartText: \\fI
EndText: \\fR
-
#
GI: CITETITLE
StartText: \\fI
EndText: \\fR
-
#
GI: CITEREFENTRY
# defer to content..
-
#
GI: REFENTRYTITLE
StartText: \\fB
EndText: \\fR
-
#
GI: MANVOLNUM
StartText: (
EndText: )
-
#
GI: COMMENT
# docbook says to inhibit this from finished products...
Ignore: all
-
#
GI: EMAIL
# no special presentation
-
#
GI: EMPHASIS
StartText: \\fI
EndText: \\fR
-
#
GI: ERRORCODE
StartText: \\fB
EndText: \\fR
-
#
GI: ENVAR
StartText: \\fB
EndText: \\fR
-
#
GI: FIRSTTERM
StartText: \\fI
EndText: \\fR
-
#
GI: FOREIGNPHRASE
# no special presentation
-
#
GI: PHRASE
# no special presentation
-
#
GI: QUOTE
StartText: ``\\fI
EndText: \\fR''
-
#
GI: TRADEMARK
EndText: \\u\\s-2TM\\s+2\\d
-
#
GI: WORDASWORD
# no special presentation
-
#
GI: ACTION
# no special presentation
-
#
GI: APPLICATION
StartText: \\fB
EndText: \\fR
-
#
GI: CLASSNAME
StartText: \\fB
EndText: \\fR
-
#
GI: COMMAND
StartText: \\fB
EndText: \\fR
-
#
GI: COMPUTEROUTPUT
StartText: \\f(CW
EndText: \\fR
-
#
GI: DATABASE
# no special presentation
-
#
GI: ERRORNAME
StartText: \\fB
EndText: \\fR
-
#
GI: ERRORTYPE
# no special presentation
-
#
GI: FILENAME
AttValue: CLASS HEADERFILE
StartText: \\fB<
EndText: >\\fR
-
#
GI: FILENAME
StartText: \\fB
EndText: \\fR
-
#
GI: FUNCTION
Relation: parent FUNCDEF
StartText: \\fB
EndText: \\fR
-
#
GI: FUNCTION
Relation: descendant PARAMETER
StartText: \\fB
EndText: )\\fR
-
#
GI: FUNCTION
StartText: \\fB
EndText: (\\|)\\fR
-
#
GI: GUIBUTTON
StartText: \\fB
EndText: \\fR
-
#
GI: GUIICON
StartText: \\fB
EndText: \\fR
-
#
GI: GUILABEL
# no special presentation
-
#
GI: GUIMENU
# no special presentation
-
#
GI: GUIMENUITEM
# no special presentation
-
#
GI: GUISUBMENU
# no special presentation
-
#
GI: HARDWARE
# no special presentation
-
#
GI: INTERFACE
# no special presentation
-
#
GI: INTERFACEDEFINITION
StartText: \\fB
EndText: \\fR
-
#
GI: KEYCAP
StartText: \\fB<
EndText: >\\fR
-
#
GI: KEYCODE
# no special presentation
-
#
GI: KEYCOMBO
# no special presentation -- defer to the content
-
#
GI: KEYSYM
StartText: \\fB<
EndText: >\\fR
-
#
GI: LINEANNOTATION
StartText: \\fI
EndText: \\fR
-
#
GI: LITERAL
StartText: \\fB
EndText: \\fR
-
#
GI: MARKUP
StartText: \\f(CW
EndText: \\fR
-
#
GI: MEDIALABEL
# no special presentation
-
#
GI: MENUCHOICE
# no special presentation
-
#
GI: SHORTCUT
# no special presentation
-
#
GI: MOUSEBUTTON
# no special presentation
-
#
GI: OPTION
AttValue: ROLE PLUS
StartText: +\\fB
EndText: \\fR
-
#
GI: OPTION
AttValue: ROLE NODASH
StartText: \\fB
EndText: \\fR
-
GI: OPTION
StartText: -\\fB
EndText: \\fR
-
#
GI: OPTIONAL
StartText: [
EndText: ]
-
#
GI: PARAMETER
Relation: parent PARAMDEF
StartText: \\fI
EndText: \\fP
-
#
GI: PARAMETER
Relation: parent FUNCTION
NthChild: 1
StartText: (\\fI
EndText: \\fP
-
#
GI: PARAMETER
Relation: parent FUNCTION
StartText: ,\s\\fI
EndText: \\fP
-
#
GI: PARAMETER
StartText: \\fI
EndText: \\fR
-
#
GI: PROPERTY
StartText: \\fB
EndText: \\fR
-
#
GI: REPLACEABLE
StartText: \\fI
EndText: \\fR
-
#
GI: RETURNVALUE
StartText: \\fB
EndText: \\fR
-
#
GI: SGMLTAG
AttValue: CLASS ELEMENT
StartText: \\fB<
EndText: >\\fR
-
#
GI: SGMLTAG
StartText: \\fB
EndText: \\fR
-
#
GI: STRUCTFIELD
StartText: \\fB
EndText: \\fR
-
#
GI: STRUCTNAME
StartText: \\fB
EndText: \\fR
-
#
GI: SYMBOL
AttValue: ROLE Variable
StartText: \\fI
EndText: \\fR
-
#
GI: SYMBOL
StartText: \\fI
EndText: \\fR
-
#
GI: SYSTEMITEM
AttValue: CLASS CONSTANT
StartText: \\fB
EndText: \\fR
-
#
GI: SYSTEMITEM
AttValue: CLASS ENVIRONVAR
StartText: \\fB
EndText: \\fR
-
#
GI: SYSTEMITEM
AttValue: CLASS RESOURCE
StartText: \\fB
EndText: \\fR
-
#
GI: SYSTEMITEM
StartText: \\fB
EndText: \\fR
-
#
GI: TOKEN
StartText: \\fB
EndText: \\fR
-
#
GI: TYPE
StartText: \\fB
EndText: \\fR
-
#
GI: USERINPUT
StartText: \\fB
EndText: \\fR
-
#
GI: AUTHOR
# no special presentation - defer to content
-
#
GI: CORPAUTHOR
# no special presentation
-
#
GI: MODESPEC
# nothing to render (this is meta information for Links)
-
#
GI: PRODUCTNAME
StartText: \\fB
EndText: \\fR
-
#
GI: PRODUCTNUMBER
# no special presentation
-
#
GI: SUBSCRIPT
StartText: \\d
EndText: \\u
-
#
GI: SUPERSCRIPT
AttValue: REMAP nopower
StartText: \\u
EndText: \\d
-
#
GI: SUPERSCRIPT
StartText: .ie t \\u\\c.el \\h'-1'**\\c
EndText: .ie t \\d\\c.el \\h'-1'\\c
-
#
#
#############################################################################
#
# stuff that gets ignored (and doesn't belong elsewhere)
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: TITLEABBREV
# this element is ignored in favor of the real title
Ignore: all
-
#
#
#
#############################################################################
#
# handle layout-specific stuff and PIs
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: BEGINPAGE
StartText: .br\s
EndText:
-
#
GI: _x-break
StartText: .br\s
EndText:
-
#
GI: _sml-break
StartText: .br\s
EndText:
-
#
GI: _sml-need
StartText: .ne\s
EndText:
-
#
GI: _sml-size
StartText: .ps\s
EndText:
-
#
GI: _sml-indent
StartText: .in\s
EndText:
-
#
GI: _sml-space
StartText: .sp\s
EndText:
-
#
GI: _sml-tabset
StartText: .ta\s
EndText:
-
#
#
#############################################################################
#
# General purpose transpecs
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: _passthrough
SpecID: 1000
Substitute: " ""
-
#
GI: _passthrough2
SpecID: 2000
-
#
GI: _doTitle
SpecID: 1010
StartText: .PP\\fB
EndText: \\fR.PP
-
#
#
#############################################################################
#
# Catch-all for unknown PIs -- ignore them...
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: _*
Ignore: data
-
#
#
#############################################################################
#
# Catch-all for unknown elements -- just output their content..
#
# #### ##### ##### ##### ##### ##### #### #####
#
GI: *
-
#