-.\" $OpenBSD: mdoc.template,v 1.10 2007/05/31 22:10:19 jmc Exp $
.\"
-.\" The following requests are required for all man pages.
-.\"
-.\" Remove `\&' from the line below.
-.Dd $Mdocdate: November 28 2008 $
+.Dd $Mdocdate: December 2 2008 $
.Dt mdocml 1
.Os
.\"
.\"
.Sh SYNOPSIS
.Nm mdocml
-.Op Fl vW
+.Op Fl W
.Op Fl f Ar filter
.Op Fl o Ar outfile
.Op Ar infile
.Sh DESCRIPTION
The
.Nm
-utility parses
-.Xr mdoc
-formatted manual source and passes results into the output filter
-dictated by
-.Fl f Ar filter .
-The only current output filter is
-.Ar validate ,
+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
-Place output in
+Write output to
.Ar outfile ,
which may be
.Qq \-
-for standard output. The default is standard output.
+for stdout.
+.It Fl W
+Print warnings to stderr.
.It Ar infile
Read input from
.Ar infile ,
which may be
.Qq \-
-for standard input. The default is standard input.
-.It Fl v
-Print messages (output depends on filter).
-.It Fl W
-Print warnings (output depends on filter).
+for stdin.
.El
-.Ss Validate Filter
-The validate filter, specified by
-.Fl f Ar validate ,
-is the default filter. It produces no output, so specifying
-.Fl o Ar outfile
-results in an empty file.
-.\" 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
+.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 groff 1 ,
.Xr mdoc.samples 7 ,
The
.Nm
utility was written by
-.An Kristaps Dzonsons Aq kristaps@kth.se .
+.An Em Kristaps Dzonsons Aq kristaps@kth.se .
.\"
.Sh CAVEATS
Most caveats of
structured ones:
.Bl -enum -compact -offset indent
.It
-The engine doesn't understand
-.Sq \&Xo
+The engine doesn't understand the
+.Sq \&Xo ,
+.Sq \&Xc ,
+.Sq \&No ,
+.Sq \&Db ,
+.Sq \&Xc ,
and
-.Sq \&Xc
-troff macros.
+.Sq \&Xo
+mdoc macros.
.It
All macro arguments may be quoted, instead of only some.
.It
-Blank lines raise warnings.
+Blank lines raise errors.
.It
-Non-ascii characters may cause issues.
+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