=================================================================== RCS file: /cvs/mandoc/Attic/mdocml.1,v retrieving revision 1.1 retrieving revision 1.14 diff -u -p -r1.1 -r1.14 --- mandoc/Attic/mdocml.1 2008/11/22 14:53:29 1.1 +++ mandoc/Attic/mdocml.1 2008/12/02 00:10:37 1.14 @@ -1,40 +1,109 @@ -.\" $OpenBSD: mdocml.1,v 1.1 2008/11/22 14:53:29 kristaps Exp $ .\" -.\" The following requests are required for all man pages. -.\" -.\" Remove `\&' from the line below. -.Dd $\&Mdocdate$ -.Dt NAME SECTION# +.Dd $Mdocdate: December 2 2008 $ +.Dt mdocml 1 .Os +.\" .Sh NAME -.Nm program -.Nd one line about what it does +.Nm mdocml +.Nd compile manpage source into mark-up language +.\" .Sh SYNOPSIS -.\" For a program: program [-abc] file ... -.Nm program -.Op Fl abc -.Ar +.Nm mdocml +.Op Fl W +.Op Fl f Ar filter +.Op Fl o Ar outfile +.Op Ar infile +.\" .Sh DESCRIPTION The .Nm -utility processes files ... -something -something. -.\" The following requests should be uncommented and used where appropriate. -.\" This next request is for sections 2, 3, and 9 function return values only. -.\" .Sh RETURN VALUES +utility parses mdoc formatted manual source and passes results into an +output filter. The only current output filter is +.Ar xml , +the default. The arguments are as follows: +.Bl -tag -width "\-o outfile" +.It Fl f Ar filter +The output filter name. +.It Fl o Ar outfile +Write output to +.Ar outfile , +which may be +.Qq \- +for stdout. +.It Fl W +Print warnings to stderr. +.It Ar infile +Read input from +.Ar infile , +which may be +.Qq \- +for stdin. +.El +.Pp +By default, +.Nm +reads from stdin and writes to stdout using the xml filter. +.\" +.Ss XML Filter +The XML filter, specified by +.Fl f Ar xml , +is the default filter. It creates an XML document where element names are +their respective roff macro names. Each element name has an associated +namespace, which is one of +.Qq block +or +.Qq inline , +corresponding to the display mode of a node. The document root is +always the +.Qq mdoc +element, in the default namespace. .\" This next request is for sections 1, 6, 7 & 8 only. .\" .Sh ENVIRONMENT -.\" .Sh FILES -.\" .Sh EXAMPLES -.\" This next request is for sections 1, 4, 6, and 8 only. -.\" .Sh DIAGNOSTICS -.\" The next request is for sections 2, 3, and 9 error and signal handling only. -.\" .Sh ERRORS -.\" .Sh SEE ALSO -.\" .Xr foobar 1 +.\" +.Sh SEE ALSO +.Xr groff 1 , +.Xr mdoc.samples 7 , +.Xr mdoc 7 .\" .Sh STANDARDS .\" .Sh HISTORY -.\" .Sh AUTHORS -.\" .Sh CAVEATS +.Sh AUTHORS +The +.Nm +utility was written by +.An Em Kristaps Dzonsons Aq kristaps@kth.se . +.\" +.Sh CAVEATS +Most caveats of +.Nm +stem from ambiguities in +.Xr mdoc 7 +or the necessary limitations of converting an ad hoc language into +structured ones: +.Bl -enum -compact -offset indent +.It +The engine doesn't understand the +.Sq \&Xo , +.Sq \&Xc , +.Sq \&No , +.Sq \&Db , +.Sq \&Sm , +.Sq \&Xc , +and +.Sq \&Xo +mdoc macros. +.It +All macro arguments may be quoted, instead of only some. +.It +Blank lines raise errors. +.It +If terminating punctuation is found, then +.Em all +remaining tokens are flushed after line scope is closed, not just the +last one. +.El +.Pp +The roff engine in +.Nm +produces text in-line; thus, output may already be partially written by +the time an error is encountered. .\" .Sh BUGS