NAME¶
spam - an SGML markup stream editor
An SGML System Conforming to
International Standard ISO 8879 —
Standard Generalized Markup Language
SYNOPSIS¶
spam [
-ehilprvx ] [
-ccatalog_file ] [
-Ddirectory ] [
-ffile ] [
-mmarkup_option ] [
-oentity_name ] [
-wwarning_type ]
sysid...
DESCRIPTION¶
This manual page may be out of date. Consult the HTML documentation for the most
up-to-date information concerning this program.
Spam (SP Add Markup) is an SGML markup stream editor implemented using
the SP parser.
Spam parses the SGML document contained in
sysid... and copies to the standard output the portion of the document
entity containing the document instance, adding or changing markup as
specified by the
-m options. The
-p option can be used to
include the SGML declaration and prolog in the output. The
-o option
can be used to output other entities. The
-x option can be used to
expand entity references.
For more information about the underlying SGML parser and entity manager, see
nsgmls(1).
The following options are available:
- -cfile
- Use the catalog entry file file.
- -Ddirectory
- Search directory for files specified in system
identifiers. Multiple -D options are allowed. See nsgmls(1)
for more information about file searching.
- -e
- Describe open entities in error messages.
- -ffile
- Redirect errors to file. This is useful mainly with
shells that do not support redirection of stderr.
- -h
- Hoist omitted tags out from the start of internal entities.
If the text at the beginning of an internal entity causes a tag to be
implied, the tag will usually be treated as being in that internal entity;
this option will instead cause it to be treated as being in the entity
that referenced the internal entity. This option makes a difference in
conjunction with -momittag or -x -x.
- -iname
- Pretend that
- <!ENTITY % name "INCLUDE">
occurs at the start of the document type declaration subset in the SGML document
entity.
- -l
- Prefer lower-case. Added names that were subject to
upper-case substitution will be converted to lower-case.
- -mmarkup_option
- Change the markup in the output according to the value of
markup_option as follows:
- omittag
- Add tags that were omitted using omitted tag minimization.
End tags that were omitted because the element has a declared content of
EMPTY or an explicit content reference will not be
added.
- shortref
- Replace short references by named entity references.
- net
- Change null end-tags into unminimized end-tags, and change
net-enabling start-tags into unminimized start-tags.
- emptytag
- Change empty tags into unminimized tags.
- unclosed
- Change unclosed tags into unminimized tags.
- attname
- Add omitted attribute names and vis.
- attvalue
- Add literal delimiters omitted from attribute values.
- attspec
- Add omitted attribute specifications.
- current
- Add omitted attribute specifications for current
attributes. This option is implied by the attspec option.
- shorttag
- Equivalent to combination of net, emptytag,
unclosed, attname, attvalue and attspec
options.
- rank
- Add omitted rank suffixes.
- reserved
- Put reserved names in upper-case.
- ms
- Remove marked section declarations whose effective status
is IGNORE, and replace each marked section declaration whose effective
status is INCLUDE by its marked section. In the document instance, empty
comments will be added before or after the marked section declaration to
ensure that ignored record ends remain ignored.
Multiple
-m options are allowed.
- -oname
- Output the general entity name instead of the
document entity. The output will correspond to the first time that the
entity is referenced in content.
- -p
- Output the part of the document entity containing the SGML
declaration (if it was explicitly present in the document entity) and the
prolog before anything else. If this option is specified two or more
times, then all entity references occurring between declarations in the
prolog will be expanded; this includes the implicit reference to the
entity containing the external subset of the DTD, if there is one. Note
that the SGML declaration will not be included if it was specified by an
SGMLDECL entry in a catalog.
- -r
- Don't perform any conversion on RSs and REs when outputting
the entity. The entity would typically have the storage manager attribute
records=asis.
- -v
- Print the version number.
- -wtype
- Control warnings and errors according to type. See
nsgmls(1) for the allowed values of type.
- -x
- Expand references to entities that are changed. If this
option is specified two or more times, then all references to entities
that contain tags will be expanded.
BUGS¶
Omitted tags are added at the point where they are implied by the SGML parser
(except as modified by the
-h option); this is often not quite where
they are wanted.
The case of general delimiters is not preserved.
Incorrect results may be produced if a variant concrete syntax is used which is
such that there are delimiters in markup to be added that have a prefix that
is a proper suffix of some other delimiter.
If an entity reference in a default value uses the default entity and an entity
with that name is subsequently defined and that default value is added to the
document instance, then the resulting document may not be equivalent to the
original document.
Spam will give a warning when the first two
conditions are met.
AUTHOR¶
James Clark (jjc@jclark.com).
SEE ALSO¶
nsgmls(1)