[Documentation below extracted from the package. See the Source (.ZIP), or the database entry: SX - An SP application for SGML to normalized XML -rcc]
This is a very preliminary release of SX, an application built with the SP library for converting SGML to XML.
A Win32 executable is included. This needs the sp120u.dll file
included in the SP 1.2.1 Win32 Unicode binary distribution
To build from source, you need the SP 1.2.1 sources available through http://www.jclark.com/sp/howtoget.htm. Make a subdirectory sx in the directory containing the SP sources, and unzip into that directory. With Visual C++ 4.2, use the supplied sx.mak. On Unix, do "make XPROGDIRS=sx" in the SP directory; you must leave SP_MULTI_BYTE defined in the SP Makefile.
Some documentation in HTML is in sx.htm. This should be put in the same directory as the other SP HTML documentation files. The file todo.htm contains some ideas for future improvements.
Please report any bugs to me.
James Clark
jjc@jclark.com
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:
-bencoding
encoding
for output.
By default SX uses UTF-8.
-cfile
file
.
-C
-Ddirectory
directory
for files specified in system identifiers.
This has the same effect as in nsgmls.
-e
-ffile
file
.
This is useful mainly with shells that do not support redirection
of stderr.
-iname
-v
-wtype
type
.
This has the same effect as in nsgmls.
-xxml_output_option
xml_output_option
as follows:
no-nl-in-tag
id
notation
ndata
cdata
comment
lower
pi-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
<e/>
syntax for element types
e
declared as EMPTY.
attlist
#IMPLIED
.
Multiple
-x
options are allowed.
Option to use empty element syntax for contingently empty elements.
Check for ENTITY attributes whose value is internal CDATA/SDATA entity.
Option to generate IDREF attribute declarations.
Option to generate ENTITY attribute declarations.
Option to generate NOTATION attribute declarations.
Warn about characters unrepresentable in output encoding specified with -b occurring in contexts where numeric character references are not allowed.
Check for numeric character references to non-SGML characters.
Check for comments containing --.
Option to put link attributes on start-tags.
Check for invalid name characters.
Option to copy external entities to current directory.
Try to turn absolute filenames into relative filenames.
Allow SDATA names to be mapped to Unicode.
Output declarations in sorted order.
Option to use attribute defaulting.
Option to output reference to external DTD.
Option to use case that was used in the DTD for element type names, attribute names, notation names, enumerated values.
Option to preserve white-space in element content.
Handle SUBDOC entities by converting to NDATA with notation SGML. At least warn about them with -ondata.
Be able to preserve external entities. Provide a -oentity_name=file option that preserves references to entity_name and writes the normalized entity to file.
James Clark