[This local archive copy mirrored from the canonical site: http://www.jclark.com/sp/sx.htm 980310; links may not have complete integrity, so use the canonical document at this URL if possible.]


An SGML System Conforming to International Standard ISO 8879 --
Standard Generalized Markup Language


sx [ -Cehilprvx ] [ -bencoding ] [ -ccatalog_file ] [ -Ddirectory ] [ -ffile ] [ -wwarning_type ] [ -xxml_output_option ] sysid...


SX converts SGML to XML. SX parses and validates the SGML document contained in sysid... and writes an equivalent XML document to the standard output. SX will warn about SGML constructs which have no XML equivalent.

The following options are available:

Use encoding for output. By default SX uses UTF-8.
Use the catalog entry file file.
This has the same effect as in nsgmls.
Search directory for files specified in system identifiers. This has the same effect as in nsgmls.
Describe open entities in error messages.
Redirect errors to file. This is useful mainly with shells that do not support redirection of stderr.
This has the same effect as in nsgmls.
Print the version number.
Control warnings and errors according to type. This has the same effect as in nsgmls.
Control the XML output according to the value of xml_output_option as follows:
Don't use newlines inside start-tags. Usually SX uses newlines inside start-tags so as to reduce the probability of excessively long lines.
Output attribute declarations for ID attributes.
Output declarations for notations.
Output declarations for external data entities. XML requires these to be NDATA. SX will warn about CDATA and SDATA external data entities and output them as NDATA entities.
Use XML CDATA sections for CDATA marked sections and for elements with a declared content of CDATA.
Output comment declarations. Comment declarations in the DTD will not be output.
Prefer lower case. Names that were subjected to upper-case substitution by SGML will be folded to lower case. This does not include reserved names; XML requires these to be in upper-case.
Escape &<> in the contents of processing instructions using the amp, lt and gt entities. This allows processing instructions to contain the string >?, but requires that applications handle the escapes.
Use the <e/> syntax for element types e declared as EMPTY.
Output a ATTLIST declaration for every element specifying the type of all attributes. The default will always be #IMPLIED.

Multiple -x options are allowed.

James Clark