.\" Automatically generated by Pandoc 1.16.0.2
.\"
.ad l
.TH "enber" "1" "2016\-01\-23" "unber(1) counterpart" "Version 0.9.28"
.nh \" Turn off hyphenation by default.
.SH NAME
.PP
enber \-\- Convert the unber XML output back into BER
.SH SYNOPSIS
.PP
enber [\f[B]\-n\f[]] [\f[B]\-\f[]] [\f[I]input\-filenames\f[]...]
.SH DESCRIPTION
.PP
enber converts the XML\-formatted files produced by \f[C]unber\f[](1)
back into the BER format.
A single dash denotes the standard input.
.SH OPTIONS
.TP
.B \-n
Disable input validation.
By default, enber performs some basic validity checks against XML input.
.RS
.RE
.SH EXAMPLES
.PP
Decode a BER sequence and immediately encode it back
.RS
.PP
unber \f[B]\-p\f[] \f[I]filename.ber\f[] | enber \f[B]\-\f[] >
\f[I]reconstructed.ber\f[]
.RE
.SH FOOTNOTES
.PP
This program does not attempt to perform full\-fledged XML parsing.
It is merely compatible with \f[C]unber\f[](1)\[aq]s output.
In particular, the XML style comments are not supported.
A hash "\f[B]#\f[]" or two dashes "\f[B]\-\-\f[]" following a whitespace
is treated as a beginning of a comment line, which is ignored
completely.
Empty lines are ignored as well.
.PP
The following example \f[C]enber\f[](1) input demostrates the use of
comments:
.PP
<C O="0" T="[1]" TL="2" V="2">
.PD 0
.P
.PD
\ \ \ \ <I O="2" T="[1]" TL="2" V="Indefinite">
.PD 0
.P
.PD
\ \ \ \ \f[B]\-\-\f[] </I O="4" T="[UNIVERSAL 0]" L="4">
.PD 0
.P
.PD
\ \ \ \ \f[B]#\f[] Do not terminate:
.PD 0
.P
.PD
\ \ \ \ \f[B]#\f[] the absence of end\-of\-content octets is
intentional!
.PD 0
.P
.PD
</C O="6" T="[1]" L="6">
.SH SEE ALSO
.PP
\f[C]unber\f[](1), \f[C]asn1c\f[](1).
.SH AUTHORS
Lev Walkin <vlm@lionet.info>.
