


SPAM(1)                                                   SPAM(1)


NAME
       spam - an SGML normalizer

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

SYNOPSIS
       spam [ -ehilpwx ] [ -ccatalog_file ] [ -mmarkup_option ] [
       -oentity_name ] sysid...

DESCRIPTION
       Spam (SP Add Markup) is a normalizer 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  option.
       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.

       -e     Describe open entities in error messages.

       -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  declara-
              tion 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:



                                                                1





SPAM(1)                                                   SPAM(1)


              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.

              Multiple -m options are allowed.

       -oname Output  the  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  and  prolog  before  anything
              else.   This  option will cause the document entity
              to be read a second time;  it  will  therefore  not
              work with pipes.



                                                                2





SPAM(1)                                                   SPAM(1)


       -w     Give warnings.

       -x     Expand references to entities that are changed.  If
              this option is specified more than once,  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.

       Start-tags and end-tags that contain a name group in their
       document type specification are not output.

       Entity  references  that contain a name group are not out-
       put.

       The case of general delimiters is not preserved.

AUTHOR
       James Clark (jjc@jclark.com).

SEE ALSO
       nsgmls(1)
































                                                                3


