# OSX

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

#### An SGML Extended Facilities system conforming to Annex A of International Standard ISO/IEC 10744 -- Hypermedia/Time-based Structuring Language

## SYNOPSIS

`osx` [ `option...` ] `sysid...`

## DESCRIPTION

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

## OPTIONS

The following options are available:

`-bname`, `--encoding=name`
  Use the BCTF name for output. By default osx uses UTF-8.
`-csysid`, `--catalog=sysid`
  Map public identifiers and entity names to system identifiers using the catalog entry file whose system identifier is sysid. This has the same effect as in onsgmls.
`-C`, `--catalogs`
  This has the same effect as in onsgmls.
`-ddirectory`
  Place output files in `directory`.
`-Ddirectory`, `--directory=directory`
  Search `directory` for files specified in system identifiers. This has the same effect as in onsgmls.
`-e`, `--open-entities`
  Describe open entities in error messages.
`-ffile`, `--error-file=file`
  Redirect errors to `file`. This is useful mainly with shells that do not support redirection of stderr.
`-iname`, `--include=name`
  This has the same effect as in onsgmls.
`-ldtd_file`
  Specify that the resulting XML file should conform to the DTD in `dtd_file`.
`-R`, `--restricted`
  This has the same effect as in onsgmls.
`-v`, `--version`
  Print the version number.
`-wtype`, `--warning=type`
  Control warnings and errors according to `type`. This has the same effect as in onsgmls.
`-xoption`, `--xml-output-option=option`
  Control the XML output according to the value of `option` as follows:
  `no-nl-in-tag`
    Don't use newlines inside start-tags. Usually osx uses newlines inside start-tags so as to reduce the probability of excessively long lines.
  `id`
    Output attribute declarations for ID attributes.
  `notation`
    Output declarations for notations.
  `ndata`
    Output declarations for external data entities. XML requires these to be NDATA. Osx will warn about CDATA and SDATA external data entities and output them as NDATA entities.
  `cdata`
    Use XML CDATA sections for CDATA marked sections and for elements with a declared content of CDATA.
  `comment`
    Output comment declarations. Comment declarations in the DTD will not be output.
  `lower`
    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.
  `pi-escape`
    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.
  `empty`
    Use the `<e/>` syntax for element types `e` declared as EMPTY.
  `attlist`
    Output a ATTLIST declaration for every element specifying the type of all attributes. The default will always be `#IMPLIED`.
  `report-input-sources`
    Output a processing instruction to report when an input source other than the main file is opened or closed in the instance. Do not report any input source changes in the DTD.
  `report-entities`
    Output a processing instruction to report when an external entity reference has been resolved in the instance. Do not report any entity resolutions in the DTD.
  `no-expand-external`
    Preserve external entities, write a declaration driver file named "extEntities.dtf", and include that file in the instance's internal subset.
  `no-expand-internal`
    Preserve internal entities, write a declaration driver file named "intEntities.dtf", and include that file in the instance's internal subset.
  `no-external-decl`
    Do not include the external entities declaration driver file in the instance's internal subset.
  `no-internal-decl`
    Do not include the internal entities declaration driver file in the instance's internal subset.
  `sdata-as-pis`
    When translating SDATA entities (whether expanding them or providing a definition for them in the output's internal subset), express them as processing instructions instead of as general internal entities.

  Multiple `-x` options are allowed.