B2H User's Guide (HTML 3 version)

Internal Use Only

B2H: Convert BookMaster, GML,
Script/VS and 'flat' files to HTML
 
User's Guide

HTML 3 generated by B2H R3.0 (300)

Release 3.0

Gary L. Richtmeyer

Advantis
Dept VC5, Marketing Communications
3101 W. Dr. Martin Luther King Jr. Blvd
Tampa, Fl 33607
 
NSGR6QD at CARVM8
USIBMGLR at IBMMAIL
grichtmeyer@vnet.ibm.com
 
Formatted on Wednesday, March 05, 1997 at 00:32:48
5 March 1997

Synopsis: B2H converts 'flat' files and files written in BookMaster, Generalized Markup Language (GML) and Script/VS into HyperText Markup Language (HTML) format suitable for use in an Internet World-Wide-Web environment


Table of Contents

Abstract

Release summary

Figures

What is B2H?

  • Highlights and Features of B2H
  • Prerequisites
  • Software
  • Hardware
  • Obtaining B2H
  • Customers and others on the Internet
  • Internal Advantis and IBM people
  • Installation
  • Quick Install-and-Go (VM)
  • Quick Install-and-Go (AIX, OS/2, Windows 95 and Windows NT)
  • Content of the B2H package
  • Invoking B2H

  • How B2H determines the current platform
  • Invoking B2H under AIX
  • Invoking B2H under OS/2
  • Invoking B2H under VM/ESA as a stand-alone EXEC
  • Invoking B2H under VM/ESA as a CMS pipeline filter
  • Invoking B2H under Windows 95 and Windows NT
  • Return codes
  • Specifying B2H options
  • Customizing B2H

    B2H Profile

  • Syntax of a B2H profile record
  • Specifying a file
  • Platform-specific definitions
  • Available B2H Options
  • Description of B2H Options
  • B2H Symbol Table

  • Syntax of a B2H Symbol Table record
  • Continuation
  • Symbol Table Parameters
  • Specifying '&symbols'
  • Specifying Script/VS control words and BookMaster/GML macros
  • Special replacement text values for :CMD.
  • Specifying BookMaster/GML tags
  • Special replacement text values for :TAG.
  • Translation of single-byte values
  • Using B2H

  • Controlling B2H using statements within the source file
  • Recognizing and displaying the document's title
  • Including explicit HTML statements
  • Including/excluding HTML-oriented text
  • Splitting the output HTML file into multiple files
  • Navigation when splitting the HTML output file
  • Specifying the location and file names when splitting the HTML output
  • Cross-Platform considerations
  • National Language Support (NLS) considerations
  • Converting NLS characters
  • Generating non-English text from BookMaster tags and functions
  • Ensuring the index is sorted appropriately
  • Putting it all together
  • Question and Answer tags
  • Generating normal text
  • Generating HTML forms
  • Hyperlinks
  • Question and Answer appearance
  • Interdocument linking (BookManager tags)
  • Cross-referencing multi-volume documents
  • Supporting custom tags, commands, macros or symbols
  • Invoking an external program
  • Converting 'flat' files

    Caveats and restrictions (what's supported and what's not!)

  • Special information about tables
  • Table support with HTML Release 2
  • Table support with HTML Release 3
  • Examples

  • Lists
  • Tables
  • Shading
  • Directory lists
  • Notes
  • Question and Answers (TEXT mode)
  • Fill-in-the-blank
  • True/False
  • Multiple-choice
  • Matching
  • Ordering
  • Answers to sample questions
  • Question and Answers (HTML FORM mode)
  • Fill-in-the-blank
  • True/False
  • Multiple-choice
  • Matching
  • Ordering
  • Answers to sample questions
  • Figure with a screen image
  • Labeled box
  • Tabbed data
  • :LINES and :XMP
  • Schedules
  • Messages and Codes
  • Line drawings (e.g. XEDITG, CHARGES)
  • Appendix A. Symbols, commands, macros and tags supported by B2H

  • &Symbols
  • &Symbol value attributes
  • Script/VS control words
  • BookMaster and GML macros
  • BookMaster and GML tags
  • Appendix B. &variables pre-defined by B2H


    Abstract

    B2H reads files written in BookMaster, Generalized Markup Language (GML), Script/VS, and even 'flat' files, and converts them into HyperText Markup Language (HTML) format suitable for use in an Internet World-Wide-Web environment. B2H supports most commonly-used BookMaster, GML and Script/VS tags, macros and symbols.

    B2H will be of interest to two audiences: those who simply want to convert existing BookMaster, GML, Script/VS or 'flat' files to HTML, and those who want to rapidly create HTML pages with many internal links, but avoid the tedious hypertext link syntax.

    You don't need to know BookMaster, GML, Script/VS or HTML to do a conversion. However, those skills may be desirable if you want to create BookMaster, GML or Script/VS source files, or massage the HTML output.

    B2H is a REXX program that runs under AIX, OS/2, VM/ESA, Windows 95 and Windows NT. On VM/ESA, B2H can run either as a stand-alone EXEC or as a CMS pipeline filter.


    Release summary

    Figures

    1. Suggested naming conventions if downloading individual files
    2. B2H options - Overview
    3. DEFTEXT.name= values
    4. Default SHADE.name= option values
    5. Specifying an '&symbol'
    6. Specifying a Script/VS control word and/or BookMaster/GML macro
    7. Specifying a BookMaster/GML tag
    8. Specifying a character translation
    9. .*B2H statements
    10. This is the caption
    11. This is the caption
    12. This is the caption
    13. Audit record display format
    14. Default appearances for SHADE
    15. Example figure with light blue shading
    16. This is the figure caption using the :figcap. tag
    17. Supported &symbols
    18. Supported &symbol value attributes
    19. Supported Script/VS control words
    20. Supported BookMaster and GML macros
    21. Supported BookMaster and GML tags

    What is B2H?

    B2H reads files written in BookMaster, Generalized Markup Language (GML), Script/VS, and even 'flat' files, and converts them into HyperText Markup Language (HTML) format suitable for use in an Internet World-Wide-Web environment.

    B2H is a REXX program that runs under AIX, OS/2, VM/ESA, Windows 95 and Windows NT. On VM/ESA, B2H can run either as a stand-alone EXEC or as a CMS pipeline filter.

    B2H will be of interest to two audiences: those who simply want to convert existing BookMaster, GML, Script/VS or 'flat' files to HTML, and those who want to rapidly create HTML pages with many internal links, but avoid the tedious hypertext link syntax.

    You don't need to know BookMaster, GML, Script/VS or HTML to do a conversion. However, these skills may be desirable if you want to create BookMaster, GML or Script/VS source files, or massage the HTML output.

    B2H supports most commonly-used BookMaster, GML and Script/VS tags, macros and symbols. This document demonstrates many of the features of B2H and serves as an example of acceptable tag coding when restrictions apply. See also "Caveats and restrictions (what's supported and what's not!)".


    Highlights and Features of B2H


    Prerequisites

    Software

    One of the following platforms on which to run B2H:

    Hardware

    No known restrictions


    Obtaining B2H

    Customers and others on the Internet

    B2H is available on IBM's VM download page on the Internet at http://www.vm.ibm.com/download/. Follow the directions on the download page on how to download and extract the files.

    Internal Advantis and IBM people

    B2H resides on the VMTOOLS disk. If your site supports the VM "TOOLCAT" command, the following will request a copy:

      TOOLCAT VMTOOLS GET B2H PACKAGE
    

    If "TOOLCAT" is not available in your environment, you can request B2H from the VMTOOLS master disk (note that it may "batch" your request with others and deliver the files on an overnight basis):

      TOOLS SENDTO RALVM17 VMTOOLS VMTOOLS GET B2H PACKAGE
    

    If you would like to subscribe to B2H so updates are automatically sent to you, enter:

      TOOLCAT VMTOOLS SUBSCRIBE B2H PACKAGE
     
              (or)
     
      TOOLS SENDTO RALVM17 VMTOOLS VMTOOLS SUBSCRIBE B2H PACKAGE
    

    Installation

    B2H is easy to install and use right "out-of-the-box" However, advanced users who want to take advantage of the more powerful B2H and HTML features will want to perform some customization.

    Quick Install-and-Go (VM)

    If you retrieved the VMARC file from the Internet, follow the instructions on the web page to upload the VMARC file to VM and then "extract" the component pieces onto a read/write disk (typically your A-disk).(5)

    If you ordered the package from an internal IBM tools disk, receive the files to a read/write disk (typically your A-disk). (5)

    Try converting a test file which is typical of the BookMaster, GML or Script/VS source files you will be processing:

      B2H fn ft fm
    
    Download the resulting HTML file (named "fn HTM A") to your workstation as fn.htm and point your browser at it. (6)

    Try running B2H again, this time using different options to vary the output format. For example, specify your own title and don't generate a table-of-contents:

      B2H fn ft fm ( TOC=NO  TITLE='My sample title'
    
    To see the online help, type: B2H ?

    Customize to your needs either by updating the system profile B2H PROFILE or by creating a user profile and using the USERPROF= option to process it.

    Quick Install-and-Go (AIX, OS/2, Windows 95 and Windows NT)

    If you retrieved the VMARC file from the Internet, follow the instructions on the web page to upload the VMARC file to VM and then "extract" the component pieces onto a read/write disk (typically your A-disk).

    If you ordered the package from an internal IBM tools disk, receive the files to a read/write disk (typically your A-disk).

    There are two ways to get the B2H files onto your workstation:

    Further installation information for AIX users:

    Further installation information for Windows 95 and Windows NT users:

    For all AIX, OS/2, Windows 95 and Windows NT users:

    Try converting a test file which is typical of the BookMaster, GML or Script/VS source files you will be processing:

    AIX

    b2h file

    Point your browser at the resulting HTML file ("file.html").

    OS/2

    B2H fn.ext

    Now point your browser at the resulting HTML file ("fn.htm").

    Windows 95

    REXX B2H fn.ext

    Now point your browser at the resulting HTML file ("fn.htm").

    Windows NT

    REXX B2H fn.ext

    Now point your browser at the resulting HTML file ("fn.htm").

    Try running B2H again, this time using different options to vary the output format. For example, specify your own title and don't generate a table-of-contents:

    AIX

    b2h file '(' TOC=NO TITLE='My sample title' (8)

    OS/2

    B2H fn.ext ( TOC=NO TITLE='My sample title'

    Windows 95

    REXX B2H fn.ext ( TOC=NO TITLE='My sample title'

    Windows NT

    REXX B2H fn.ext ( TOC=NO TITLE='My sample title'

    To see the online help, type:

      AIX:    b2h ?
      OS/2:   B2H ?
      Win95:  REXX B2H ?
      WinNT:  REXX B2H ?
    

    Customize to your needs either by updating the system profile or by creating a user profile and using the USERPROF= option to process it.

    Content of the B2H package

    The B2H package contains the following files:
    File Also within the ZIP file? Description
    B2H ANNOUNCE Yes The announcement and installation instructions file
    B2H EXEC No Main-line routine (compiled using the VM REXX Compiler)
    B2H SEXEC Yes Main-line routine (REXX source)
    B2H HELPCMS Yes Online help file
    B2H NEWS Yes List of recent changes
    B2H PROFILE Yes System profile
    B2H SYMBOLS Yes System symbol definition file
    B2HLINK GIFBIN Yes Default graphic image for use with ARTSHOW=LINK option
    B2H SCRIPT
    B2HSETUP SCRIPT
    B2HINF SCRIPT
    B2HSYS SCRIPT
    B2HUSE SCRIPT
    B2HEXA SCRIPT
    B2HAPP SCRIPT
    Yes User's Guide (BookMaster source)
    B2H LIST3820 No User's Guide (3820 print-ready)
    B2H HTML Yes User's Guide (HTML 3 format)
    B2HR2 HTML Yes User's Guide (HTML 2 format)
    B2HIBM FOOTER Yes Sample "footer" file containing standard IBM Home page linkages
    B2HUSER EXEC Yes Sample user exit
    B2HUSER SYMBOLS Yes Sample user symbol definitions (as distributed, allows B2H to support users of the BookHype HTML converter program)
    B2H ZIPBIN
    Contains the above marked files to simplify downloading to a workstation


    Invoking B2H

    How B2H determines the current platform

    At startup, B2H queries the environment to determine on what platform it is running. If on OS/2, it further determines whether it should run in "FAT" or "HPFS" mode by examining the name of the input file. If the name contains more than one period, the filename is longer then eight characters or the extension is longer then three characters, then "HPFS" mode is assumed; otherwise, "FAT" mode is assumed.

    Invoking B2H under AIX

    This assumes you have installed B2H according to the steps described in "Quick Install-and-Go (AIX, OS/2, Windows 95 and Windows NT)".

      b2h  file  [ '(' option1=value1 ... optionx=valuex ]
    

    Invoking B2H under OS/2

      B2H  fn.ext  [ ( option1=value1 ... optionx=valuex ]
    

    Invoking B2H under VM/ESA as a stand-alone EXEC

      B2H  fn fn [ft]   [ ( option1=value1 ... optionx=valuex ]
    

    Invoking B2H under VM/ESA as a CMS pipeline filter

      PIPE ... | REXX (B2H EXEC) [ ( option1=value1 ... optionx=valuex ] | ...
    

    or, if you copy B2H EXEC to B2H REXX ...

      PIPE ... | B2H [ ( option1=value1 ... optionx=valuex ] | ...
    

    Invoking B2H under Windows 95 and Windows NT

      REXX B2H  fn.ext  [ ( option1=value1 ... optionx=valuex ]
    

    Return codes

    When B2H ends, it sets a return code corresponding to the most severe condition encountered.

    RC

    Description

    0

    No warnings, errors or termination messages issued

    4

    At least one warning message issued

    8

    At least one error message issued

    12

    B2H abnormally terminated

    Specifying B2H options

    B2H supports a wide variety of processing options (for a complete list, see "Available B2H Options"). Plus, these options can be specified in a number of places, such as within a profile, as parameters on the command line when B2H is invoked, even within the source file itself.

    The following describes the various ways you can specify options and is listed in hierarchical order:


    Customizing B2H

    If you will be using B2H extensively, you may wish to customize it to reflect your personal requirements. Here are some suggested steps for customization:

    Step 1 - Place B2H into the active execution path (PC only)

    To run B2H from within any directory on your workstation, ensure that the directory in which B2H resides is among those searched for commands.

    Step 2 - Specify the location of the system files (PC only)

    To more easily run B2H from different directories on AIX, OS/2, Windows 95 and Windows NT, place the system profile, symbol table and help file into a common directory and set the "B2HPATH" environment variable to point to the directory. (Multiple directories can be specified and searched, just separate the directory names with semi-colons.)

    B2H follows these steps to locate these files:

    1. The working directory is checked

    2. The directory(s) specified by the "B2HPATH" environment variable are checked

    3. The directory from which the operating system loaded the B2H program itself is checked

    Note: B2H will also follow the above steps when attempting to locate user profiles or symbol tables.

    Step 3 - Update the B2H profile

    If you wish to change the value of one or more B2H options, it's best to create a user profile and add the appropriate options to it and then add a USERPROF= statement to the system profile to point to your user profile. By not updating the system profile, you will not lose your customizations when you install an update to B2H itself -- all you need do is re-add the USERPROF= statement to the system profile.

    You can also override these values using any of the methods described in "Specifying B2H options".

    Options whose values are commonly changed:

      DESTSYS=         IMBFTEXT=
      FOOTER=          IMBFT=
      HEADER=          IMBPATH=
      HTML=            IMGPATH=
    

    Refer to "Available B2H Options" for a list of all available options.

    Step 4 - Update the B2H symbol file

    If you have custom symbols, commands, macros or tags for which you want to provide specialized definitions, it's best to create a user symbol file, add the appropriate definitions to it and then add a USERSYM= statement to the system or user profile to point to your user symbol file. By not updating the system symbol file, you will not lose your customizations when you install an update to B2H itself.

    Step 5 - Set up Header and Footer files

    Use these if you want each output HTML file to contain similar information at the beginning and/or end of the file. A sample footer file containing the standard IBM Home page navigational links is provided as part of the B2H package.

    You can have multiple header and footer files. See the description of the HEADER= and FOOTER= options in "Available B2H Options" for more information.

    Tip: If you customize the header and footer files, it's best to rename them to something else and use the new names with the HEADER= and FOOTER= options in the profile file. Otherwise you may lose your customization if you install an update to B2H itself.

    Step 6 - Set default mast head

    If you want a common mast head image displayed at the top of your files, set the MASTIMG= and MASTALT= options in your profile.


    B2H Profile

    The profile is one of two B2H control files (the symbol table is the other). It contains the options that control how B2H operates.

    A system profile is provided as part of the B2H package. Any desired updates can be made either to the system profile or you can create user profiles and add one or more USERPROF= options to the system profile to point to the user profile(s).

    You can always override option values using any of the methods described in "Specifying B2H options".


    Syntax of a B2H profile record

    Format of a profile record
    [(platform)] option=value   [ ... optionx=valuex ]
    

    The option's value must be specified immediately after the equal-sign (no blanks allowed), e.g. MSGLEVEL=WARNING.

    If the value contains a blank, then the entire value must be enclosed in either single-quote or double-quote characters:

      ABSTRACT='How to play the piano'
    

    Blank records or records with an asterisk in column one are considered comments and ignored.

    Specifying a file

    Many B2H options allow you to specify the name of a file. The syntax of the file must satisfy the naming convention of the platform for which the option is applicable. For example, if specifying the name of the physical output file and running B2H on OS/2, the filename must conform to OS/2 naming conventions, e.g.

      OUTPUTP=c:\pubs\abc.htm
    

    If specifying a file using VM naming conventions, you will need to enclose the file in single or double-quotes, e.g.

      OUTPUTP='ABC HTML A'
    

    Platform-specific definitions

    You can specify that a physical record be applicable to certain platform(s) by indicating the platform name(s) within parentheses as the first item on the record.

    (CURR=platform) option=value ...

    (platform) option=value ...

    This record is applicable if B2H is being run on the specified platform. Note that CURR= is assumed if omitted.

    (DEST=platform) option=value ...

    This record is applicable if the HTML output is destined for the specified platform.

    If multiple conditions are specified, all must be true for the record to be used.

    Valid platform names:

    AIX

    Signifies the AIX platform

    CMS

    Signifies the CMS (VM/ESA) platform

    HPFS

    Signifies the OS/2 platform using the HPFS file system

    OS2

    Signifies the OS/2 platform using the FAT file system

    PC

    Signifies the AIX, OS/2 (both FAT and HPFS), Windows 95 or Windows NT platforms

    WIN95

    Signifies the Windows 95 platform

    WINNT

    Signifies the Windows NT platform

    Example:

      (CURR=OS2)          ... use if running on OS/2 (FAT)
      (OS2)               ... same as above (CURR= assumed if omitted)
      (DEST=AIX)          ... use if AIX is the destination platform
      (CURR=CMS DEST=AIX) ... if on CMS and AIX is the destination
    
    Another example: Define the IMBFT option differently based on platform
      (AIX)   IMBFT=script
      (CMS)   IMBFT=SCRIPT
      (HPFS)  IMBFT=script
      (OS2)   IMBFT=scr
      (WIN95) IMBFT=scr
      (WINNT) IMBFT=scr
    

    If no parenthesed platform name is specified, the record is applicable on all platforms.

    For information on how B2H determines the current platform on which it's running, see "How B2H determines the current platform".


    Available B2H Options

    Figure 2. B2H options - Overview

     
     Destination system
     DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT }
    

     
     Input File Characteristics
     EXPDATE=[ yyyymmdd | text ]
     REVDATE=[ yyyymmdd | text ]
     SOURCE='{SCRIPT|FLAT },[pre],[blanksub]'
     SYMCHARS='ccc...ccc'
    

     
     Table-of-Contents, Indexing & Sectioning
     BODYHD0='text'
     BODYHD1='text'
     FBC={ YES | NO }
     FIGLIST={ YES | NO }
     FTSEP={ YES | NO }
     HEADNUM={ YES | NO | num | *num }
     INDEX={ YES | NO }  {INDEX|NOINDEX}
     INDEXSORT.SPEC='x[-y] ... x[-y]'
     INDEXSORT.NUM='x[-y] ... x[-y]'
     INDEXSORT.LETTER='x[-y] ... x[-y]'
     INDEXTOC={ YES | NO | number | 50 }
     INDEXTOCTAG='ts,te,ss,se,ns,ne,as,ae'
     PTOC={ NO | num | *num | 4 }
     TLIST={ YES | NO }
     TOC={ YES | NO | num | *num }
     TOCC={ YES | NO }
     TOCINDENT={ YES | NO }
     TOCSUPPRESS={ 0 | number }
    

     
     Hyperlinking within the file
     FNLINK={ NO | TO | FROM | BOTH }
     FTLINK={ YES | NO }
     TOCRET={ NO | TOC | PTOC | PTOCx }
    

     
     File Locations, Names and Format
     IMBFT={ script | ext }     (AIX)
     IMBFT={ script | ext }     (HPFS)
     IMBFT={ scr    | ext }     (OS/2)
     IMBFT={ SCRIPT | ft  }     (VM)
     IMBFT={ scr    | ext }     (WIN95)
     IMBFT={ scr    | ext }     (WINNT)
     IMBFTEXT='{YES|NO}, {ASIS|LC|UC}, ft=ext ...'
     IMBPATH={ CLEAR | path[;path;...;path] }
     IMGPATH='path'
     OUTPUTFM={ A | disk }
     OUTPUTL='logical-output-file'
     OUTPUTL83={ YES | NO }
     OUTPUTLCASE={ ASIS | LC | UC }
     OUTPUTP='physical-output-file'
     OUTPUTP83={ YES | NO }
     OUTPUTPCASE={ ASIS | LC | UC }
     PARTDIGITS='{2|num}, {DEC|HEX|ALPHA}'
     PARTDIR[.x[-y]]='physical-directory,logical-directory'
     PARTNAME.x='[physical-file-name],[logical-file-name]'
    

     
     Artwork & Graphics
     ARTLINKIMG={ B2HLINK.GIF | image.ext }
     ARTSHOW={ VIEW | LINK | NONE }
     ARTTYPE={ GIF | imagetype }
    

     
     Controlling DVCF sectioning
     DVCF='cond1 cond2 ... condx'
     SYSVAR='0 file'
     SYSVAR='1 cond1 2 cond2 ... 9 cond9'
    

     
     HTML file's content & structure
     ABSTRACT='text'
     ANNOT={ YES | NO }
     AUTOPART='{NO|YES|num|*num} [LEN=value] {IMBED|NOIMBED}{SETUP|NOSETUP}'
     BODYTAG='text'
     CENTERTAG={ YES | NO }
     COMMENT={ 'text' | CLEAR }
     COMMENTHEAD='text'
     CONTACT='text'
     DLFMT={ DL | TABLE }
     DLTAG.x='ls,le,ts,te,ds,de'
     FIGCAPLOC={ BEFORE | AFTER }
     FOOTER={ NO | file }
     GLTAG.x='ls,le,ts,te,ds,de'
     H3ADDONS={ YES | NO }
     H3TABLE={ COMPLEX | SIMPLE }
     HEADER={ NO | file }
    

     HRTAG.x={ <HR> | tag }
     HTML={ 2 | 3 }
     HTMLEXT={ html | ext }      (AIX)
     HTMLEXT={ html | ext }      (HPFS)
     HTMLEXT={ htm  | ext }      (OS/2)
     HTMLEXT={ htm  | ext }      (VM)
     HTMLEXT={ htm  | ext }      (WIN95)
     HTMLEXT={ htm  | ext }      (WINNT)
     HTMPEXT={ html | ext }      (AIX)
     HTMPEXT={ html | ext }      (HPFS)
     HTMPEXT={ htm  | ext }      (OS/2)
     HTMPEXT={ HTM  | ext }      (VM)
     HTMPEXT={ htm  | ext }      (WIN95)
     HTMPEXT={ htm  | ext }      (WINNT)
     INDEXTAG='ls,le,ts,te,is,ie'
     LINEWIDTH={ 78 | number }
     LIREF={ NO | ID | NUM }
    

     MASTALT='alternate text'
     MASTIMG='file.ext, { ALL | FIRST }'
     META={ YES | NO }
     METAKEYS='key1 key2 ... keyx'
     NOTELTAG.x='ls,le,is,ie'
     OLTAG.x='ls,le,is,ie'
     OWNER='text'
     PARTLINK={ YES | NO }
     PARTLINK.x='text | CLEAR'
     REVTAG='revtext,erevtext'
     REVTAG.id='revtext,erevtext'
     SHADE.name=rrggbb
     SLTAG.x='ls,le,is,ie'
     SYSVAR='A { YES | NO }'
     TABLE2='fl,fm,fr,fv,fhn,fhh,gutl,gutr'
     TFIGLISTTAG.x='ls,le,is,ie'
     TOCTAG='ls,le,ts,te'
     TOPHEAD={ 1 | 2 | 3 | 4 | 5 | 6 | NO }
     TITLE='text'
     ULTAG.x='ls,le,is,ie.'
     XEDITG={ YES | NO }
    

     
     Question & Answer
     QRESET={ NO | 0 | 1 | ... | 19 | 20 }
     QUESTION=TEXT
     QUESTION='FORM,[method],url-of-cgi,[answer-action],[optdata]'
    

     
     Miscellaneous
     ALARM={ YES | NO | number | 5 }
     B2HREQ={ YES | NO }
     DEFTEXT.name='text'
     DOCDESC='file'
     DOCDESC.id='file'
     IMBEDID={ YES | NO }
     LOG={ NO | YES | file }
     LTGT={ ASIS | CONVERT }
     MSGLEVEL={ INFO | WARNING | ERROR }
     PROCACT='sit=action sit2=action2 ... sitx=actionx'
     PSC='process1 process2 ... processx'
     SHOWLINES={ NO | num }
     SYSVAR='W file'
     TAGCHECK={ YES | NO }
     USERPROF=file
     USERSYM=file
    

    Description of B2H Options

    ABSTRACT='text'

    A short abstract of the document. If present, causes a "<META>"-type statement to be included in the HTML output. Also allows the server to generate an HTTP response header if abstract information is requested.
      ABSTRACT='Murphy''s Laws'
    
    causes the following to be generated:
      <META HTTP-EQUIV="abstract" CONTENT="Murphy's Laws">
    

    Default: ABSTRACT=''

    ALARM={ YES | NO | number | 5 }

    When running on a PC workstation, this controls the sounding of the audible alarm when warning or error messages are displayed.
    YES The audible alarm is always sounded
    NO The audible alarm is never sounded
    number The audible alarm is sounded only this many times; warning or error messages after this number are issued silently

    Default: ALARM=5

    ANNOT={ YES | NO }

    A "short-hand" method for setting the SYSVAR "A" parameter for controlling the processing of text marked up with the :ANNOT. and :EANNOT. tag. ANNOT=YES is equivalent to SYSVAR='A YES'
    YES Process annotations
    NO Do not process annotations (default)

    Default: ANNOT=NO

    ARTLINKIMG={ B2HLINK.GIF | image.ext }

    If ARTSHOW=LINK, this option specifies the graphic image to display as a hyperlink to the "real" graphic image.
    Default: ARTLINKIMG=B2HLINK.GIF

    Note: The B2HLINK.GIF file is supplied within the B2H ZIPBIN file.

    ARTSHOW={ VIEW | LINK | NONE }

    Specifies how the :ARTWORK. tag should be handled
    VIEW The HTML "IMG SRC=" will be generated to cause the image to be loaded immediately at browse time
    LINK A link will be provided to the graphic, but the user must select it to see the image (the text defined for the DEFTEXT.ARTLINK option will be shown as the text for the link)
    NONE Ignore the :ARTWORK tag.

    Default: ARTSHOW=VIEW

    ARTTYPE={ GIF | imagetype }

    This specifies the file extension of an image on the Web server referenced by the :ARTWORK. tag or .SI control word. The image file's name is defined by the NAME= parameter on the :ARTWORK. tag or the name specified after the .SI control word. The location of the image on the server is specified by the IMGPATH= option.
    Default: ARTTYPE=GIF

    AUTOPART='{ NO | YES | num | *num } [LEN=value] {IMBED|NOIMBED} {SETUP|NOSETUP}'

    Causes the output HTML file to be broken into multiple HTML files. (9) This is discussed in detail in "Splitting the output HTML file into multiple files"
    Example: AUTOPART=1 creates a separate HTML file for each :H1. tag
    Example: AUTOPART=*1 creates a separate HTML file each :H0. and :H1. tag.
    Example: AUTOPART=LEN=4 creates a separate HTML file when a :LEN LEHD=4 tag is encountered
    Example: AUTOPART=IMBED creates a separate HTML file whenever a file is imbedded
    Example: AUTOPART='0 IMBED' creates a separate HTML file for each :H0. tag and whenever a file is imbedded
    Default: AUTOPART=NO

    B2HREQ={ YES | NO }

    B2H supports various options specified as a Script "comment" (first two characters are ".*"), such as .*OPTION or .*B2H OPTION, and .*HTML or .*B2H HTML. This option specifies whether the "B2H" string is required or may be omitted. (See also "Controlling B2H using statements within the source file")
    YES If specified, then only the .*B2H OPTION format is allowed and the .*OPTION format is ignored
    NO If specified, then either the .*B2H OPTION or .*OPTION formats may be used

    Default: B2HREQ=NO

    BODYHD0='text'

    Number each :H0. and give it this prefix label. This option is also recognized on BookMaster's :DOCPROF. tag. See also the FBC= option.
    Example: BODYHD0='Part' produces "Part 1.", etc.
    Default: BODYHD0=''

    BODYHD1='text'

    Number each :H1. and give it this prefix label. This option is also recognized on BookMaster's :DOCPROF. tag. See also the FBC= option.
    Example: BODYHD1='Chapter' produces "Chapter 1.", etc.
    Default: BODYHD1=''

    BODYTAG='text'

    Allows you to specify the HTML BODY tag to use at the document's beginning. Useful if you want specialized parameters such as BGCOLOR= or TEXT=.
    Default: BODYTAG='<BODY>'

    CENTERTAG={ YES | NO }

    How should the HTML source support centering of text? If YES, then <CENTER> ... </CENTER> HTML tags are used (not all Web browsers support this tag). If NO, a number of monospaced blanks are prefixed to the text to approximate a centering effect.
    Default: CENTERTAG=NO if HTML=2; CENTERTAG=YES if HTML=3

    COMMENT={ 'text' | CLEAR }

    Text to include in the header section of the HTML output file as an HTML comment. Can be specified as many times as desired. Any symbols (e.g. &variables) in the text are substituted. If COMMENT=CLEAR, all previously-specified comments are discarded.
    Default: COMMENT=''

    COMMENTHEAD='text'

    Text describing the operation of the B2H command. The text is inserted into the header section of the HTML output as an HTML comment with the intent of documenting the name of the input file, when the conversion took place, who did the conversion (if the platform allows user identification), etc. Any symbols (e.g. &variables) in the text are substituted. If omitted, the following text is assumed (shown here on two lines):
    COMMENTHEAD='&b2hiall converted by &b2hsig (&b2hplat) &b2huser
                 on &date at &time'
    

    CONTACT='text'

    The contact person for the document. If present, causes a "<META>"-type statement to be included in the HTML output. Also allows the server to generate an HTTP response header if contact information is requested.
      CONTACT='doe@vnet.ibm.com'
    
    causes the following to be generated:
      <META HTTP-EQUIV="contact" CONTENT="doe@vnet.ibm.com">
    

    Default: CONTACT=''

    DEFTEXT.name='text'

    Some tags provide default text if not explicitly specified (e.g. "Index" for :index); other parts of a document generate text which is not explicitly specifiable (e.g. "Special Characters" header within the index). This option allows you to specify the text that B2H should use in those situations. (See also "National Language Support (NLS) considerations")
    e.g. DEFTEXT.PREFACE='Vorwort'

    Figure 3. DEFTEXT.name= values
    Option Default value Where used
    DEFTEXT.ABBREV "List of Abbreviations" Default text for :ABBREV tag
    DEFTEXT.ABSTRACT "Abstract" Default text for :ABSTRACT tag
    DEFTEXT.APPENDIX "Appendix" Default text for :APPENDIX tag
    DEFTEXT.ARTLINK "View figure." Text to show for a graphic link when ARTSHOW=LINK
    DEFTEXT.BIBLIOG "Bibliography" Default text for :BIBLIOG tag
    DEFTEXT.COPYR "&copy; Copyright &b2hcopyr. &b2hcoprext" Default text used in conjunction with the COPYR= attribute on either the :GDOC or :USERDOC tag.
    DEFTEXT.DAYS "Mon Tue Wed Thu Fri Sat Sun" Days-of-the-week for use with RFC 822 date conversions, such as for EXPDATE= and REVDATE=.
    DEFTEXT.FIGLIST "Figures" Default text for :FIGLIST tag
    DEFTEXT.FIGURE "Figure" Default text used with the figure number in conjunction with the :FIGCAP tag
    DEFTEXT.FOOTNOTES "Footnotes" Default text used to indicate the beginning of the footnotes
    DEFTEXT.GLOSSARY "Glossary" Default text for :GLOSSARY tag
    DEFTEXT.HTMLCMTL "<!-- " Left or beginning portion of an HTML comment
    DEFTEXT.HTMLCMTR " -->" Right or ending portion of an HTML comment
    DEFTEXT.HTMLHEAD "<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML &b2hhtml//EN">" The first physical record of an HTML output file
    DEFTEXT.IBMCOPYR "<B>&copy; Copyright International Business Machines Corporation &b2hibmcopyr.. All rights reserved. &b2hcoprext.</B> <BR>Note to U.S. government Users -- Documentation related to restricted rights -- Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule contract with IBM Corp." Default text used in conjunction with the IBMCOPYR= attribute on the :USERDOC tag.
    DEFTEXT.INDEX "Index" Default text for :INDEX tag
    DEFTEXT.INDEX0 "Special Characters" Used as a header within the sorted index
    DEFTEXT.INDEX1 "Numerics" Used as a header within the sorted index
    DEFTEXT.INDEX2 "See also" Used within the sorted index
    DEFTEXT.INDEX3 "See" Used within the sorted index
    DEFTEXT.LEGEND "Legend" Default text for :LEGEND tag
    DEFTEXT.MONTHS "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec" Months-of-the-year for use with RFC 822 date conversions, such as for EXPDATE= and REVDATE=.
    DEFTEXT.NOTE "Note" Default text for :NOTE tag
    DEFTEXT.NOTEL "Notes" Default text for :NOTEL tag
    DEFTEXT.NT "Note" Default text for :NT tag
    DEFTEXT.PREFACE "Preface" Default text for :PREFACE tag
    DEFTEXT.PTOC "Partial Table-of-Contents" Default text to identify a partial table-of-contents
    DEFTEXT.PTOCLT "(Go to main Table-of-Contents)" Default text for a PTOC's hyperlink back to the main table-of-contents (see TOCRET=PTOCx options for more info)
    DEFTEXT.QANSREF "the answer to question" Default text used in conjunction with the :ANSREF tag.
    DEFTEXT.QQREF "question" Default text used in conjunction with the :QREF tag.
    DEFTEXT.SAFETY "Safety" Default text for :SAFETY tag
    DEFTEXT.SCHEDACTHD "Activities" Default text for :SCHEDULE ACTHD=
    DEFTEXT.SOA "Summary of Amendments" Default text for :SOA tag
    DEFTEXT.SPOT1 "Ref #" Default text at the location of a :SPOT tag if the XREFTEXT attribute is omitted.
    DEFTEXT.SPOT2 " reference #" Default text at the location of a :SPOTREF tag if the XREFTEXT attribute is omitted from the :SPOT tag itself.
    DEFTEXT.T2XREF "the appropriate section" Text to show for a forward cross-reference link within an HTML 2 table (for more info, see "Table support with HTML Release 2")
    DEFTEXT.TABLE "Table" Default text used with the table number in conjunction with the :TCAP tag
    DEFTEXT.TLIST "Tables" Default text for :TLIST tag
    DEFTEXT.TOC "Table of Contents" Default text for the :TOC tag

    DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT } (AIX)

    DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT } (HPFS)

    DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT } (OS/2)

    DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT } (VM)

    DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT } (WIN95)

    DESTSYS={ AIX | HPFS | OS2 | VM | WIN95 | WINNT } (WINNT)

    Specifies the system on which the HTML source will be browsed (e.g. the system on which the Web server and/or browser will be run). The default is the system on which B2H is run, except that if B2H is executed on VM/ESA, the destination system is assumed to be OS/2.

    Note: If the destination system is DOS/Windows, you should still specify "OS2".

    For information on how B2H determines the current platform on which it's running, see "How B2H determines the current platform". See also "Cross-Platform considerations".

    DLFMT={ DL | TABLE }

    When a definition-list tag (:DL) is processed, do you want it mapped to HTML's <DL> tag or to a two-column unframed table? Some people prefer the appearance of a table over HTML's definition-list, since a table more closely approximates BookMaster's definition-list format.
    DL Map to HTML's standard definition-list tags (e.g. <DL>) This is the default.
    TABLE Map to a two-column unframed table. Available only when generating HTML 3 output.

    Default: DLFMT=DL

    DLTAG.x='ls,le,ts,te,ds,de'

    Allows you to specify the HTML tags B2H should generate when processing a directory list (:DL) and it's associated tags.
    x Used for:
    0 HTML tags for a non-compact list when DLFMT=DL
    1 HTML tags for a compact list (e.g. :DL COMPACT) when DLFMT=DL
    2 HTML tags for a non-compact list when DLFMT=TABLE
    3 HTML tags for a compact list (e.g. :DL COMPACT) when DLFMT=TABLE

    HTML tag values:
    ls List start
    le List end
    ts Text start
    te Text end
    ds Definition start
    de Definition end

    Default:

      DLTAG.0='<DL>,</DL>,<P><DT>,,<DD>,'
      DLTAG.1='<DL COMPACT>,</DL>,<DT>,,<DD>,'
      DLTAG.2='<TABLE CELLPADDING=3>,</TABLE>,<TR VALIGN=TOP><TD><P>,</TD>,
               <TD><P>,</TD></TR>'
      DLTAG.3='<TABLE CELLPADDING=3>,</TABLE>,<TR VALIGN=TOP><TD>,</TD>,
               <TD>,</TD></TR>'
    

    DOCDESC='file'

    DOCDESC.id='file'

    In BookManager, the :DOCDESC tag describes an external document for creating interdocument links. This option performs the same function for HTML files and can be specified as many times as necessary. If omitted for a particular document, then no interdocument links are generated. For more information, see "Interdocument linking (BookManager tags)".
    id The value specified for ID= on the :DOCDESC tag. If omitted, this definition applies to all :DOCDESC tags.
    file The HTML file containing this document

    Default: DOCDESC=''

    DVCF='cond1 cond2 ... condx'

    A "short-hand" method for setting conditions used by BookMaster's ".when" DVCF macro.
      This:              DVCF='sport wagon truck'
      Is equivalent to:  SYSVAR='1 sport 2 wagon 3 truck'
    

    EXPDATE= [ yyyymmdd | text ]

    The date when this file should expire. If a valid date is specified, it is converted to conform to RFC 822 (updated by RFC 1123), otherwise the option's value is included verbatim.

    Example: An input file with a date/time stamp of "1996-05-03 12:34:56" and EXPDATE=19960727, the following is generated:

      <META HTTP-EQUIV="expires" CONTENT="Sat, 27 Jul 1996 12:34:56">
    
    Allows the server to generate an HTTP response header if expiration date information is requested.
    Default: source file date + 2 years

    FBC={ YES | NO }

    Want Folio-By-Chapter? If YES, same as specifying BODYHD0='Part' and BODYHD1='Chapter'. This option is also recognized on BookMaster's :DOCPROF. tag. See also the QRESET= option.
    Default: FBC=NO

    FIGCAPLOC={ BEFORE | AFTER }

    Should a figure's caption (:FIGCAP) and description (:FIGDESC) be placed before or after the figure itself?
    BEFORE The figure's caption (and any description) is placed before the figure. Since the caption is the "anchor" for any hyperlinks to the figure, this is the preferred location.
    AFTER The figure's caption (and any description) is placed after the figure. This is how GML and BookMaster work, but causes hyperlinks to jump to the bottom of the figure.

    Default: FIGCAPLOC=BEFORE

    FIGLIST={ YES | NO }

    Do you want to generate a list of figures when the :FIGLIST. statement is encountered? Some people do not want a figure list in an HTML file and this option allows you to prevent one from being generated.
    Example: FIGLIST=YES

    FNLINK={ NO | TO | FROM | BOTH }

    Want hyperlinks between footnote reference and definition?
    NO Do not generate hyperlinks
    TO Generate hyperlink from footnote usage to definition
    FROM Generate hyperlink from footnote definition to it's usage
    BOTH Generate hyperlinks both ways

    Default: FNLINK=BOTH

    FOOTER={ NO | file }

    If other than NO, any records in the specified file(10) are appended to the end of all HTML output files. (Symbol substitution will occur for any "&variables" in the footer records.) This option may be specified as many times are there are footer files to append to the HTML output files. FOOTER=NO resets to zero the number of footer files to process.
    Default: FOOTER=NO

    FTLINK={ YES | NO }

    If a Figure List and/or Table List is created, each entry in the list is a hyperlink to the respective figure or table. This option specifies whether the figure or table caption should also be a link back to the appropriate list. If omitted, YES is assumed.
    Example: FTLINK=YES

    FTSEP={ YES | NO }

    Should the figures and tables be listed separately or together? If YES, a list of figures is generated when the :FIGLIST. tag is encountered and a separate list of tables is generated when the :TLIST. tag is encountered. If FTSEP=NO, then a combined list of both figures and tables is generated when the :FIGLIST. tag is encountered (the :TLIST. tag is then ignored). This option is also recognized on BookMaster's :DOCPROF. tag.
    Example: FTSEP=NO

    GLTAG.x='ls,le,ts,te,ds,de'

    Allows you to specify the HTML tags B2H should generate when processing a glossary list (:GL) and it's associated tags.
    x Used for:
    0 HTML tags for a non-compact list
    1 HTML tags for a compact list (e.g. :GL COMPACT)

    HTML tag values:
    ls List start
    le List end
    ts Text start
    te Text end
    ds Definition start
    de Definition end

    Default:

      GLTAG.0='<DL>,</DL>,<P><DT>,,<DD>,'
      GLTAG.1='<DL COMPACT>,</DL>,<DT>,,<DD>,'
    

    H3ADDONS={ YES | NO }

    Specifies if HTML 3 enhanced tags should be used (these are tags not formally defined in HTML 3, but are "add-ons" gaining acceptance by HTML 3-compliant browsers, most notably Netscape). Currently used only to force cell widths when generating HTML 3 tables. Since most browsers ignore unknown HTML markup, the default is YES.

    Note: At the time of this writing, the IBM Web Explorer did not support the HTML 3 WIDTH= parameter.
    Default: H3ADDONS=YES

    H3TABLE={ COMPLEX | SIMPLE }

    Specifies how BookMaster tables using both horizontal and vertical cell alignment should be handled when creating HTML 3 output (HTML=3). If H3TABLE=COMPLEX (the default), then both horizontal and vertical alignment is respected. If H3TABLE=SIMPLE, then all cells are laid out horizontally (this is how HTML 2 works). See "Special information about tables" for more information.
    Default: H3TABLE=COMPLEX

    HEADER={ NO | file }

    If other than NO, any records in the specified file(10) are included at the beginning of all HTML output files. (Symbol substitution will occur for any "&variables" in the header records.) This option may be specified as many times are there are header files to include at the beginning of the HTML output files. HEADER=NO resets to zero the number of header files to process.
    Default: HEADER=NO

    HEADNUM={ YES | NO | num | *num }

    Number :Hx. headings with section numbers (e.g. 1.2.1)? If not NO, number which :Hx. headers? "12" means number :H1. and :H2., "*3" means number :H1., :H2 and :H3.. YES is equivalent to "*6".
    Default: HEADNUM=NO

    HRTAG.x={ <HR> | tag }

    These specify the horizontal-rule tag to use for various items, where "x" is a numeric value from 1 to 10 defined as:
    x Tag used for:
    1 :ARTWORK RULE
    2 :FIG when FRAME= value is not NONE (not used when creating HTML 3 output)
    3 To precede an :H1 in the text
    4 :MSGL and :CODEL when STYLE=RULE specified
    5 (Reserved)
    6 Preceding the Table-of-Contents
    7 To precede an :H0 in the Table-of-Contents
    8 To end the Table-of-Contents
    9 Preceding the list of footnotes
    10Preceding a :LEN tag if SEP=RULE specified by the :LERS tag

    If omitted, defaults to "<HR>"

    HTML={ 2 | 3 }

    This specifies the release level of HTML source to be generated. The primary difference is in table support. When HTML=2, B2H supports tables by manually generating them using a monospaced font. When HTML=3, tables are supported using native HTML 3 tags. See "Special information about tables" for more information on tables.
    Default: HTML=3

    HTMLEXT={ html | logical-ext } (AIX)

    HTMLEXT={ html | logical-ext } (HPFS)

    HTMLEXT={ htm | logical-ext } (OS/2)

    HTMLEXT={ htm | logical-ext } (VM)

    HTMLEXT={ htm | logical-ext } (WIN95)

    HTMLEXT={ htm | logical-ext } (WINNT)

    What should be the file extension of the logical output file? This value is used to construct the default value for OUTPUTL= and is also used when creating multiple output files when AUTOPART= is specified. (This option is usually specified only when converting documents on VM and using a VM-based WEB browser. In which case, the values for HTMLEXT= and HTMPEXT= should be the same.)

    Note: In most cases, it is recommended that the DESTSYS= option be used, since it will set this option appropriately.

    Note: This option is ignored and a warning message issued if specified on a .*B2H OPTION statement within the source file.

    See also "Cross-Platform considerations".

    HTMPEXT={ html | logical-ext } (AIX)

    HTMPEXT={ html | logical-ext } (HPFS)

    HTMPEXT={ htm | logical-ext } (OS/2)

    HTMPEXT={ HTM | logical-ext } (VM)

    HTMPEXT={ htm | logical-ext } (WIN95)

    HTMPEXT={ htm | logical-ext } (WINNT)

    What should be the file extension of the physical output file? This value is used to construct the default value for OUTPUTP= and is also used when creating multiple output files when AUTOPART= is specified. (This option is usually specified only when converting documents on VM and using a VM-based WEB browser. In which case, the values for HTMLEXT= and HTMPEXT= should be the same.)

    Note: In most cases, it is recommended that the DESTSYS= option be used, since it will set this option appropriately.

    Note: This option is ignored and a warning message issued if specified on a .*B2H OPTION statement within the source file.

    See also "Cross-Platform considerations".

    IMBEDID={ YES | NO }

    Should B2H insert HTML comment records into the output identifying the the imbed structure of the input file? Useful when trying to identify certain script source and working with numerous imbedded files.
    YES Insert comment records
    NO Do not insert comment records (default)

    Default: IMBEDID=NO

    IMBFT={ script | ext } (AIX)

    IMBFT={ script | ext } (HPFS)

    IMBFT={ scr | ext } (OS/2)

    IMBFT={ SCRIPT | ft } (VM)

    IMBFT={ scr | ext } (WIN95)

    IMBFT={ scr | ext } (WINNT)

    At B2H execution time, if a file(10) is to be imbedded, but the filetype or extension of the imbedded file is omitted (as would be the case for ".im abc"), this specifies the default filetype or extension to use. Using the defaults, if ".im abc" was encountered, on AIX or HPFS, "abc.script" would be imbedded; on OS/2, Windows 95 or Windows NT, "abc.scr" would be imbedded; on VM, "ABC SCRIPT" would be imbedded.
    Default: IMBFT=script (AIX)
    Default: IMBFT=script (HPFS)
    Default: IMBFT=scr (OS/2)
    Default: IMBFT=SCRIPT (VM)
    Default: IMBFT=scr (WIN95)
    Default: IMBFT=scr (WINNT)

    IMBFTEXT='{YES|NO}, {ASIS|LC|UC}, ft=ext ...'

    When B2H is run on a PC workstation and an imbed statement explicitly specifying a VM-type filetype is encountered, this parameter specifies if extended filetype processing should be performed. If this parameter is omitted or NO specified, then the VM filetype is ignored and the value defined for the IMBFT= option is used as the PC file's extension. If YES, then the ft value is used as the extension, either spelled the same or "mapped" to another value.

    The following markup formats are supported by this option:

      .im (fn ft)
     
      .namefile name=nid cms='fn ft'
      .im nid
     
      .dd abc fn ft
      .im abc
    

    yesno

    Whether extended filetype processing should be done

    YES

    Perform extended filetype processing

    NO

    Do not perform extended filetype processing (this is the default)

    case

    How should the "case" of the resultant file be handled?

    ASIS

    Leave the case "as-is"

    LC

    Explicitly lower-case the file (this is the default)

    UC

    Explicitly upper-case the file

    ft=ext

    Allows you to "map" a specific filetype to a specific extension. This is almost always required if you are running on an OS/2 FAT system since a VM filetype can be up to eight characters, but the OS/2 FAT extension is limited to three characters. Multiple mappings can be defined, each specified as "ft=ext", such as "manual=man", "report=rpt", "listing=lst", etc. For example:

    If:   IMBFTEXT='YES,LC,REPORT1=RP1 REPORT2=RP2'
          IMBFT=script
     
    Then: .im (abc report1)  maps to: .im abc.rp1
          .im (abc report2)  maps to: .im abc.rp2
          .im (abc sample)   maps to: .im abc.sample
          .im (abc)          maps to: .im abc.script
          .im abc            maps to: .im abc.script
    

    IMBPATH={ CLEAR | path[;path;...;path] }

    At B2H execution time, if an imbedded file can not be found, look in these directory(ies) (applicable only for AIX, OS/2, Windows 95 and Windows NT). If multiple directories should be searched, this option can be specified as many times as desired and/or multiple directories can be specified (each separated by a semi-colon). Specify IMBPATH=CLEAR to clear any previously-specified directories.
    Example: IMBPATH='/afs/btv.ibm.com/u/' (AIX)
    Example: IMBPATH='c:\pubs\;d:\docs' (OS/2)
    Default: IMBPATH=''

    IMGPATH='path'

    The default path where the GIF and other image files are stored in the WEB server
    Example: IMGPATH='..\images\'
    Default: IMGPATH=''

    INDEX={ YES | NO }

    { INDEX | NOINDEX }

    Whether B2H should generate an index if the :INDEX tag is encountered. INDEX is equivalent to INDEX=YES, and NOINDEX is equivalent to INDEX=NO.
    Default: INDEX=NO

    INDEXSORT.SPEC='x[-y] ... x[-y]'

    INDEXSORT.NUM='x[-y] ... x[-y]'

    INDEXSORT.LETTER='x[-y] ... x[-y]'

    Update the translate table used to identify which characters "belong" in each section within a document's index. "INDEXSORT.SPEC" specifies the characters to be listed in the "Special Characters" section of the index, "INDEXSORT.NUM" specifies the characters for the "Numerics" section, and "INDEXSORT.LETTER" specifies those characters to have their own section.

    x

    A single character or a 2-digit hexadecimal code

    y

    Specifies that a range of characters is being defined. If specified, the hex value of "y" must "exceed" that of "x". If omitted, only the "x" character is defined.

    Notes:

    1. If no INDEXSORT statements are defined, the following is assumed:
        INDEXSORT.SPEC='00-FF'
        INDEXSORT.NUM='0-9'
        INDEXSORT.LETTER='A-Z'
      

    2. INDEXSORT statements are cumulative. This means each INDEXSORT statement updates the translate table as it existed after the previous INDEXSORT statement was processed. Therefore, to define a completely new table, the first statement should be INDEXSORT.SPEC='00-FF' to reset the entire table (note the sequence of statements in the previous item).

    3. If defining a range of characters, "wrapping" is not allowed:
        INDEXSORT.SPEC='F5-05'           (not allowed)
        INDEXSORT.SPEC='F5-FF 00-05'     (OK)
      

    4. When specifying a character using hex notation, remember that the hex value for a specific character may be different on a mainframe (EBCDIC coding) than on a PC workstation (ASCII coding)

    See "Ensuring the index is sorted appropriately" for information on when the INDEXSORT option is typically used.

    INDEXTAG='ls,le,ts,te,is,ie'

    Allows you to specify the HTML tags B2H should use when generating the index.
    ls Start tag for a common level of indices
    le End tag for a common level of indices
    ts Start tag for a specific reference within a level
    te End tag for a specific reference within a level
    is Start tag for identifying the first letter of a block of indices
    ie End tag for identifying the first letter of a block of indices

    Default: INDEXTAG='<MENU>,</MENU>,<LI>,</LI>,<STRONG>,</STRONG>'

    INDEXTOC={ YES | NO | number | 50 }

    If an index is generated, should B2H also create a Table-Of-Contents for the index itself? Useful for navigating a large index, the TOC contains an entry for each section (e.g. "Special Characters", "Numerics", "A", "B" ...) which links to that section, and each index section is a link back to the index TOC.
    YES Always generate an index TOC if an index is created
    NO Never generate an index TOC
    number If the number of entries in the index equals or exceeds this value, then build an index TOC. Otherwise, do not build an index TOC.

    Default: INDEXTOC=50

    INDEXTOCTAG='ts,te,ss,se,ns,ne,as,ae'

    Allows you to specify the HTML tags to use when generating the index Table-Of-Contents (see also INDEXTOC=)
    ts Tag for the beginning of the index TOC
    te Tag for the end of the index TOC
    ss Start tag for the "Special Characters" index TOC entry
    se End tag for the "Special Characters" index TOC entry
    ns Start tag for the "Numerics" index TOC entry
    ne End tag for the "Numerics" index TOC entry
    as Start tag for an alphabetic-letter index TOC entry
    ae End tag for an alphabetic-letter index TOC entry

    Default: INDEXTOCTAG=',<HR>,,<BR>,,<BR>,,'

    LINEWIDTH={ 78 | number }

    The maximum width of the output line when using a monospaced font or for tags which require certain types of spacing. A numeric value of 40 or larger can be specified. The following commands, macros and tags refer to this value:
    .CE If CENTERTAG=NO, used to determine the number of leading blanks
    .SX To determine center and right-justification spacing
    .TABRACK For correctly spacing the tab stops
    :LBLBOX Used to draw the box header and trailer (HTML 2 only)
    :QUALIF Used to draw the qualification box header and trailer
    :SCREEN Used if the WIDTH= option is omitted to correctly draw the screen border
    :TABLE If HTML=2, used to correctly build the table using a monospaced font

    LIREF={ NO | ID | NUM }

    Handle :LIREF references to a list item (:LI)?
    NO All list-item references are ignored
    ID The ID name for ":LI ID=name" is italicized and inserted at both the beginning of the list item and also when referenced using ":LIREF REFID=name"
    NUM Same as above, except that for ordered lists (:OL), no text is inserted at the list item definition and the item's number is used at the reference point (this is how BookMaster works). If the user's web browser does not use a numeric numbering scheme (which can occur for deeply nested ordered-lists), you may need to specify LIREF=ID

    LOG={ NO | YES | file }

    Whether a copy of all messages displayed on the terminal should be written to the specified disk log file(10). If YES, the output file used is "b2h.log" if on the PC or "B2H LOG A" if on VM. The log file is erased prior to use.
    Example: LOG='monday.log'
    Default: LOG=NO

    LTGT={ ASIS | CONVERT }

    If your input file contains "<" and ">" characters, this specifies if you want them converted to the HTML entity names "&LT;" and "&GT;", respectively. Without conversion, some browsers may treat "<text>" as unknown HTML tags and ignore the text altogether. If LTGT=CONVERT: all records in a "flat" file are checked; for non-"flat" files, all non-comment records are checked. Use with caution if the input file contains URLs.
    Default: LTGT=ASIS

    MASTALT='alternate text'

    This and MASTIMG= allow a default masthead for HTML output files. This is the HTML ALT= text for users not loading graphics.
    Default: MASTALT=''

    MASTIMG='file.ext, { ALL | FIRST }'

    This and MASTALT= allow a default masthead for HTML output files. This specifies the masthead image file to be used (located in the path specified by the IMGPATH= option). If the HTML output is being split (see the AUTOPART= option), the second parameter specifies whether the masthead image should be included in all output HTML files (the default) or just the first HTML file.
    Default: MASTIMG=''

    META={ YES | NO }

    Should "<META ...>"-type statements be included in the output HTML file?
    Default: META=YES

    METAKEYS='key1 key2 ... keyx'

    List of keywords to "attach" to the document to allow users to search for the file
      METAKEYS='do re mi'
    
    causes the following to be generated:
      <META HTTP-EQUIV="keywords" CONTENT="do re mi">
    

    Default: METAKEYS=''

    MSGLEVEL={ INFO | WARNING | ERROR }

    Which processing messages should be shown? Messages "below" this value are suppressed.
    Default: MSGLEVEL=INFO

    NOTELTAG.x='ls,le,is,ie'

    Allows you to specify the HTML tags B2H should generate when processing a NOTE list (:NOTEL) and it's associated tags.
    x Used for:
    0 HTML tags for a non-compact list
    1 HTML tags for a compact list (e.g. :NOTEL COMPACT)

    HTML tag values:
    ls List start
    le List end
    is List item start
    ie List item end

    Default:

      NOTELTAG.0='<OL>,</OL>,<P><LI>,'
      NOTELTAG.1='<OL COMPACT>,</OL>,<LI>,'
    

    OLTAG.x='ls,le,is,ie'

    Allows you to specify the HTML tags B2H should generate when processing an ordered list (:OL) and it's associated tags.
    x Used for:
    0 HTML tags for a non-compact list
    1 HTML tags for a compact list (e.g. :OL COMPACT)

    HTML tag values:
    ls List start
    le List end
    is List item start
    ie List item end

    Default:

      OLTAG.0='<OL>,</OL>,<P><LI>,'
      OLTAG.1='<OL COMPACT>,</OL>,<LI>,'
    

    OUTPUTFM={ A | disk } (applicable only on VM)

    When B2H is run on VM/ESA, this specifies the default disk where the output HTML files are to be written. If omitted, the output files are written to the A-disk. If a disk letter is specified for the OUTPUTP= option, it's value overrides this option.
    Default: OUTPUTFM=A

    OUTPUTL='logical-output-file'

    What should be the logical name of the output file (the name it will have on the WEB server)? If omitted, defaults to "physical-output-filename.lext" (the lext value is defined by HTMLEXT=).

    See also "Cross-Platform considerations".

    OUTPUTL83={ YES | NO } (applicable on all platforms)

    When splitting the HTML file using AUTOPART=, should the logical files honor the 8.3 naming convention? If YES, the file name is limited to eight characters. On AIX, if the destination system is also AIX, or if running in an OS/2 HPFS environment, NO is assumed. In all other cases, YES is the default.
    YES Files must honor 8.3 names (e.g. CMS, OS/2 with FAT, Windows 95 and Windows NT)
    NO Not necessary to honor 8.3 names (e.g. AIX, OS/2 with HPFS)

    See also "Cross-Platform considerations".

    OUTPUTLCASE={ ASIS | LC | UC } (applicable on all platforms)

    How should the "case" of the logical output files be handled?
    ASIS Leave the file names "as-is"
    LC Explicitly lower-case the file names
    UC Explicitly upper-case the file names
    If omitted, "ASIS" is assumed unless running on VM/ESA or DESTSYS=CMS, in which case "LC" is assumed.

    See also "Cross-Platform considerations".

    OUTPUTP='physical-output-file'

    What should be the physical name of the output file(10)? If omitted, defaults to: "input-filename.pext" (the pext value is defined by HTMPEXT=), and when run on VM/ESA, the output disk defaults to the value for OUTPUTFM.

    If the output HTML file is being split, then all output files will be placed into the same location, either the specified directory (AIX, OS/2, Windows 95 or Windows NT) or the specified mini-disk (VM).

    See also "Cross-Platform considerations".

    OUTPUTP83={ YES | NO } (Applicable only on PC workstations)

    When splitting the HTML file using AUTOPART=, should the physical files honor the 8.3 naming convention? If YES, the file name is limited to eight characters. On CMS, OS/2 FAT, Windows 95 and Windows NT, YES is assumed. On AIX, if the destination system is also AIX, or if in an OS/2 HPFS environment, NO is assumed; else YES.
    YES Files must honor 8.3 names (e.g. OS/2 with FAT, Windows 95 and Windows NT)
    NO Not necessary to honor 8.3 names (e.g. AIX, OS/2 with HPFS)

    See also "Cross-Platform considerations".

    OUTPUTPCASE={ ASIS | LC | UC } (applicable on all platforms)

    How should the "case" of the physical output files be handled?
    ASIS Leave the file names "as-is"
    LC Explicitly lower-case the file names
    UC Explicitly upper-case the file names
    If omitted, "ASIS" is assumed on AIX, OS/2, Windows 95 and Windows NT and "UC" is assumed on VM.

    See also "Cross-Platform considerations".

    OWNER='text'

    The owner of the document. If present, causes a "<META>"-type statement to be included in the HTML output. Also allows the server to generate an HTTP response header if owner information is requested.
      OWNER='John Doe'
    
    causes the following to be generated:
      <META HTTP-EQUIV="owner" CONTENT="Joe Doe">
    

    Default: OWNER=''

    PARTDIGITS='{2|num}, { DEC | HEX | ALPHA }'

    If you are splitting the output file, this specifies how many digits will be appended to the end of the filename to ensure unique files. For example, PARTDIGITS=2 might create abc.htm, abc02.htm, abc03.htm, etc. (See "Splitting the output HTML file into multiple files" for additional information.) If the number of output files exceeds what can be accomodated by this value, a warning message is issued and the value is dynamically increased.

    The second parameter specifies the type of numbering to use.
    DEC Decimal (base 10) numbering using the digits 0-9 (this is the default)
    HEX Hexadecimal (base 16) numbering using the digits 0-9,A-F
    ALPHA Alphanumeric (base 36) numbering using the digits 0-9,A-Z

    Default: PARTDIGITS='2,DEC'

    PARTDIR[.x[-y]]='[physical-file-name], [logical-file-name]'

    When you use the AUTOPART= option to split the output HTML file, the physical and logical locations for the split files are normally derived using the physical and logical destination of the main file. This option allows you to pre-specify the physical and logical directory for each split file. (The main output file is always placed in the location specified by the OUTPUTP= and OUTPUTL= options.)

    The following syntaxes are accepted:

    PARTDIR='physicaldir,logicaldir'

    All split files are directed to the specified directories

    PARTDIR.3='physicaldir,logicaldir'

    The third split file is directed to the specified directories

    PARTDIR.5-8='physicaldir,logicaldir'

    The fifth through eighth split files are directed to the specified directories
    See "Specifying the location and file names when splitting the HTML output" for more information.

    Notes:

    1. This option is intended for advanced users and should be used with caution

    2. PARTDIR.1= is ignored as those values are represented by the OUTPUTP= and OUTPUTL= options

    PARTLINK={ YES | NO }

    Specifies if you want B2H to automatically include NextPage/PrevPage/Table-Of-Contents/Index hyperlinks when splitting the HTML output file using AUTOPART= or the .*B2H BREAK command. If PARTLINK=YES (the default), the linkage text defined for the PARTLINK.x= options are used. (See "Splitting the output HTML file into multiple files" for additional information.)
    Default: PARTLINK=YES

    PARTLINK.x='text | CLEAR'

    These specify the NextPage/Prevpage/Table-Of-Contents hyperlink text to automatically insert into the output HTML files when splitting the output using AUTOPART= or the .*B2H BREAK command. (See also the PARTLINK= option.) B2H will not process the text other than to perform substitution for any &variables. (See "Splitting the output HTML file into multiple files" for additional information.)

    "x" is a numeric value from 1 to 6 or 11 to 16.

    Values 1 to 6 are used if an index is not being generated:
    1 Text to insert at the top of the first output HTML file. No default text is provided for this value.
    2 Text to insert at the bottom of the first output HTML file. The default text contains hyperlinks to the top-of-page and to the next page.
    3 Text to insert at the top of the middle (not the first, but not the last) output HTML file. No default text is provided for this value.
    4 Text to insert at the bottom of each middle (not the first, but not the last) output HTML file. The default text contains hyperlinks to the top-of-page, previous page, next page and to the table-of-contents.
    5 Text to insert at the top of the last output HTML file. No default text is provided for this value.
    6 Text to insert at the bottom of the last output HTML file. The default text contains hyperlinks to the top-of-page, previous page and to the table-of-contents.

    Values 11 to 16 are used if an index is being generated:
    11 Text to insert at the top of the first output HTML file. No default text is provided for this value.
    12 Text to insert at the bottom of the first output HTML file. The default text contains hyperlinks to the top-of-page, next page and to the index.
    13 Text to insert at the top of the middle (not the first, but not the last) output HTML file. No default text is provided for this value.
    14 Text to insert at the bottom of each middle (not the first, but not the last) output HTML file. The default text contains hyperlinks to the top-of-page, previous page, next page, table-of-contents and to the index.
    15 Text to insert at the top of the last output HTML file. No default text is provided for this value.
    16 Text to insert at the bottom of the last output HTML file. The default text contains hyperlinks to the top-of-page, previous page, table-of-contents and to the index.

    Appendix B. "&variables pre-defined by B2H" lists the &variables which are provided with the intent of their being used within a PARTLINK.x= definition.

    To facilitate entering long strings of text, you can specify each option as many times as desired, the values are accumulated. Specifying a value of CLEAR erases all text for a given option.

    PARTNAME.x='[physical-file-name], [logical-file-name]'

    When you use the AUTOPART= option to split the output HTML file, B2H normally generates unique file names by appending a counter to the output filename. PARTNAME.x= allows you to pre-specify the file names, overriding B2H's automatically-generated names. Each PARTNAME.x= option designates both the physical and logical file name for the specific output file indicated by the "x" value. For example:
      PARTNAME.4='PROJDEF HTML A,projdef.htm'
    
    This specifies that the fourth output file should be physically created as "PROJDEF HTML A" and logically known as "projdef.htm". See "Specifying the location and file names when splitting the HTML output" for more information.

    Notes:

    1. This option is intended for advanced users and should be used with caution

    2. PARTNAME.1= is ignored as those values are represented by the OUTPUTP= and OUTPUTL= options

    PROCACT='sit=action sit2=action2 ... sitx=actionx'

    What type of action should B2H take when certain situations occur during processing? This allows you to control whether B2H should ignore some situations, show an error message, stop execution immediately, etc. The actions you can specify:
    IGNORE Ignore the situation completely, no message issued, the return code (RC) is not updated
    INFO Issue an info-only type message, RC not updated
    WARNING Issue a warning message (RC set to 4 if not already higher)
    ERROR Issue an error message (RC set to 8 if not already higher), continue execution
    TERM Terminate B2H (RC set to 8)

    The situations you can control:
    NOENDTAG The end-tag for certain BookMaster/GML tags were not found (e.g. :TITLE with no :ETITLE, :TABLE with no :ETABLE)
    NOIMBED A file being imbedded can not be found
    NOPER A BookMaster/GML tag is missing it's terminating period
    NOXREF The target of a cross-reference tag can not be found (e.g. :FIG ID=abc. not found for a :FIGREF REFID=abc.)
    UNKTAG An unknown BookMaster/GML tag was encountered

    Initial settings:

      PROCACT='NOENDTAG=WARNING NOIMBED=ERROR NOPER=WARNING'
      PROCACT='NOXREF=ERROR UNKTAG=WARNING'
    

    PSC='process1 process2 ... processx'

    Specifies the BookMaster processes B2H should accept for the :PSC. tag. A special process of "1ST" is available which, if specified, means B2H should always process the statements for the first :PSC group.

    In addition to what is specified here, B2H also adds either the "HTML2" or "HTML3" process, corresponding to the HTML level being generated. This allows you to include/exclude text based on HTML level.
    Default: PSC='CHAR HTML' plus either HTML2 or HTML3

    PTOC={ NO | num | *num | 4 }

    What "depth" of heading levels should be included in a partial table-of-contents? This option allows you to specify a default value for :DOCPROF PTOC=. If NO specified, no partial table-of-contents are generated. Defaults to heading level 4 if omitted.

    QRESET={ NO | 0 | 1 | ... | 19 | 20 }

    Questions created with the :QUESTION tag are numbered automatically. QRESET specifies if and when the question number should be reset. This option is also recognized on BookMaster's :DOCPROF. tag.

    Note: QRESET=1 is assumed if FBC=YES is specified.
    NO Questions are numbered sequentially from the beginning of the document to the end
    0 Reset question numbering at each head level 0 (:H0)
    1 Reset question numbering at head levels 0 and 1 (:H0 and :H1)
    2 Reset question numbering at head levels 0 through 2
    · ·
    20 Reset question numbering at head levels 0 through 20

    Default: QRESET=NO

    QUESTION=TEXT

    QUESTION='FORM,[method],url-of-cgi,[answer-action],[optdata]'

    Specifies how the Question and Answer tags should be handled. For more information, see "Question and Answer tags".
    {TEXT|FORM} Controls whether Question & Answer tags are converted to blocks of text (which is what BookMaster does) or HTML FORMs
    TEXT Generate text for Question & Answer tags (if specified, all other parameters for this option are ignored)
    FORM Generate HTML FORMs for Question & Answer tags
    Default: TEXT
    method If generating HTML forms, this defines the HTTP method for form input, e.g. <FORM METHOD=xxx>.
    GET Use GET method for FORM input
    POST Use POST method for FORM input
    Default: GET
    url-of-CGI If generating HTML forms, this defines the URL for the CGI program to verify the answers, e.g. <FORM ACTION="url-of-CGI">.
    Default: '' (none)
    answer-action If generating HTML forms, this defines how the answers are handled (obtained from the ANS= or ANSID= attributes on the :QUESTION, :BLANK, :MATCH or :QITEM tags)
    HIDDEN A hidden input field containing the answer data will be added to the form created for each question, like this:
    <INPUT TYPE=HIDDEN NAME=ANS VALUE="....">
    file An answer file of this name(10) is generated with each record containing the answer to a specific question. It is assumed that this file will be transferred to the server to be used by the CGI program to verify the user's answers. See "Question and Answer tags" for information on the format of each record.
    NONE No answer data is written anywhere. The CGI program must define an alternative method of verifying the user input.
    Default: HIDDEN
    optdata If generating HTML forms, this specifies any optional data to insert into a hidden field for each question, like this:
    <INPUT TYPE=HIDDEN NAME=OPTDATA VALUE="....">
    Often used to pass information to the CGI about where to find a question's answer, such as the name of the answer file or a database name.
    Default: '' (none)

    Default: QUESTION=TEXT

    REVDATE= [ yyyymmdd | text ]

    The date when this file should be reviewed for currency. If a valid date is specified, it is converted to conform to RFC 822 (updated by RFC 1123), otherwise the option's value is included verbatim.

    Example: An input file with a date/time stamp of "1996-05-03 12:34:56" and REVDATE=19960727, the following is generated:

      <META HTTP-EQUIV="review" CONTENT="Sat, 27 Jul 1996 12:34:56">
    
    Allows the server to generate an HTTP response header if review date information is requested.
    Default: source file date + 1 year

    REVTAG='revtext,erevtext'

    REVTAG.id='revtext,erevtext'

    Many documents use the :REVISION tag or .RC command to activate revision identifiers, such as:
      :revision id=abc run=yes char="!".
      .rc 1 !
    
    The REVTAG option allows you to specify the text to insert when the active :REV and :EREV tags or the .RC command is encountered, such as:
      :rev refid=abc.
      :erev refid=abc.
      .rc 1 on
      .rc 1 off
    
    The REVTAG option can be specified with or without the "id" qualifier. If "id" is omitted, the text is used for all active :REV/:EREV tags and .RC x ON/OFF commands. If "id" is specified, the text is used only for those active :REV/:EREV tags with REFID=id, or .RC x ON/OFF where x matches "id". (The &b2hrevchar symbol contains the currently-active revision code character in case you wish to include it in the text.)
    revtext Text and/or HTML tag(s) to insert for a :REV tag or .RC x ON command
    erevtext Text and/or HTML tag(s) to insert for a :EREV tag or .RC x OFF command

    Default: REVTAG=''

    SECURITY='text'

    The security of the document. If present, causes a "<META>"-type statement to be included in the HTML output. Also allows the server to generate an HTTP response header if security information is requested.
      SECURITY='public'
    
    causes the following to be generated:
      <META HTTP-EQUIV="security" CONTENT="public">
    

    e.g. SECURITY='None'
    Default: SEC= parameter on the :GDOC. or :DOCPROF. tag, else SECURITY=''

    SHADE.name=rrggbb

    The color values to be associated with the different SHADE= attributes on the :FIG, :FIGDEF, :TABLE and :TDEF tags. The "rrggbb" values are hexadecimal digits representing the red, green and blue ingredients of the desired shade. "name" is one of the allowable SHADE= settings. See "Shading" for an example. Default values:

    Figure 4. Default SHADE.name= option values
    Option: HTML generated: Shows as:
    SHADE.XLIGHT=DADADA BGCOLOR=#DADADA Extra-Light Gray
    SHADE.LIGHT=B0B0B0 BGCOLOR=#B0B0B0 Light Gray
    SHADE.MEDIUM=8C8C8C BGCOLOR=#8C8C8C Medium Gray
    SHADE.DARK=6E6E6E BGCOLOR=#6E6E6E Dark Gray
    SHADE.XDARK=585858 BGCOLOR=#585858 Extra-Dark Gray
    SHADE.YES=B0B0B0 BGCOLOR=#B0B0B0 Light Gray
    SHADE.SCREEN=B0B0B0 BGCOLOR=#B0B0B0 Light Gray

    Note: "SHADE.SCREEN=" specifies the shading to use for the :SCREEN tag if SHADE=SCREEN is specified on the :DOCPROF tag.

    SHOWLINES={ NO | 100 | num }

    Should "processing line x of y" messages be shown while B2H does the conversion? And if so, how often?
    Default: SHOWLINES=100 on AIX, OS/2, Windows 95 or Windows NT, and SHOWLINES=NO on VM.

    SLTAG.x='ls,le,is,ie'

    Allows you to specify the HTML tags B2H should generate when processing a simple list (:SL) and it's associated tags.
    x Used for:
    0 HTML tags for a non-compact list
    1 HTML tags for a compact list (e.g. :SL COMPACT)

    HTML tag values:
    ls List start
    le List end
    is List item start
    ie List item end

    Default:

      SLTAG.0='<DL>,</DL>,<DD><P>,'
      SLTAG.1='<DL COMPACT>,</DL>,<DD>,'
    

    SOURCE={ SCRIPT | FLAT }

    SOURCE='FLAT,[pre],[blanksub]'

    This specifies the format of the input file.

    If the input is a 'flat' file, additional processing options are available.

    pre

    Specifies when and if any text should be enclosed within the "<PRE>" and "</PRE>" HTML tags.
    PRE The entire file is enclosed within <PRE></PRE>. (This is the default)
    NOPRE No <PRE> and </PRE> tags are inserted into the text

    Careful! If you specify this and do not specify anything for blanksub, the browser may format the entire file into one big paragraph!

    num If this many columns at the start of an input record are blank, the record is enclosed in <PRE></PRE>, otherwise no additional <PRE></PRE> tags are inserted.

    blanksub

    Should an HTML paragraph tag replace blank records?
    NO Blank records are written "as-is" (default)
    YES A <P> tag is substituted for a blank record
    text Replace a blank record with this text

    SYMCHARS='ccc...ccc'

    Allows additional characters to be recognized within a &symbol name. Unless specified, only the standard characters (@,#,$,A-Z,a-z,0-9) are valid.
    Default: SYMCHARS=''

    SYSVAR='char value char value ...'

    Provides a means of providing options to B2H in a manner similar to how system variables are specified to BookMaster, where char is a single character of the option you are specifying and value is the vaue you are assigning to it.
    CHAR Value and Meaning
    A Controls the processing of annotation text marked up using the :ANNOT. and :EANNOT. tags. See also the ANNOT= option.
    YES Process annotations
    NO Do not process annotations (default)
    W The file where extended cross-reference information should be written. (See also "Cross-referencing multi-volume documents") If specified, this should be the last parameter specified for this SYSVAR option. If a filetype or extension is specified, it is ignored.

    If SYSVAR='W book1' is specified, the file created is:

      book1.b2hxrefs   (AIX)
      BOOK1.B2X        (OS/2)
      BOOK1 B2HXREFS   (VM)
      BOOK1.B2X        (WIN95)
      BOOK1.B2X        (WINNT)
    

    If SYSVAR='W projug', then:

      projug.b2hxrefs  (AIX)
      PROJUG.B2X       (OS/2)
      PROJUG B2HXREFS  (VM)
      PROJUG.B2X       (WIN95)
      PROJUG.B2X       (WINNT)
    

    And if SYSVAR='W acmea.abc', then:

      acmea.b2hxrefs   (AIX)
      ACMEA.B2X        (OS/2)
      ACMEA B2HXREFS   (VM)
      ACMEA.B2X        (WIN95)
      ACMEA.B2X        (WINNT)
    

    Note: On AIX, OS/2, Windows 95 or Windows NT, if a path is specifed, the file is placed into that directory; else the file is placed into the working directory. On VM/ESA, the file is placed on the disk specified by the OUTPUTFM= option.

    0 DVCF conditions file; can be set to the name of a file(10) that contains symbols definitions for DVCF conditions. If specified, this should be the last parameter specified for this SYSVAR option.
      file            (AIX)
      file.ext        (OS/2)
      fn ft fm        (VM)
      file.ext        (WIN95)
      file.ext        (WINNT)
    
    This is the best method if you have a lot of conditions to set and you frequently set them in the same combination.

    If your file of condition names were named sysvars.def, you would specify:

      SYSVAR='0 sysvars.def'
    
    and the file would contain this markup to set the conditions true:
      .setdvcf sport on
      .setdvcf truck on
    
    or this to set the conditions false:
      .setdvcf sport off
      .setdvcf truck off
    
    This is the SETDVCF macro, which generates a symbol and allows you to set DVCF conditions on or off.
    1-9 DVCF conditions. Each of the nine variables be set to an individual condition name. If you want to set the WAGON and SPORT conditions to true:
      SYSVAR='1 WAGON 2 SPORT'
    
    See also the DVCF= option.

    TABLE2='fl,fm,fr,fv,fhn,fhh,gutl,gutr'

    Allows you to specify the characters used to create, draw and format a table generated for HTML 2.
    fl Frame: left edge character
    fm Frame: middle junction character
    fr Frame: right edge character
    fv Frame: Vertical character
    fhn Frame: Horizontal character - normal data cell
    fhh Frame: Horizontal character - header/footer cell
    gutl Cell gutter string - left
    gutr Cell gutter string - right

    Default: TABLE2='+,+,+,|,-,=, , '

    TAGCHECK={ YES | NO }

    Should B2H check the document for logical consistency in it's Script/GML/BookMaster tags? If YES, the following is checked:
    Default: TAGCHECK=YES

    Note: If you are using B2H in conjunction with a web server to convert documents to HTML in "real-time", you can improve performance slightly by specifying TAGCHECK=NO.

    TFIGLISTTAG.x='ls,le,is,ie,'

    Allows you to specify the HTML tags B2H should use when creating the figure list (:FIGLIST) and the table list (:TLIST).
    x Used for:
    0 HTML tags when Folio-By-Chapter is not in effect (FBC=NO)
    1 HTML tags when Folio-By-Chapter is in effect (FBC=YES)

    HTML tag values:
    ls List start
    le List end
    is Item start
    ie Item end

    Default:

      TFIGLISTTAG.0='<OL>,</OL>,<LI>,</LI>'
      TFIGLISTTAG.1='<P>,<P>,,<BR>'
    

    TITLE='text'

    The title of the output HTML file. If omitted, the document's title is determined using the rules described in "Recognizing and displaying the document's title". This option should always be specified when processing a 'flat' file.
    Example: TITLE='How to play the piano'

    TLIST={ YES | NO }

    Do you want to generate a list of tables when the :TLIST. statement is encountered? Some people do not want a table list in an HTML file and this option allows you to prevent one from being generated. If FTSEP=NO, the default is NO; otherwise the default is YES.
    Example: TLIST=YES

    TOC={ YES | NO | num | *num }

    Generate a Table-Of-Contents with hyperlinks to each section? If not NO, include which :Hx. headers in it? TOC=12 means include :H1. and :H2., TOC=*3 means include :H1., :H2 and :H3. TOC=YES is equivalent to TOC=*3.
    Default: TOC=YES

    TOCC={ YES | NO }

    Generate a "compressed" Table-Of-Contents instead of a Table-Of-Contents with blank lines between :H0., :H1. and :H2.?
    Default: TOCC=NO

    TOCINDENT={ YES | NO }

    Should individual lines in the Table-Of-Contents be indented according to their header number (:Hx.)?
    Default: TOCINDENT=YES

    TOCRET={ NO | TOC | PTOC | PTOCx }

    If a Table-Of-Contents is being generated with links to each section (TOC= parameter is not NO), should the section header itself be a hyperlink to return back to the Table-Of-Contents? And if so, should the link return to the main Table-Of-Contents (TOC) or to the most-recent Partial-Table-Of-Contents (PTOC)?

    TOCRET=NO

    The section header is not a hyperlink (assumed if TOC=NO)

    TOCRET=TOC

    The section header always links back to the main TOC, even if PTOCs are being generated.

    TOCRET=PTOCx

    The section header is a hyperlink back to the most-recent PTOC. If a :PTOC tag has not yet been encountered or PTOC processing has been disabled by PTOC=NO, then the hyperlink is back to the main TOC. (For compatibility, TOCRET=YES is equivalent to TOCRET=PTOC.)

    The different PTOCx values specify whether a PTOC should also contain a hyperlink back to the main TOC, and if so, the appearance and position of the hyperlink

    TOCRET=PTOC

    The PTOC's title is itself a hyperlink back to the main TOC (this is the default)

    TOCRET=PTOC0

    The PTOC will not contain a hyperlink back to the main TOC

    TOCRET=PTOC1

    The hyperlink back to the main TOC is appended to the end of the PTOC's title. The hyperlink's text is taken from the DEFTEXT.PTOCLT option (defaults to '(Go to main Table-of-Contents)').

    TOCRET=PTOC2

    The hyperlink back to the main TOC is placed on the line immediately following the PTOC's title. The hyperlink's text is taken from the DEFTEXT.PTOCLT option (defaults to '(Go to main Table-of-Contents)').

    TOCRET=PTOC3

    The hyperlink back to the main TOC is placed on a separate line at the end of the PTOC. The hyperlink's text is taken from the DEFTEXT.PTOCLT option (defaults to '(Go to main Table-of-Contents)').

    Default: If TOC=NO, then TOCRET=NO, else TOCRET=PTOC

    TOCSUPPRESS={ 0 | number }

    If you request a Table-of-Contents (TOC= is not NO), this allows you to dynamically suppress it unless there are more then the specified number of TOC entries. Can be used to prevent a TOC from being generated with only one or two entries.

    If omitted, zero is assumed meaning that a TOC will be generated if requested and it contains at least one entry.
    Default: TOCSUPPRESS=0

    TOCTAG='ls,le,is,ie'

    Allows you to specify the HTML tags B2H should use when generating a Table-Of-Contents.
    ls Start tag for a common level of headers (e.g. :H1.)
    le End tag for a common level of headers (e.g. :H1.)
    is Start tag for a specific header in the list
    ie End tag for a specific header in the list

    Default: TOCTAG='<MENU>,</MENU>,<LI>,'

    TOPHEAD={ 1 | 2 | 3 | 4 | 5 | 6 | NO }

    Should an initial <Hx>...</Hx> containing the title of the document be inserted at the top of each physical HTML output file? If a value from 1 to 6 is specified, a header tag (<Hx>) of the specified level is used. If TOPHEAD=NO is specified, no initial header is inserted.

    This top-of-physical-file title can be very useful for:

    On the other hand, if you are converting a document with a formal title page and the output is not being split, then TOPHEAD=NO may be worth considering.
    Default: TOPHEAD=1

    ULTAG.x='ls,le,is,ie'

    Allows you to specify the HTML tags B2H should generate when processing a un-ordered list (:UL) and it's associated tags.
    x Used for:
    0 HTML tags for a non-compact list
    1 HTML tags for a compact list (e.g. :UL COMPACT)

    HTML tag values:
    ls List start
    le List end
    is List item start
    ie List item end

    Default:

      ULTAG.0='<UL>,</UL>,<P><LI>,'
      ULTAG.1='<UL COMPACT>,</UL>,<LI>,'
    

    USERPROF=file

    Specifies a user profile(10) to be loaded at B2H execution time in addition to the system profile. This option may be specified as many times as there are user profiles to process.
    Default: USERPROF=''

    USERSYM=file

    Specifies a user symbol file(10) to be loaded at B2H execution time in addition to the system symbol file. This option may be specified as many times as there are user symbol files to process.
    Default: USERSYM=''

    XEDITG={ YES | NO }

    Specifies if B2H should recognize an imbed statement referencing XEDITG and turn formatting off or on as appropriate. If YES (the default), then when a file whose first six letters of the filename is "XEDITG" is imbedded, the imbed statement is replaced by either the :XMP. or :EXMP. tag, as apppropriate. If NO is specified, then the imbed statement is processed normally.
    Default: XEDITG=YES

    B2H Symbol Table

    The symbol table is one of two control files for B2H (the profile is the other). A symbol table defines:

    A system symbol table is provided as part of the B2H package. Any desired updates can be made either to the system symbol table or you can create user symbol tables and add one or more USERSYM= options to the profile to point to the user symbol table(s).


    Syntax of a B2H Symbol Table record

    The general format of a symbol table record is:
    Format of a symbol table record
    [(platform)] :stmttype.  name  parm1=value1 [ ... parmx=valuex ]
    

    A parameter's value must be specified immediately after the equal-sign (no blanks allowed). If the parameter's value is a string, the string must be enclosed using a delimiter character (any character not appearing in the string may be used as the delimiter). For example:

      V='Document Number:'
      V="Murphy's Law"
      V=/Bugs Bunny says "What's Up, Doc?"/
    

    Physical records with an asterisk in column 1 or records that are completely blank are considered comments and ignored. Comments may be placed on the definition record itself by preceding the comment with two dashes (--).

    You can specify that a record is applicable to only a certain platform by specifying the platform's name within parentheses as the first item on the record. For more information, see "Platform-specific definitions"

    Continuation

    A logical definition can be split into multiple physical records. If the logical statement continues onto the next physical record, place a comma at the end of the current physical record (prior to any comments) to indicate that the statement continues onto the next physical record.

      This:           :TAG. CIT V='<CITE>' TV='<CITE>' -- a comment
      is the same as: :TAG. CIT V='<CITE>',            -- a comment
                                TV='<CITE>'
    
    The continuation comma may not be specified in the middle of a delimited string.


    Symbol Table Parameters

    Specifying '&symbols'

    The :SYM. statement defines replacement text for a symbol (sometimes called an "&symbol" or "&variable").
    For example: &date &colon &rbrk

    Figure 5. Specifying an '&symbol'

    [(platform)] :SYM. symbol [... symbol ]  V='text'
    

    :SYM.

    Specifies that this statement is defining a "&symbol".

    symbol1 ... symbolx

    The symbol(s) being defined. Multiple symbol names may be specified.

    V='text'

    The value to be assigned to this symbol. Any text can be provided here, including HTML, normal text, even other BookMaster or GML tags and commands. If a value of =IGNORE is specified, then the &symbol will be ignored and removed from the source line.

    B2H also dynamically assigns &symbols when it encounters GML's .SE command, and BookMaster's .NAMEIT, .NAMECTR and .GETW macros.

    Specifying Script/VS control words and BookMaster/GML macros

    The :CMD. statement defines replacement text for a Script/VS control word or BookMaster/GML macro. (These are the "dot" commands.)
    For example: .cp .pa .se

    Figure 6. Specifying a Script/VS control word and/or BookMaster/GML macro

    [(platform)] :CMD. name [... name ] V='text' [ TV='text' ]
    

    :CMD.

    Specifies that this statement defines a Script/VS control word or BookMaster/GML macro

    name1 ... namex

    The control word(s) or macro(s) being defined. Multiple names may be specified.

    V='text'

    The value to assign to this name. Any text can be provided here, including HTML, normal text, even other BookMaster or GML tags and commands.(11)

    TV='text'

    The value to be assigned to this name when it appears within a BookMaster table and HTML 2 output is being created. Any text can be provided here, including HTML, normal text, even other BookMaster or GML tags and commands.

    Note: If a value of =NO is specified, it means that this command is NOT supported within an HTML 2 table. B2H will issue a warning message and ignore the command.

    Note: This parameter is ignored if HTML Release 3 output is being created (HTML=3 specified).

    Special replacement text values for :CMD.

    The following special values may be specified as replacement text:

    &text

    If specified, it is dynamically replaced by any text following the control word or macro in the input source document. For example:

    If the definition was:    :CMD. ABC V='<B>&text</B>'
    and source contained:     .abc How are you?
    the HTML output will be:  <B>How are you?</B>
    

    =IGNORE

    Ignore the entire source line

    =IGNOREW

    Same as =IGNORE except a Warning message is also issued

    =INTERNAL

    The command or macro is handled by a routine within the program itself. (This is provided strictly for documentation purposes and is an easy way to show which tags are handled internally.)

    Specifying BookMaster/GML tags

    The :TAG. statement defines a BookMaster or GML tag.
    For example: :p. :h1. :table.

    Figure 7. Specifying a BookMaster/GML tag

    [(platform)] :TAG. name [... name] IT=x VAT=x ATT=x SE=x V='te
    xt' [TV='text']
    

    :TAG.

    Specifies that this statement defines a BookMaster or GML tag

    name1 ... namex

    The tag(s) being defined. Multiple tags may be specified.

    IT={ Y | N }

    Does this tag require "immediate" text, meaning text on the same line as the tag itself or the very next line? Or using BookMaster parlance, is this a "TOSL" (text-on-same-line) tag? "N" (NO) is assumed if omitted.

    ATT={ Y | N. }

    Does this tag allow attributes in the form of "name=value"? "Y" (YES) is assumed if omitted.

    VAT={ Y | N }

    Does this tag allow single-word "value" attributes (e.g. COMPACT)? "Y" (YES) is assumed if omitted.

    SE={ Y | N }

    Is this a either a "start"-type or "end"-type tag? For example, :FIG, :EFIG, :HP2, and :EHP2 are examples of these types of tags; :H3 is not. "N" (NO) is assumed if omitted.

    V='text'

    The value to be assigned to this tag. Any text can be provided here, including HTML, normal text, even other BookMaster or GML tags and commands.

    TV='text'

    The value to be assigned to this tag when it appears within a BookMaster table and HTML 2 output is being created. Any text can be provided here, including HTML, normal text, even other BookMaster or GML tags and commands.

    Note: If a value of =NO is specified, it means that this tag is NOT supported within an HTML 2 table. B2H will issue a warning message and ignore the tag.

    Note: This parameter is ignored if HTML Release 3 output is being created (HTML=3 specified).

    Special replacement text values for :TAG.

    The following special values may be specified as replacement text:

    &text

    If specified, it is dynamically replaced by any "immediate" text following the tag on the logical line from the input source document.

    &textall

    If specified, it is dynamically replaced by any "immediate" text following the tag on the physical line from the input source document.

    Using "&text":
    If the definition was:    :TAG. ABC  V='<B>&text</B>'
    and source contained:     :abc.How are you?:hp1.I am fine!:ehp1.
    the HTML output will be:  <B>How are you?</B><I>I am fine!</I>
     
    Using "&textall":
    If the definition was:    :TAG. ABC  V='<B>&textall</B>'
    and source contained:     :abc.How are you?:hp1.I am fine!:ehp1.
    the HTML output will be:  <B>How are you?<I>I am fine!</I></B>
    

    =IGNORE

    The tag, from the leading colon to the trailing period, is ignored. Any immediate text is retained.

    =IGNOREW

    Same as =IGNORE except a Warning message is also issued

    =IGNOREALL

    Same as =IGNORE, except that both the tag and any immediate text is ignored

    =IGNOREALLW

    Same as =IGNOREALL except a Warning message is also issued

    =INTERNAL

    The tag is handled by a routine within the program itself. (This is provided strictly for documentation purposes and is an easy way to show which tags are handled internally.)

    :IGNORE.

    Similar in function to =IGNORE, except that the tag and all following source lines to the :EIGNORE. end-tag are ignored

    :IGNOREW.

    Same as :IGNORE., except that a warning message is also issured

    :EIGNORE.

    The end-tag for :IGNORE. and :IGNOREW.

    Translation of single-byte values

    The :XLATE. statement allows the translation of single-byte values to other values. Useful if source documents have "hard-coded" special characters for unique purposes, such as line drawings, diagrams or country-specific national language characters (see also "National Language Support (NLS) considerations").

    Figure 8. Specifying a character translation

    Translate a single-byte character to another single-byte character:
      [(platform)] :XLATE. from1 to1 [ ... fromx tox ]
     
    Translate a single-byte character to a string:
      [(platform)] :XLATE. from V='string'
    

    :XLATE.

    Specifies that this statement defines a character translation

    from

    Source character to be translated. It can be a single character or a 2-character hexadecimal code.

    to

    Desired output representation of the source character. It can be a single character or a 2-character hexadecimal code. Multiple pairs of translate characters can be specified on a single :XLATE. statement.

    V='string'

    The text string to replace the source character. Any text can be provided here, including HTML, normal text, even BookMaster tags and commands.

    Example, to translate all X'34' characters to X'5D' and all "number signs" (#) to X'24':

      :XLATE. 34 5D # 24
    

    Second example, translate all X'93' characters to an HTML entity name.

      :XLATE. 93 V='&lbrk;'
    

    Using B2H


    Controlling B2H using statements within the source file

    You can include statements within the source file to influence how B2H performs the conversion. You can specify B2H options, provide explicit HTML text to be passed directly to the output, indicate where the output file should be "split", and other functions.

    Two statement has two acceptable syntaxes:

      1.  .*B2H type  [ options ]
     
      2.  .*type      [ options ]
    
    Since the statements "look" like Script/VS comments (they start with a period-asterisk), you can leave them in the source file without harm.

    The first syntax is preferred and explicitly identifies that the statement is intended for use by B2H. The second syntax has a less-obvious intent and might cause confusion between B2H and other programs which also "look" at your source. If the B2HREQ=YES option is specified, only the first syntax is recognized and the second syntax is ignored.

    The following statement types are available:

    Figure 9. .*B2H statements

    Force a break of the output HTML file:
        .*B2H BREAK  [ physical-file ], [ logical-file ]
    

    Provide explicit HTML text:
        .*B2H HTML ...html-text...
    

    Specify B2H options:
        .*B2H OPTION option=value  [ option2=value2 ... optionx=valuex ]
    

    .*B2H BREAK [ physical-file ], [ logical-file ]

    This statement forces the output HTML to be "split" at this point.

    Notes:

    1. The optional file name values are normally not specified (see "Specifying the location and file names when splitting the HTML output" for overriding the location and name given to the output HTML file part created at this point)

    2. For information about splitting the output HTML file, see "Splitting the output HTML file into multiple files"

    .*B2H HTML ...html-text...

    This statement allows you to include explicit HTML statements in the source file to support specialized requirements.

    Example:

      :p.You can download it from my homepage at
      :psc proc=html.
      .*b2h html <A HREF="http://www.abc.com/myhome">
      .*b2h html http://www.abc.com/myhome</A>
      :epsc.
      :psc xproc=html.
      :xph.http&colon.//www.abc.com/myhome:exph.
      :epsc.
    

    .*B2H OPTION option=value [ option2=value2 ... optionx=valuex ]

    This statement allows you to specify B2H processing options. Options specified here override options in a profile or on the command line (see "Specifying B2H options" for additional information).

    Notes:

    1. There may be multiple .*B2H OPTION statements in a source file

    2. It is highly recommended that .*B2H OPTION statements be at the beginning of the input file. Changing the value of certain options in the middle of a conversion may cause unexpected results.

    3. Options that set paths should be specified first!

    4. Certain options require special handling by B2H. If you want to specify them within the source file, the .*B2H OPTION statement(s) on which they are coded must precede the first non-comment record in the input file. If one of these options are specified after the first non-comment record, the option is ignored and a warning message is issued. The following options fall into this special-handling category:
        DESTSYS=    OUTPUTFM=       OUTPUTP=
        HTMLEXT=    OUTPUTL=        OUTPUTP83=
        HTMPEXT=    OUTPUTL83=      OUTPUTPCASE=
                    OUTPUTLCASE=    SOURCE=
      

    Examples:

      .*B2H OPTION imbpath='' title="ABC Project User's Guide"
      .*B2H OPTION toc=*3 tocret=toc fnlink=both
      .*B2H OPTION header=no footer=no
    

    See the beginning of the BookMaster source for this document for additional examples.


    Recognizing and displaying the document's title

    B2H inserts the document's title into the output HTML file in the following places:

    What determines the document's title?

    B2H uses the following steps to determine the document's title:

    1. If the TITLE= option is specified, it is used, otherwise,

    2. If a "flat" file is being processed (e.g. SOURCE=FLAT), then the first non-blank line is used as the title

    3. If the document is not a "flat" file, then:

      1. If the document contains a :TITLE. or :TITLEP. tag, then that is used, otherwise

      2. If the document contains a :TOPIC. tag, then that is used, otherwise

      3. If the document contains a :LIBRARY. tag, then that is used, otherwise

      4. The text for the first header tag (e.g. :Hx.) is used, otherwise

      5. The title is empty

      6. If, at the end of steps 1 through 5, the title is either empty or exceeds 50 characters and the STITLE= option was specified on a :TITLE. or :TITLEP. tag, then the STITLE= value is used as the title

    Including explicit HTML statements

    Explicit HTML statements to support specialized requirements can be included in the source file by using the .*B2H HTML statement. Since it "looks" like a Script/VS comment, you can leave it in the source file without harm. The syntax is:

      .*B2H HTML  ...HTML statement...
    
    See "Controlling B2H using statements within the source file" for further information about this feature.

    Including/excluding HTML-oriented text

    In BookMaster, the :PSC tag allows you to control which text in your document is processed for a particular type of output device. It allows you to say, "do this only when formatting my document for this particular processing class."

    For example,

      :psc proc=char.
      :p.this text is printed or displayed only when printing
      on a character device.
      :epsc.
    

    B2H supports the :PSC tag, and in addition to any "process" names defined using the PSC= option, B2H defines two process names you can test: HTML, and either HTML2 or HTML3.

    Here are some examples:

      :psc proc=html.
      :p.Include me ONLY when converting this text to HTML
      (either HTML 2 or HTML 3)
      :epsc.
     
      :psc xproc=html.
      :p.Do NOT include me when converting this text to HTML
      :epsc.
     
      :psc proc=html3.
      :p.Include me ONLY when converting this text to HTML 3
      :epsc.
    

    See the source for this User's Guide for additional examples.


    Splitting the output HTML file into multiple files

    B2H supports breaking the output HTML file into multiple physical files. This is useful for large source files, since it allows the reader to retrieve only those sections which are of interest -- reducing document load time. If requested, B2H will also dynamically insert next/previous hyperlinks into the output HTML files to aid in navigation.

    The first output HTML file part is named "normally". Subsequent parts have a numeric suffix attached to the filename (e.g. abc.htm, abc02.htm, abc03.htm, abc04.htm, etc) (12) The number of digits in the suffix is controlled by the PARTDIGITS= option (default is two digits).

    If the OUTPUTP= option (and/or the OUTPUTFM= option, if running on VM) is specified to direct the output file to a specific location, all output file parts are written to the same location. (See "Specifying the location and file names when splitting the HTML output" for how to override this behavior.)

    The location within the source file where a break is to occur is specified using any combination of the following methods:

    The effect of the AUTOPART= option:

    AUTOPART=NO

    The output is a single file. Any .*B2H BREAK statements within the source are ignored. This is the default.

    AUTOPART=YES

    The output is split into multiple files only when a .*B2H BREAK statement is encountered.

    AUTOPART=num

    The output is split into multiple files with each break ocurring when a header at the specified level is encountered. (Example: if AUTOPART=1 is specified, each :H1. causes a break.) If a .*B2H BREAK statement is encountered, it too will cause a break.

    The heading level specified for num should be the most-significant level heading used in the source document.

    AUTOPART=*num

    The output is split into multiple files with each break ocurring when a header from :H0. to the specified level is encountered. (Example: if AUTOPART=*2 is specified, each :H0., :H1. and :H2. causes a break.) If a .*B2H BREAK statement is encountered, it too will cause a break.

    AUTOPART=LEN=value

    Specifies that a separate output file may also occur when a :LEN tag is encountered

    LEN=num

    Output split at each occurrence of a :LEN tag where the LEHD= value is "num", e.g. LEN=4 creates a separate HTML file for each :LEN LEHD=4.

    LEN=*num

    Output split at each occurrence of a :LEN tag where the LEHD= value is "num" or "higher", e.g. LEN=*2 creates a separate HTML file for each :LEN LEHD=0., :LEN LEHD=1. and :LEN LEHD=2.

    LEN=SEP

    Output split at each occurrence of a :LEN tag (regardless of the LEHD= value) when encountered within a :LERS/:ELERS block when the :LERS SEP= value is neither "NORMAL" or "RULE"

    AUTOPART=IMBED

    The output is split into multiple files with each break ocurring when a file is imbedded using the .im or .'im macro.

    AUTOPART=SETUP

    The output is split when a file is imbedded using the .setup macro.

    If multiple values are specified for AUTOPART=, you must enclose them in either single or double-quote characters.
    Example: AUTOPART='0 IMBED LEN=SEP'

    For an example, try processing this document using AUTOPART=1 and view the result.

    Navigation when splitting the HTML output file

    If you split the output file, there are some other B2H options you should consider to make document navigation easier for the user:

    TOC=YES

    This ensures that a table-of-contents is generated and and that links are created from the table-of-contents to each section header

    TOCRET=

    This controls whether each section header should link back to a table-of-contents

    PARTLINK={ YES | NO }

    PARTLINK=YES requests B2H to automatically insert hyperlink text into the output HTML files for jumping to the previous-page/next-page/table-of-contents. The actual text inserted is defined by the PARTLINK.x= option.

    PARTLINK=NO specifies that B2H should not automatically insert hyperlink text into the output HTML files for jumping to the previous-page/next-page/table-of-contents. However, you can use the "&b2hparttop" symbol within a header file and the "&b2hpartbot" symbol within a footer file to allow custom placement of the hyperlink text for navigation. See Appendix B. "&variables pre-defined by B2H" for more information on these two symbols.

    PARTLINK.x=

    This specifies the content of the hyperlink text and the location within each HTML output file where it should be placed.

    By default, hyperlink text is inserted at the bottom of each HTML file for linking to the previous page, next page, the table-of-contents and the index (if an index is generated). No default hyperlink text is inserted at the top of each HTML file.

    For more information about the above options, see "Available B2H Options".

    Specifying the location and file names when splitting the HTML output

    As mentioned previously, when splitting the output HTML file, the first output HTML file part is named "normally" and subsequent parts have a numeric suffix attached to the filename (e.g. abc.htm, abc02.htm, abc03.htm, abc04.htm, etc). The physical and logical location of the split files are the same as the main output file. This behavior will satisfy the vast majority of situations.

    (The following discussion is intended for advanced users)

    In special circumstances, you may want to explicitly specify the location and/or name for one or more of the "split" files. You can do this using any of the following methods:

    Notes:

    1. "physical-file" refers to the file created on the platform on which B2H is being run. "logical-file" refers to the file as it will be known on the server's platform. See "Cross-Platform considerations" for further information about this distinction.

    2. If the .*B2H BREAK statement is used to split the output and both the .*B2H BREAK statement and a PARTNAME.x= option specify a file name, the name on the .*B2H BREAK statement is used.

    3. For a given split file, if you do not specify it's physical and/or logical location and name, the location and name normally generated by B2H is used.

    4. B2H does NOT check the syntax or completeness of the locations and names nor does it verify that their syntax is valid for the current platform. It is up to you to ensure that the syntax for the physical and logical locations and names match the appropriate platforms.

    5. Because the physical location and/or name you specify must conform to the requirements of the platform on which you are running B2H, using this feature can potentially "lock" you into requiring that a particular file be converted only on a specific platform.

    This capability is intended for advanced users and should be used with caution!


    Cross-Platform considerations

    If you are running B2H on a platform different than what your web server uses (e.g. you are running B2H on VM and then downloading the HTML output to an OS/2 server), you should be aware of some file naming considerations.

    B2H keeps track of two algorithms for file naming: the physical name(s) created on the current platform, and the logical name(s) used by the HTML HREF= parameter (which must match the physical name when the HTML file is handled by the server). If the destination platform ("destsys") specified by the B2H DESTSYS= option is the same as the current platform ("currsys"), then the two sets of file names are equivalent. But if the "currsys" platform is not the same as the "destsys" platform, the file names may be different.

    B2H sets the default "currsys" values based on the current platform and the default "destsys" values based on the DESTSYS= option, but you can override any of the values using the appropriate option:

    Here's an example: if you convert "xxx.script" on AIX with DESTSYS=OS2, the default physical output file is "xxx.html" (because AIX supports long file names) and the logical name is "xxx.htm" (because OS/2 FAT does not support long file names). If you want to force the physical file extension to also be "htm", then just specify HTMPEXT=htm

    Note: Some options (such as OUTPUTL83= and OUTPUTP83=) are really for controlling the default file names when creating multiple output files.


    National Language Support (NLS) considerations

    B2H does not do anything specific for National Language Support, but you can easily configure it to handle documents written in languages other than English.

    Converting NLS characters

    If your document uses the appropriate &symbols for special characters (e.g. &Agrave, &euml), than all should be fine as B2H will convert them to their HTML equivalent.

    If you have documents with language-specific characters entered as a single character, you can use the :XLATE. symbol table statement to convert that single-character to a string. For example, if you determine that a document uses the X'A5' single-character for an umlaut, you can have B2H convert it to "&uml;" by specifying the following symbol table statement:

      :XLATE. A5 V='&uml;'
    
    Note that the hex value for a specific character may be different on a mainframe (EBCDIC coding) than on a PC workstation (ASCII coding). Here's a hypothetical example of defining an umlaut translation based on the current platform:
      (CMS) :XLATE. A5 V='&uml;'
      (PC)  :XLATE. B7 V='&uml;'
    
    See "Translation of single-byte values" for more information on the :XLATE. statement.

    If you determine that quite a few translation definitions are needed, you may find it simpler to place them in a user symbol table and then load the table as needed.

    Generating non-English text from BookMaster tags and functions

    If your document is written in a language other than English and you have followed the items listed in the previous section, there may still be some English in the HTML output caused by the default text generated by various BookMaster tags, such as "Table of Contents" for the :TOC. tag and "Abstract" for the :ABSTRACT. tag.

    B2H provides the DEFTEXT.name= option to allow you to specify the default text desired for various BookMaster tags and functions. For example, to have the default output be in Spanish for the above tags, you might specify:

      DEFTEXT.ABSTRACT='Sumario'
      DEFTEXT.TOC='Tabla de Materias'
    
    Many other options can be modified to generate non-English text.

    Once you have determined all the options that need to be specified to generate the appropriate text, you will probably want to place them in a user profile and then load the profile as needed.

    Ensuring the index is sorted appropriately

    If your document is written in a language other than English and also has an index, the index may be sorted incorrectly.

    The first character of each index entry determines the section of the index into which the entry is placed. By default, if the first character is numeric ("0"-"9"), the entry is placed in the "Numerics" section; if the first character is a letter of the English alphabet ("A"-"Z"), the entry is placed into the section for that character; otherwise the entry is placed into the "Special Characters" section. If the document's language contains letters other than "A"-"Z", the index might contain a significant number of entries in the "Special Characters" section.

    The INDEXSORT option allows you to change the rule. You could, for example, specify that the Á (A-acute) and Ì (I-grave) characters are "letters" and each should have their own section consisting of index entries whose first character is Á or Ì. The following is one way you might do it:

      INDEXSORT.LETTER='Á Ì'
    
    See the INDEXSORT option for syntactical and usage information.

    Once you have determined the INDEXSORT options needed, you will probably want to place them in a user profile and then load the profile as needed.

    Putting it all together

    If you have done the previous three sections, then you probably have a user symbol table with a number of :XLATE. statements and a user profile with a variety of options defined to generate text in the desired language. Finally, add a USERSYM= option to the user profile to point to the user symbol table. Now all you have to do is to point to the user profile when invoking B2H and everything is loaded automatically.

    Here's a hypothetical example (using VM naming conventions) for converting Spanish documents:

      In the user profile: B2HSPAN PROFILE
        DEFTEXT.ABSTRACT='Sumario'
        DEFTEXT.DAYS='Dom Lun Mar Mie Jue Vie Sab'
        DEFTEXT.GLOSSARY='Glosario'
           "       "        "
        DEFTEXT.TOC='Tabla de Materias'
        PARTLINK.16='<A HREF="&b2htoc">Tabla de Materias</A> &#124;'
        USERSYM="B2HSPAN SYMBOL"
     
      In the user symbol table: B2HSPAN SYMBOL
        (CMS) :XLATE. A5 V='&uml;'
                 "    "      "
        (PC)  :XLATE. B7 V='&uml;'
     
      Invoke B2H and load both files automatically:
        B2H sample script ( USERPROF='B2HSPAN PROFILE'
    
    This type of setup can be replicated for as many languages as desired.

    Question and Answer tags

    B2H provides two methods for supporting the BookMaster Question and Answer tags (:QUESTION, :EQUESTION, :BLANK, :CHOICE, :MATCH, :QITEM, :ANSWER, :QREF and :ANSREF):

    The QUESTION= option controls what type of output is generated.
      QUESTION='{TEXT|FORM},[method],url-of-cgi,[answer-action],[optdata]'
    

    "Question and Answers (TEXT mode)" has examples of both text and HTML FORMs if this is the HTML version of this User's Guide; the non-HTML version contains only the text output.

    Generating normal text

    If QUESTION=TEXT, the Question and Answer tags are converted to blocks of text and appear similar to the familiar BookMaster output. This is the default mode. See "Question and Answers (TEXT mode)" for an example of this.

    Generating HTML forms

    If QUESTION=FORM, each :QUESTION/:EQUESTION block is converted to an HTML form. (See "Question and Answers (HTML FORM mode)" for an example.)

    A typical QUERY_STRING passed to the CGI program by a GET method might look like:

      form=MC&id=boy&inp=4&inp=5&ans=4+5
    
    The CGI program (14) should compare each value of inp= to each word in the value of ans=.

    Note: The order in which the answer is specified (in the ANS= or ANSID= attributes on the :QUESTION, :BLANK, :MATCH and :QITEM tags) must be the same as the order of the input fields, for a value-by-value comparison to work.

    Hyperlinks

    :QREF and :ANSREF tags are converted to HTML links. The :ANSWER tag just lists the answer values (as in BookMaster), but the "dingbat" (question number) on each :ANSWER tag is converted to a link back to the question.

    Question and Answer appearance

    The appearance of the Question and Answer tags is affected by the setting of the DLFMT= and DLTAG= options.


    Interdocument linking (BookManager tags)

    You can mark up your BookMaster files with link tags that specify the hypertext links you want BookManager to create within and between online documents. Hypertext links connect elements in one part of an online document to elements in another part of the same document or separate online document. For more information on this subject, see the chapter entitled "Tags for hypertext links in online documentation" in the BookMaster User's Guide.

    For BookManager, the :DOCDESC tag is used to identify an external document and the :LDESC. tag describes the information you want BookManager to create a link to. For example:

      :prolog.
      :title.
      Walden Systems User Guide
      :etitle.
      ·
      :docdesc id=prog
               num='PRG-1234'
               level='2'
               title='Walden Systems Programmer Guide'.
      :ldesc   id=xyz1  docid=prog  object=how2mod  objtype=head.
      ·
      :eprolog.
      ·
      :p.First, you must :l lid=xyz1.modify the POND SCRIPT file:el..
      ·
      :p.For further information, see the :cit docid=prog.Walden Systems
      Programmer's Guide:ecit..
    

    The :DOCDESC tag has little meaning in an HTML environment, so B2H ignores the tag and provides the DOCDESC.id= option for you to specify the name of the file containing the HTML version of the document. The id value in DOCDESC.id= must be the same as that specified for the ID= parameter on the :DOCDESC tag.

    So, using the above example, you might specify:

      B2H ... ( docdesc.prog='prg1234.htm'
    

    The DOCDESC.id= option can be specified as many times as necessary. If the option is omitted for a particular document, then no interdocument links are generated.

    If the id qualifier is omitted, then the specified HTML file is associated with all :DOCDESC tags. The following example points all interdocument links to one file:

      B2H ... ( docdesc='prg1234.htm'
    

    Cross-referencing multi-volume documents

    If your document is one book in a multivolume library, you may want to refer the reader to information in another volume of the library. Both BookMaster and B2H provide an extended cross-reference facility, allowing you to refer to information in any volume of the library. The BookMaster User's Guide contains detailed information on this facility.

    The following steps lead you through the multivolume cross-referencing procedure. For this procedure, each item you refer to (heading, table, figure, and so on) must have an ID that is unique in the library. You use these IDs for your multivolume cross-references just as you would for cross-references in a single volume.

    1. Run B2H against one of the documents and save the extended cross-reference information by specifying SYSVAR='W file'. For example:
        B2H book1 script ( sysvar='w book1'
      

    2. Do the same for the other documents in the library as described in step 1. When you are finished, you will have as many cross-reference files as you have documents in the library, each named:
        file.b2hxrefs    (AIX)
        file.B2X         (OS/2)
        file B2HXREFS    (VM)
        file.B2X         (WIN95)
        file.B2X         (WINNT)
      

    3. In the prolog of the other document(s), use a .namefile and .im to imbed the saved cross-reference information from the first document. For example:
        :prolog.
        ·
        .namefile name=b1stuff cms='book1 dsmrefs'
        .im b1stuff
        ·
        :eprolog.
      

      Note: Always use the "CMS" parameter specifying a filetype of "DSMREFS" on the .namefile macro. B2H recognizes that filetype as containing extended cross-referencing information and will "map" the file using the same naming convention used for SYSVAR W.

    4. Run B2H against each document as normal

    Supporting custom tags, commands, macros or symbols

    If your documents contain custom tags, commands, macros or symbols, they can be easily supported by defining them in a separate symbol table, and then causing B2H to load that symbol table using the USERSYM= option.

    In most cases, the custom tag, command, macro or symbol can be supported using standard facilities available in a symbol table. If necessary, you can define that an external program be invoked to handle the custom markup.


    Invoking an external program

    You can request that an external program be invoked to custom process a command, macro or tag. Just specify the following for the appropriate value on a :CMD. or :TAG. statement in a user symbol file.

      &PGM pgmname  [ parm1 parm2 ... parmx. ]
    

    Note: for technical reasons, the name of the program invoked will be in upper-case. If the platform you are using allows programs and files in both upper and lower-case, the name of the external program itself must be stored in upper-case.

    The specified program is invoked by B2H as a function, like this:

       string = pgmname(type,tagtext,parms,stext)
    

    type

    A string denoting the type of construct being handled:

    CMD

    Invoked via a :CMD. definition (e.g. a command or macro)

    TAG

    Invoked via a :TAG definition (e.g. a tag)

    tagtext

    If invoked via a :CMD. definition, this is the command/macro name (excluding the leading period). If via a :TAG. definition, this is the text starting with the leading GML character (normally a colon) to the ending character (normally a period).

    parms

    Any parameters specified in the :CMD. or :TAG. definition (the "parm1 parm2 ... parmx" shown above).

    stext

    This is the text from the source line following the command, macro or tag.

    Text to be inserted into the data stream is returned to B2H using either or both of two methods:

    For an example, see the B2HUSER symbol table and program provided as part of the B2H package.


    Converting 'flat' files

    To indicate that a 'flat' file is being processed, you must specify:

      SOURCE=FLAT
    

    By default, the entire file is enclosed within a pair of "<PRE>" and "</PRE>" HTML tags causing the browser to switch to a mono-spaced font and display the file "as-is".

    Two additional operands on the SOURCE= option allow specialized processing of 'flat' files. Many 'flat' files are simple paragraphs of text with a blank line between the paragraphs. For those files, try specifying SOURCE='FLAT,NOPRE,YES'. See the description of the SOURCE= option for other processing possibilities.

    In addition to the SOURCE= option, you will probably want to specify at least two other options:

    Example:

      B2H PIANO HOW-TO ( TOC=NO TITLE='How to play the piano' SOURCE=FLAT
    

     

    VM Example: Convert your PROFILE EXEC

      B2H PROFILE EXEC A ( SOURCE=FLAT TOC=NO TITLE='My Profile Exec'
    

     

    PC Example: Convert your C:\CONFIG.SYS

      B2H C:\CONFIG.SYS ( SOURCE=FLAT TOC=NO TITLE='My Config.Sys'
    

    Caveats and restrictions (what's supported and what's not!)

    B2H supports most commonly-used Script/VS (DCF), GML, and BookMaster commands, macros and tags. But there are some areas which you should be aware (the appendix contains support information for each specific command, macro and tag):

    Although the what's-not-supported list may seem large, it actually represents a very small percentage of the markup used in most documents.


    Special information about tables

    HTML 2 does not support tables. And while HTML 3 does support them, the standards are somewhat in limbo. So some Web browsers do not yet support HTML 3 table tags (specifically IBM's Web Explorer prior to Release 1.03).

    However, since tables are so common in BookMaster documents, B2H provides special built-in support. Most table options are handled, including dynamically changing the number of columns on a row-by-row basis.

    Table support with HTML Release 2

    Since HTML 2 does not support tables, B2H switches to a monospaced font and manually builds the table itself with the following restrictions:

    The TABLE2= option allows you to specify the characters used for the frame, cell gutters, etc.

    Table support with HTML Release 3

    Because HTML 3 supports tables directly, B2H generates the appropriate <TABLE>, <TR>, <TH> and <TD> tags and leaves the actual formatting of the table to the user's Web browser.

    Be aware that BookMaster's table support is more robust and flexible than that provided by HTML 3. Some BookMaster table features (such as text rotation) are not available in HTML 3. Other BookMaster table features are available, but restrictions apply.

    HTML 3 cells may contain other tags, such as lists, figures, even cross-references and hyperlinks. However, a table-within-a-table is not supported.

    Note: HTML 3 table and cell widths are determined dynamically by the browser. In most cases, this is fine. However, if you have a table which changes the number of columns on a row-by-row basis, you should be aware of the following items:

    Horizontal and vertical cell alignment (HTML 3 only)

    The H3TABLE= option specifies how BookMaster tables using both horizontal and vertical cell alignment should be handled when creating HTML 3 output. If H3TABLE=SIMPLE is specified, then the BookMaster's ARRANGE= table parameter is accepted, but the cells are laid out horizontally (this is how tables are handled when creating HTML 2 output).

    If H3TABLE=COMPLEX (the default), then full horizontal and vertical cell alignment is supported and the appropriate HTML 3 ROWSPAN= and COLSPAN= cell options are generated.

    Note: As mentioned previously, BookMaster's table support is more robust and flexible than that provided by HTML 3. Although HTML 3 can handle horizontal and vertical cell alignment, how you specify it is less flexible than what BookMaster allows, resulting in the following restrictions:

    The HTML 3 requirement that cell data be in ascending sequence may cause to you restructure your table definitions.

    HTML 3 "add-on" enhancements

    Since HTML 3 was announced, a number of additional tags or "add-ons" are being promoted by various interests. Many HTML 3-compliant browsers -- Netscape being the most notable -- already provide support for these add-ons.

    One of these is WIDTH=, which provides the ability to specify the width of a table or individual cells. B2H's H3ADDONS= option specifies if B2H should utilize WIDTH= when generating table tags. If H3ADDONS=YES, the resultant table will more closely approximate the appearance of the BookMaster table when using a browser supporting the HTML 3 add-ons.

    Since most Web browsers ignore HTML tags they do not recognize, H3ADDONS=YES is the default.


    Examples

    The following are examples of various GML and BookMaster markup. They are provided so you can compare how they look using BookMaster versus when converted to HTML and viewed by a Web browser. Of course, some of these constructs also appear earlier in this document.

    Note: You are currently browsing the HTML 3 version of the User's Guide.


    Lists

    B2H provides options to specify which HTML tags should be used for any given list. If you don't like a list's default appearance, you can change it.

    An ordered list using B2H's LIREF=NUM option (the default):

    1. List item number one

    2. List item number two
      1. Nested compact ordered list: item one
      2. item two

    3. Maybe loop back to step 2

    4. Resume original list, final item

    An ordered list using B2H's LIREF=ID option:

    1. List item number one

    2. (LTST2B) List item number two
      1. Nested compact ordered list: item one
      2. item two

    3. Maybe loop back to step (LTST2B)

    4. Resume original list, final item

    An un-ordered list:

    A simple list:

    List item number one

    List item number two

    Nested compact simple list: item one
    item two

    Resume original list, final item

    A definition list using B2H's DLFMT=DL option (the default):

    Term
    Definition

    term1
    Definition for term1

    term2
    Definition for term2
    term2a
    Nested compact definition list: text for term2a
    term2b
    Definition for term2b

    term3
    Definition for term3

    A definition list using B2H's DLFMT=TABLE option (HTML 3 only):

    Term

    Definition

    term1

    Definition for term1

    term2

    Definition for term2
    term2a Nested compact definition list: text for term2a
    term2b Definition for term2b

    term3

    Definition for term3


    Tables

    There is a big difference in the appearance of the following tables between HTML 2 and HTML 3. This is described further in "Special information about tables".

    A simple table with caption and no frame, defined with :table cols='* 2* * *' frame=none.

    Figure 10. This is the caption
    Head C1 Head C2 Head C3 Head C4
    Row 1, Col 1 Row 1, Col 2 of 4 Row 1, Col 3 Row 1, Col 4
    Row 2, Col 1 Row 2, Col 2 Row 2, Col 3 of 4 Row 2, Col 4

    Same as above, but with a frame, defined as :table cols='* 2* * *'.

    Figure 11. This is the caption
    Head C1 Head C2 Head C3 Head C4
    Row 1, Col 1 Row 1, Col 2 of 4 Row 1, Col 3 Row 1, Col 4
    Row 2, Col 1 Row 2, Col 2 Row 2, Col 3 of 4 Row 2, Col 4

    Same table, but adding a table description, an ordered list in a cell and a table note

    Figure 12. This is the caption
    This is some table description text using the :TDESC. tag
    Head C1 Head C2 Head C3 Head C4
    Row 1, Col 1
    1. Ordered list item #1
    2. Ordered list item #2
    Row 1, Col 2 of 4 Row 1, Col 3 Row 1, Col 4
    Note: This is a tnote
    Row 2, Col 1 Row 2, Col 2 Row 2, Col 3 of 4 Row 2, Col 4

    A complex table with varying columns by row

    Figure 13. Audit record display format
    Head C1 Head C2 Head C3 Head C4 Head C5
    aR1 C1 aR1 C2 aR1 C3 aR1 C4 aR1 C5
    Note: This is tnote text
    aR2 C1 aR2 C2 aR2 C3 aR2 C4 aR2 C5
    This is left-justified data for the single column
    This is the "quoted" data in cell one of two
    bR1 C1 bR1 C2 bR1 C3 bR1 C4 bR1 C5
    This is cell 1 of 3

    (no data in cell 2)


    This is cell 3 of 3
    Note: This is a second tnote
    cR1 C1 cR1 C2 cR1 C3 cR1 C4 cR1 C5
    Single column again (centered)
    dR1 C1 dR1 C2 dR1 C3 dR1 C4 dR1 C5
    This is right-justified data in a single column
    eR1 C1 eR1 C2 eR1 C3 eR1 C4 eR1 C5
    Foot C1 Foot C2 Foot C3 Foot C4 Foot C5

    A table with both horizontal and vertical cells
    defined like

      :table
        cols='* * 2* 2*'
        align='c c l c'
        valign='c c t'
        arrange='1 2 3 3'
        arrange='1 2 4 5'.
    

    Application Location Description
    Test Procedure Frequency
    Dial Cost Estimator AMTOOLC Return best phone number and estimated call cost
    Run D1, D2 and D3 transcripts When database is refreshed or the application code changes
    SERVQMF AMTOOL2
    Submit Service Manager QMF queries
    Submit APPLID canned query using ABCD as account ID Weekly
    CMRLIST ADVTOOLS main server on CARVM8 Build and load customer master list
    Submit AMCMRJOB Nightly at 18:30 pm
    PRTRANGE AMTOOL2, MVSAP2 and MVSAP5 Extract customer problem entry(ies) from the currently-active NOTIFY system
    Submit request for ATAP 16300 Executed by Customer Assistance upon a processor switch

    Shading

    The following table shows you how the default shading values appear (the appearance may vary based on your browser and display)

      :tdef id=shade  cols='* 3*'.
      :tdef id=xlight refid=shade shade='no xlight'.
      :tdef id=light  refid=shade shade='no light'.
      :tdef id=medium refid=shade shade='no medium'.
      :tdef id=dark   refid=shade shade='no dark'.
      :tdef id=xdark  refid=shade shade='no xdark'.
      :table refid=shade alignh='l c'.
      :tcap.Default appearances for SHADE
      :thd.:c.Weight :c.Actual appearance:ethd.
      :row.
      :c.SHADE=NO
      :c.Some text with no shading
      :row refid=xlight.
      :c.SHADE=XLIGHT
      :c.Some sample text with extra-light shading
      :row refid=light.
      :c.SHADE=LIGHT
      :c.Some sample text with light shading
      ·
      :etable.
    

    Figure 14. Default appearances for SHADE
    Shade Type Actual appearance
    SHADE=NO Some text with no shading
    SHADE=XLIGHT Some sample text with extra-light shading
    SHADE=LIGHT Some sample text with light shading
    SHADE=MEDIUM Some sample text with medium shading
    SHADE=DARK Some sample text with dark shading
    SHADE=XDARK Some sample text with extra-dark shading

    Figure with custom blue shading

      .*B2H OPTION SHADE.LIGHT=C5FFFF
      :fig shade=light.
      :figcap.Example figure with light blue shading
     
        This is a small figure illustrating
        light blue background shading
     
      :efig.
    

    Figure 15. Example figure with light blue shading

        This is a small figure illustrating
        light blue background shading
    


    Directory lists

    Three columns, each with a hard-coded width of 8

    
    Module    Called    Entry     
    Name      By        Point     
    

    IJK30276 IJK30111 IJKA9762

    IJK30276 IJK30111 IJKA9762

    IJK30276 IJK30111 IJKA9762

    IJK30276 IJK30111 IJKA9762

    Three columns, width specified as COLS='3i .5i 1i' and a :DIRSUB

    
    Name                            Ext    Dept/Room   
    

    Doe, John VC5 Pav 302

    Richtmeyer, Gary VC5 Spectrum 3

    This is a :dirsub. line

    Descarte, Rene' VC5 Pav 1024

    Doe, John VC5 Pav 302

    Same as above, but with COMPACT

    
    Name                            Ext    Dept/Room   
    

    Doe, John VC5 Pav 302

    Richtmeyer, Gary VC5 Spectrum 3

    This is a :dirsub. line

    Descarte, Rene' VC5 Pav 1024

    Doe, John VC5 Pav 302


    Notes

    A single paragraph using the :NOTE tag
    defined like

      :note.This is a sample note
    

    Note: This is a sample note

    Multiple paragraphs using the :NT/:ENT tags
    defined like

      :nt.This is the first paragraph.
      :p.And the last paragraph.
      :ent.
    

    Note:

    This is the first paragraph.

    And the last paragraph.

    A list of notes using the :NOTEL/:ENOTEL tags
    defined like

      :notel.
      :li.Note list item number 1
      :li.Note list item number 2
      :enotel.
    

    Notes:

    1. Note list item number 1

    2. Note list item number 2

    Question and Answers (TEXT mode)

    Fill-in-the-blank

    Example 1

      :question form=fillin id=strb.
      The right hand side of a boat is called the
      :blank width=9p ans='starboard'. side.
      :equestion.
    
    1. The right hand side of a boat is called the ______________ side.

    Example 2

      :question form=fillin dingbat='A.'.
      The right hand side of a boat is called the
      :blank width=9p ans='starboard'. side.
      :equestion.
    
    A. The right hand side of a boat is called the ______________ side.

    Example 3

      :question form=fillin id=sail2.
      The three edges of a fore-and-aft sail are the:
      :lines.
      :blank width=6p ans='foot'.
      :blank width=6p ans='leech'.
      :blank width=6p ans='luff'.
      :elines.
      :equestion.
    
    2. The three edges of a fore-and-aft sail are the:
     _________
     _________
     _________
    

    True/False

      :question form=tf id=yawl ans=F keep=6p.
      A :hp1.yawl:ehp1. is a sailboat with only one mast.
      :equestion.
    
    3. T  F   A yawl is a sailboat with only one mast.

    Multiple-choice

      :question form=mc id=cpz ansid=cpzac keep=12p.
      After capsizing a small sailboat, the first thing you should do is
      :choice.uncleat all sheets.
      :choice.swim around the boat and hang on the centerboard
      :choice id=cpzac.account for everyone aboard.
      :equestion.
    
    4. After capsizing a small sailboat, the first thing you should do is

    1. uncleat all sheets.
    2. swim around the boat and hang on the centerboard
    3. account for everyone aboard.

    Matching

      :question form=match id=trm keep=20p.
      Match the following nautical terms with their correct meanings.
      :choice id=trmha.halyard
      :choice id=trmsh.sheet
      :choice id=trmji.jib
      :choice id=trmhd.head
      :match ansid=trmsh.line used to trim a sail
      :match ansid=trmhd.toilet
      :match ansid=trmha.line used to hoist and lower a sail
      :match ansid=trmji.triangular sail attached to the forestay of
      the foremost mast
      :equestion.
    
    5. Match the following nautical terms with their correct meanings.

    1. halyard
    2. sheet
    3. jib
    4. head

    ____  line used to trim a sail
    ____  toilet
    ____  line used to hoist and lower a sail
    ____  triangular sail attached to the forestay of the foremost mast

    Ordering

      :question form=order id=coast keep=18p compact.
      Place the following states in order from longest coastline to shortest.
      :qitem ans=4.Maine
      :qitem ans=2.Texas
      :qitem ans=3.North Carolina
      :qitem ans=1.California
      :qitem ans=6.Arizona
      :qitem ans=5.Connecticut
      :equestion.
    
    6. Place the following states in order from longest coastline to shortest.
    ____  Maine
    ____  Texas
    ____  North Carolina
    ____  California
    ____  Arizona
    ____  Connecticut

    Answers to sample questions

      :p.These are answers to the sample questions
      starting with :qref refid=strb.
      :answer refid=strb.
      :answer refid=sail2.
      :answer refid=yawl.
      :answer refid=cpz.
      :answer refid=coast.
      :answer refid=trm.
    

    These are answers to the sample questions starting with question 1.
    1.starboard
    2.foot
    leech
    luff
    3.F
    4.3
    6.4, 2, 3, 1, 6, 5
    5.2, 4, 1, 3


    Question and Answers (HTML FORM mode)

    The following examples were generated using the B2H option:

      .*B2H OPTION QUESTION='FORM,GET,,HIDDEN'
    

    Fill-in-the-blank

    Example 1

      :question form=fillin id=qtrb.
      The right hand side of a boat is called the
      :blank width=9p ans='starboard'. side.
      :equestion.
    
    7. The right hand side of a boat is called the side.

    Example 2

      :question form=fillin dingbat='A.'.
      The right hand side of a boat is called the
      :blank width=9p ans='starboard'. side.
      :equestion.
    
    A. The right hand side of a boat is called the side.

    Example 3

      :question form=fillin id=qail2.
      The three edges of a fore-and-aft sail are the:
      :lines.
      :blank width=6p ans='foot'.
      :blank width=6p ans='leech'.
      :blank width=6p ans='luff'.
      :elines.
      :equestion.
    
    8. The three edges of a fore-and-aft sail are the:
     
     
     
    

    True/False

      :question form=tf id=qawl ans=F keep=6p.
      A :hp1.yawl:ehp1. is a sailboat with only one mast.
      :equestion.
    
    9. True   False

    A yawl is a sailboat with only one mast.

    Multiple-choice

      :question form=mc id=qpz ansid=qpzac keep=12p.
      After capsizing a small sailboat, the first thing you should do is
      :choice.uncleat all sheets.
      :choice.swim around the boat and hang on the centerboard
      :choice id=qpzac.account for everyone aboard.
      :equestion.
    
    10. After capsizing a small sailboat, the first thing you should do is

     1. uncleat all sheets.
     2. swim around the boat and hang on the centerboard
     3. account for everyone aboard.

    Matching

      :question form=match id=qrm keep=20p.
      Match the following nautical terms with their correct meanings.
      :choice id=qrmha.halyard
      :choice id=qrmsh.sheet
      :choice id=qrmji.jib
      :choice id=qrmhd.head
      :match ansid=qrmsh.line used to trim a sail
      :match ansid=qrmhd.toilet
      :match ansid=qrmha.line used to hoist and lower a sail
      :match ansid=qrmji.triangular sail attached to the forestay of
      the foremost mast
      :equestion.
    
    11. Match the following nautical terms with their correct meanings.

    1. halyard
    2. sheet
    3. jib
    4. head

     line used to trim a sail
     toilet
     line used to hoist and lower a sail
     triangular sail attached to the forestay of the foremost mast

    Ordering

      :question form=order id=qoast keep=18p compact.
      Place the following states in order from longest coastline to shortest.
      :qitem ans=4.Maine
      :qitem ans=2.Texas
      :qitem ans=3.North Carolina
      :qitem ans=1.California
      :qitem ans=6.Arizona
      :qitem ans=5.Connecticut
      :equestion.
    
    12. Place the following states in order from longest coastline to shortest.
     Maine
     Texas
     North Carolina
     California
     Arizona
     Connecticut

    Answers to sample questions

      :p.These are answers to the sample questions
      starting with :qref refid=qtrb.
      :answer refid=qtrb.
      :answer refid=qail2.
      :answer refid=qawl.
      :answer refid=qpz.
      :answer refid=qoast.
      :answer refid=qrm.
    

    These are answers to the sample questions starting with question 7.
    7.starboard
    8.foot
    leech
    luff
    9.F
    10.3
    12.4, 2, 3, 1, 6, 5
    11.2, 4, 1, 3


    Figure with a screen image

    Since ":DOCPROF SCREEN=SHADE." was specified, the following screen will be shaded if HTML 3 output is being generated.

    Figure 16. This is the figure caption using the :figcap. tag. This is some text using the :figdesc. tag.


    +--------------------------------------------------------------------------------+
    |ADVTOOLS ----------------- Advantis Field Support Tools ----------------------  |
    |                                                                                |
    |                    GENERAL Information                                         |
    |_ 1   Getting Started    ADVTOOLS   Information on ADVTOOLS itself              |
    |_ 2+  Advantis Itself    ADVANTIS   Sales Support; Marketing Programs;          |
    |                                    Configuration; Qualified Devices            |
    |_ 3   QuickFind          QUICKFIND  Answers to SELECTED common questions        |
    |                                                                                |
    |                    PRODUCT Information                                         |
    |_ 4+  Message Services   MESSAGE    EDI, Electronic Mailboxing, Email, IE, BBS  |
    |_ 5+  Network Services   NETWORK    APPN, Dial, LAN Leased, Wireless, X.25      |
    |_ 6+  Information Svcs   INFORMAT   Information Providers, Software Mall        |
    |_ 7+  Capacity Services  CAPACITY   Outsourcing (Ded Proc, Shared Capacity, RCS |
    |_ 8+  Cross-Product Svcs CROSS      International, Custom Services (Sp. Bids)   |
    |                                                                                |
    |                    SUPPORT Information                                         |
    |_ 9+  Customer Info      CUSTOMER   Billing, Customer Sat, Lists, Acct Profile  |
    |_ 10+ Admin & HQ Support ADMIN      Educ, Field Notes, Forms, Contracts, Pubs,  |
    |                                    All Helplogs, Orders, Processes, Reqm'ts    |
    |_ 11+ Other Information  OTHER      Survey; SE College; VM Tools; Skills; ADVPW |
    |                                                                                |
    |===>                                                                            |
    |1=Help      2=FeedBack  3=Exit        4=Recent News 5=            6=            |
    |7=QuickFind 8=Profile   9=FastPaths  10=MenuMap    11=Search All 12=Exit        |
    +--------------------------------------------------------------------------------+


    Labeled box

    This is the label for the box
    This is verbiage for within the box. It is formatted normally.

    Tabbed data

    Using :TABDATA

      :tabdata cols='w1 w1 w1 w1' char='~'
               w1='&bul. SieMMMmens MM '.
      &bul. Apple**   ~&bul. DEC    ~&bul. NET     ~&bul. Novell**
      &bul. Siemens** ~&bul. SSI    ~&bul. SUN**   ~&bul. 3COM**
      &bul. BAY**     ~&bul. NTI    ~&bul. CISCO** ~&bul. etc.
      :etabdata.
    
    Results in:

    
    * Apple**         * DEC             * NET             * Novell**
    * Siemens**       * SSI             * SUN**           * 3COM**
    * BAY**           * NTI             * CISCO**         * etc.
    

    Using .TABRACK

      :lines.
      .tabrack 'Los Angeles, California' 'Adams Hilton'
      :hp1.
      Location&tab.Hotel&tab.Date
      :ehp1.
      Phoenix, Arizona&tab.Adams Hilton&tab.May 22-25, 1989
      New York, New York&tab.Hilton&tab.Aug 21-26, 1989
      Salt Lake City, Utah&tab.Hotel Utah&tab.Nov 15, 1990
      :elines.
    
    Results in:
    
    Location                 Hotel         Date
    
    Phoenix, Arizona         Adams Hilton  May 22-25, 1989
    New York, New York       Hilton        Aug 21-26, 1989
    Salt Lake City, Utah     Hotel Utah    Nov 15, 1990
    

    :LINES and :XMP

    Some lines from CONFIG.SYS using :LINES

    PROTSHELL=C:\OS2\PMSHELL.EXE
    SET USER_INI=C:\OS2\OS2.INI
    SET SYSTEM_INI=C:\OS2\OS2SYS.INI
    SET OS2_SHELL=C:\OS2\CMD.EXE
    SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,LAUNCHPAD
    

    Same lines, now using :XMP

    PROTSHELL=C:\OS2\PMSHELL.EXE
    SET USER_INI=C:\OS2\OS2.INI
    SET SYSTEM_INI=C:\OS2\OS2SYS.INI
    SET OS2_SHELL=C:\OS2\CMD.EXE
    SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,LAUNCHPAD
    

    Schedules

    Only schedule date tables are supported, not schedule charts.
    Activities
    ProjectedActual
    StartEndStartEnd
    Part 1 - Set up user IDMoe 09/08/96
    09/12/96
    09/08/96
    09/12/96
    Part 1 - Project ABC cleanupCurly 09/12/96
    10/01/96
    09/15/96
    10/15/96
    09/12/96

    Requirements/High Level DesignLarry 09/12/96
    09/15/96
    09/12/96
    09/14/96
    Design and DocumentationShemp 09/14/96
    10/06/96
    09/13/96
    10/06/96
    Code/TestStan 09/22/96
    10/10/96
    09/18/96

    Design/Code ReviewOllie 10/12/96
    10/12/96


    Production InstallBuster 10/12/96
    10/19/96



    Messages and Codes

    A standard Message List with STYLE=RULE



    ABC123 This is a test message

    ABC124 This is another test message

    ABC125 This is yet another test message

    A modified Message List



    DJI7832E This message is issued when no data set of the name xxxxxxxx is found.
    Cause: The processor could not locate the data set named xxxxxxxx.
    Severity: 8
    Problem Determination: You would appear to have a problem!
    Recovery: Look for the data set.
    Operator Response: Do not mount the lost data set.
    Programmer Response: Help the user look for the data set.
    System Action: The system goes and does something else while everyone looks for the data set.

    DJI7833E THIS MESSAGE IS NOT ISSUED WHEN A DATA SET OF THE NAME xxxxxxxx IS FOUND.
    Cause: The processor could not locate the data set named xxxxxxxx.
    Severity: 8
    Problem Determination: You would appear to have a problem!
    Recovery: Look for the data set.
    Operator Response: Do not mount the lost data set.
    Programmer Response: Help the user look for the data set.
    System Action: The system goes and does something else while everyone looks for the data set.

    A standard Code List with COMPACT

    0C1
    Explanation: Occurs when an operation exception occurs.
    Severity: The program is terminated.
    Destination: Send the dump to the user.

    0C4
    Explanation: Occurs when an invalid address is referenced.
    Severity: The program is terminated.
    Destination: Send the dump to the user.

    A modified Code List



    0C1
    Cause: Occurs when an operation exception occurs.
    Severity: The program is terminated.
    Do what?: Send the dump to the user.

    0C4
    Cause: Occurs when an invalid address is referenced.
    Severity: The program is terminated.
    Do what?: Send the dump to the user.


    Line drawings (e.g. XEDITG, CHARGES)

     
         *------------------*                           *------------------*
         | Submitter using  |                        1  |                  |
         |    ADVTOOLS,     |        *------------------*   Submitter's    |
         |    INTOOLS,      |        |                  |     E-mail       |
         |    GETINFO,      |        |                  |    location      |
         |   INTERNET or    |        |    *------------>|                  |
         |   other system   |        |    |             |                  |
         *-----*------------*        |    |             *------------------*
               |                     |    |                  ^        ^
             1 |                     |    |                  |        |
               |   *-----------------*    |                4 |        |
               |   |                      |                  |        |
               |   |   *------------------*                  |        |
               V   V   | 3                                   V        | 6
         *-------------*----*  2                        *-------------*----*
         |                  *-------------------------->|                  |
         |                  |                           |                  |
         |     HELPLOG      |             5             |                  |
         |                  |<------------------------->|    Responder     |
         |  Server Machine  |                           |                  |
         |                  |                        6  |                  |
         |                  |<--------------------------*                  |
         *------------------*                           *------------------*
     
    

    Appendix A. Symbols, commands, macros and tags supported by B2H


    &Symbols

    There are literally hundreds of Script/VS, GML and BookMaster symbols and over 300 are defined to B2H. All ISO 8859-1 characters are defined plus many other BookMaster symbols, so files written in languages other than English should display correctly if the proper &symbols are used (e.g. &Aumlaut for Ä, &eacute for é). In addition, the symbols used by XEDITG and CHARGES line-drawing tools are also defined.

    If you need a special symbol which is not currently supported, you can:


    Figure 17. Supported &symbols
    Some symbols appear correctly only when viewed using a WEB browser.
    Symbol Value Symbol Value Symbol Value
    &Aa Á &aa á &Aacute Á
    &aacute á &Ac  &ac â
    &Acirc  &acirc â &acircle å
    &acute ´ &Ad V &Ae Ä
    &ae ä &AElig Æ &aelig æ
    &Ag À &ag à &Agrave À
    &agrave à &Al < &amp &
    &and ^ &Ao Å &ao å
    &apos ' &Ar > &Aring Å
    &aring å &asterisk * &At Ã
    &at ã &Atilde à &atilde ã
    &atsign @ &Au ^ &Auml Ä
    &auml ä &Aumlaut Ä &aumlaut ä
    &aus a &Beta B &bin B'
    &blank   &brkbar ¦ &brvbar ¦
    &bsl \ &bslash \ &bul *
    &bullet * &bxas * &bxbj *
    &bxcj * &bxcr * &bxde *
    &bxh - &bxle * &bxll *
    &bxlr * &bxri * &bxtj *
    &bxul * &bxur * &bxv |
    &caret ^ &Cc Ç &cc ç
    &cc ç &Ccedil Ç &ccedil ç
    &cdq " &cedil ¸ &cent ¢
    &char ' &colon : &comma ,
    &concat || &copr © &copy ©
    &copyr © &csq ' &curren ¤
    &currency ¤ &darrow V &dash -
    &dbls § &dblxclam !! &dblxclm !!
    &deg ° &degree ° &div ÷
    &divid ÷ &divslash / &dollar $
    &dot . &dotdot .. &Ea É
    &ea é &Eacute É &eacute é
    &Eb * &ebin ' &Ec Ê
    &ec ê &echar ' &Ecirc Ê
    &ecirc ê &ecircfl ê &Ee Ë
    &ee ë &Eg È &eg è
    &egml :e &Egrave È &egrave è
    &ehex ' &El * &ellip ...
    &ellipsis ... &emdash -- &endash -
    &eq = &eqsym = &equals =
    &Er * &Et * &ETH Ð
    &ETH Ð &Eth Ð &eth ð
    &Euml Ë &euml ë &female ª
    &fi fi &finespace   &fl fl
    &frac12 ½ &frac14 ¼ &frac18 1/8
    &frac34 ¾ &frac38 3/8 &frac58 5/8
    &frac78 7/8 &ge >= &gesym >=
    &gml : &grave ` &gt >
    &gtsym > &hex X' &hyphen -
    &Ia Í &ia í &Iacute Í
    &iacute í &Ic Î &ic î
    &Icirc Î &icirc î &Ie Ï
    &ie ï &iexcl ¡ &iff <=>
    &Ig Ì &ig ì &Igrave Ì
    &igrave ì &inve ¡ &invellip ·
    &iquest ¿ &Iuml Ï &iuml ï
    &Ju + &lahead < &laquo «
    &larrow < &lbrace { &lbracket [
    &lbrc { &lbrk [ &lbullet *
    &ldarraw <= &le <= &lesym <=
    &Lh - &Ll * &lnot ¬
    &lor | &lpar ( &lparen (
    &Lr * &Lsterling £ &lt <
    &ltsym < &Lv | &macr ¯
    &male º &mdash -- &micro µ
    &middot · &minus - &minusop -
    &mult × &nbsp   &ndash -
    &ne <> &nesym <> &not ¬
    &notsym ¬ &Nt Ñ &nt ñ
    &Ntilde Ñ &ntilde ñ &numsign #
    &Oa Ó &oa ó &Oacute Ó
    &oacute ó &Oc Ô &oc ô
    &Ocirc Ô &ocirc ô &odq "
    &Oe Ö &oe ö &OELIG OE
    &oelig oe &Og Ò &og ò
    &Ograve Ò &ograve ò &ordf ª
    &ordm º &Os Ø &os ø
    &Oslash Ø &oslash ø &osq '
    &Ot Õ &ot õ &Otilde Õ
    &otilde õ &Ouml Ö &ouml ö
    &oumlaut ö &ous o &par
    &para &per . &percent %
    &period . &plus + &plusend +
    &plusmin ± &plusmn ± &plusop +
    &pm ± &pound £ &quest ?
    &rahead > &raquo » &rarrow >
    &rbl   &rbrace } &rbracket ]
    &rbrc } &rbrk ] &rdarrow =>
    &reg ® &regtm ® &rpar )
    &rparen ) &sdq " &sect §
    &section § &semi ; &shy ­
    &slash / &slr / &ss ß
    &ssbl   &ssq ' &STAR *
    &sup1 ¹ &sup2 ² &sup3 ³
    &szlig ß &Td * &telephone Tel.
    &THORN Þ &Thorn Þ &thorn þ
    &tilde ~ &times × &Tl *
    &tm (TM) &Tr * &Tu *
    &Ua Ú &ua ú &Uacute Ú
    &uacute ú &uarrow ^ &Uc Û
    &uc û &Ucirc Û &ucirc û
    &Ue Ü &ue ü &ue ü
    &Ug Ù &ug ù &Ugrave Ù
    &ugrave ù &Ul * &uml ¨
    &Ur * &us _ &Uuml Ü
    &uuml ü &uumlaut ü &vbar |
    &vellip · &xclam ! &xclm !
    &Ya Ý &ya ý &Yacute Ý
    &yacute ý &ye ÿ &yen ¥
    &yuml ÿ




    &Symbol value attributes

    These are the &symbol value attributes supported by B2H. for more information on their usage, see the Script/VS User's Guide.

    Figure 18. Supported &symbol value attributes
    Value Attribute Description
    &E' Verifies existence of a symbol. Returns either a "1" or "0" depending on whether or not the character string following &E' is a defined symbol.
    &L' Determines the length of a symbol value or the number of characters in any character string.
    &T' Analyzes the symbol type. Replaces the character string with an "N" if the value is numeric or null, or a "C" if the value contains nonnumeric data.
    &U' Converts lowercase characters to uppercase.
    &V' Returns the value of the symbol. Within B2H, &V'&name is equivalent to &name.
    &W' Returns the width of a character string. Within B2H, &W'&name is equivalent to &L'&name.


    Script/VS control words


    Figure 19. Supported Script/VS control words
    The "How?" column contains an "S" if the command is supported via a System symbol table definition or an "I" if the command is supported via a B2H internal routine.
    Command How? Comments (fully supported unless specified otherwise)
    .BL S Mapped to new-paragraph
    .BR S Mapped to new-line
    .BX S Mapped to a horizontal-rule
    .CB S Mapped to new-paragraph
    .CE I Text is centered either by using monospaced leading blanks(16) or by using the HTML <CENTER> tag. The CENTERTAG= option (discussed in "Available B2H Options") specifies which technique is used.
    .CP S Mapped to new-paragraph
    .CS I
    .CT S Text included as-is.
    .DD I Only the LIB option is recognized (whether explicitly specified or defaulted); if DD, DSN or TERM, the entire command is ignored.
    .DM I Only the following two formats are supported:
      .dm name /stmt1/stmt2/ ... /stmtx[/]
     
      .dm name on
      stmt1
      stmt2
       ....
      stmtx
      .dm off
    

    Parameters on the macro (e.g. ".name parm1 parm2") and referencing them within the macro (e.g. &*, &*0, &*1, &*2 ...) is also supported.

    Markup that includes/excludes files and/or text is NOT supported within a user macro. This includes, but is not limited to: .im, .setup, .cs, :psc, :annot and the various DVCF macros.

    .EF I
    .EL I
    .FN I .FN ON mapped to :FN.
    .FN OFF mapped to :EFN.
    .FN LEADER places 16 dashes on a separate line
    .FO I .FO OFF mapped to <PRE>
    .FO ON mapped to </PRE>
    .FO CENTER is handled according to the CENTERTAG= option
    .FO LEFT and .FO RIGHT "terminate" a previous .FO command
    all other operands are ignored.
    .H0, .H1, .H2, .H3, .H4, .H5 and .H6 I Mapped to their GML equivalent (:Hx.).
    .IF I
    .IM I Passing of positional tokens not supported. See also the IMBFTEXT= option for requesting extended processing of the filetype when using the ".im (fn ft)" format of this command.
    .MG I
    .PA S Mapped to double new-paragraph
    .QQ I
    .QU I
    .RC I See the REVTAG= option for specifying the text to insert for marking revisions
    .RV I
    .SE I Formats supported:
    .SE symname OFF
    .SE symname [=] 'string'
    .SE symname [=] INDEX string1 string2
    .SE symname [=] SUBSTR string start stop
    .SE symname [=] arithmetic-expression
    .SI I Mapped to :ARTWORK NAME=name.
    .SK I
    .SP I
    .SX I Implemented using a monospaced font on a line whose width is specified using the LINEWIDTH= option
    .TA I
    .TC S Mapped to :TOC.
    .TD I
    .TH I
    .TI I
    .TR I
    .TY I
    .UC I
    .UP I
    .US I

    Control words not applicable or not supported; will be ignored

    .AA, .AN, .AP, .AR, .BC, .BF, .BM, .CC, .CD, .CL, .CM, .DA, .DC, .DF, .DH, .DL, .DR, .DS, .DU, .DV, .EC, .EM, .ES, .FL, .FV, .GO, .GS, .HR, .HW, .HY, .IC, .IE, .IL, .IN, .IR, .IS, .IT, .IX, .KP, .LB, .LI, .LL, .LO, .LS, .LT, .LY, .MC, .ME, .MS, .NF, .NL, .OC, .OF, .OR, .PF, .PI, .PL, .PM, .PN, .PT, .PW, .PX, .RD, .RE, .RF, .RH, .RI, .RN, .SA, .SB, .SC, .SO, .SS, .SU, .SV, .TE, .TM, .TP, .TS, .TU, .UD, .UN, .UW, .VR, .WF, .WS and .WZ


    BookMaster and GML macros


    Figure 20. Supported BookMaster and GML macros
    The "How?" column contains an "S" if the macro is supported via a System symbol table definition or an "I" if the macro is supported via a B2H internal routine.
    Macro How? Comments (fully supported unless specified otherwise)
    .CONFIG I
    .GETW I All operands supported except GMLTYPE= and SCALE=.
    .INWIDTH I
    .NAMECTR I All functions supported, but the GMLTYPE, SIZE and CTRTYPE parameters are ignored
    .NAMEFILE I In addition to the required NAME=, only the CMS= parameter is supported
    .NAMEIT I All options supported except SIZE=
    .SETDVCF I
    .SETUP I
    .TABRACK I The width of the line is determined by the value of the LINEWIDTH= option
    .WHEN I
    .usermacro I Macro defined previously using the .dm command. Parameters on the macro (e.g. .name parm1  parm2) and referencing them within the macro (e.g. &*, &*0, &*1, &*2 ...) is also supported.

    Macros not supported or not applicable; will be ignored

    .BLOCK, .BOOKMARK, .CCPTOC, .CCTOC, .GETREF, .GETWMAX, .GETWSUM, .INCLUDE, .LAYOUT, .MOD, .MODSET, .MODTRAP, .NAMEEPS, .NAMEF, .NAMESTYL, .PGCHECK, .TABREAK and .USING


    BookMaster and GML tags


    Figure 21. Supported BookMaster and GML tags
    The "How?" column contains an "S" if the tag is supported via a System symbol table definition or an "I" if the tag is supported via a B2H internal routine.
    Tag How? Comments (fully supported unless specified otherwise)
    :ABBREV. I
    :ABSTRACT. I
    :ADDRESS. I
    :ALINE. S
    :ANNOT. I (See also the ANNOT= or SYSVAR='A {YES|NO}' options)
    :ANSREF I
    :ANSWER I See also "Question and Answer tags"
    :APL. S
    :APPENDIX. I
    :ARTWORK. I If RULE specified or NAME= omitted, then the value for the HRTAG.1 option (normally <HR>) is inserted.

    (See also the ARTLINKIMG=, ARTSHOW= and ARTTYPE= options) If either CENTERTAG=YES or HTML=3 is specified, then the ALIGN=CENTER and ALIGN=RIGHT parameters are supported by enclosing the image reference with the <CENTER> ... </CENTER> HTML tags.

    :ASMLIST. S
    :ATTACH. S
    :AUTHOR. S
    :BACKM. I
    :BIBLIOG. I
    :BIN. S
    :BINDNUM. S Displayed where defined, since HTML has no "draft title page" concept
    :BLANK I See also "Question and Answer tags"
    :BODY. I
    :C. I
    :CAUTION. S
    :CGRAPHIC. S
    :CHAR. S
    :CHOICE I See also "Question and Answer tags"
    :CIT. I
    :CODE. S
    :CODEL. I All options supported. STYLE=RULE causes the value specified for the HRTAG.4 option (normally a <HR>) to be inserted around each :CODE. block, all other style values generate a blank line.
    :COPREXT. I
    :COPRNOTE. I
    :DANGER. S
    :DATE. I
    :DD. I
    :DDHD. I
    :DENTRY. I
    :DIALDEF. I Both with and without ID= parameter
    :DIALOG. I Mapped to HTML's <DL COMPACT> tag.
    :DIRDEF. I Both with and without ID= parameter
    :DIRECT. I Implemented using a monospaced font on a line 78 characters wide. REFID=, ALIGN= and COLS= supported.
    :DIRHDR. I
    :DIRSUB. I
    :DL. I REFID= and COMPACT supported.
    :DLDEF. I Both with and without ID= parameter
    :DOCNUM. S
    :DOCPROF. I Following parameters supported: BODYHD0=, BODYHD1=, FBC=, FTSEP=, HEADNUM=, QRESET= and TOC=
    :DT. I
    :DTHD. I
    :FIG. I ID=, REFID=, FRAME= and CONCAT= supported.

    When generating HTML 2 output, then if FRAME=NONE, the figure is preceded and followed by a blank line, otherwise the figure is preceded and followed by the value specified for the HRTAG.2 option (normally <HR>).

    When generating HTML 3, the figure is enclosed within a single-row, single-cell table (with BORDER turned on if FRAME is not NONE)

    :FIGCAP. I
    :FIGDEF. I Both with and without ID= parameter
    :FIGDESC. S
    :FIGREF. I
    :FILENUM. S Displayed where defined, since HTML has no "back cover" concept
    :FN. I All footnotes displayed at the end of the HTML file. (If the output HTML file is being broken into multiple output files, footnotes accumulated within that file are shown at the end of that particular file.)
    :FNREF. I
    :FRONTM. I
    :GD. I
    :GDG. I
    :GDOC. I SEC= and COPYR= supported
    :GL. I Only the COMPACT option is supported
    :GLOSSARY. I
    :GRPSEP. S
    :GT. I
    :H0., :H1., :H2., :H3., :H4., :H5., :H6., :H7., :H8., :H9., :H10., :H11., :H12., :H13., :H14., :H15., :H16., :H17., :H18., :H19. and :H20. I
    :HDREF. I
    :HEX. S
    :HP0. S No HTML equivalent; will be ignored
    :HP1. S Italics
    :HP2. S Bold
    :HP3. S Bold Italic
    :HP4. S Monospaced font
    :HP5. S Underlined
    :HP6. S Underlined Italic
    :HP7. S Underlined Bold
    :HP8. S Underlined Bold Italic
    :HP9. S Underlined monospaced font
    :I1., :I2., :I3., :IH1., :IH2. and :IH3. I INCLUDE= and PRINT= operands are ignored, as is an entry with PG=END
    :INDEX. I
    :IREF. I INCLUDE= operand ignored
    :L. I
    :LBLBOX. I If generating HTML 2 output, the width of the box header and trailer line is defined by the value of the LINEWIDTH= option. For HTML 3, a single-cell, two-row table is generated.
    :LDESC. I The DOCID= value points to the B2H DOCDESC.id option instead of the :DOCDESC tag.

    For the OBJTYPE= parameter, the HEAD, BOOK, FIG, TABLE and SPOT values are supported; all others are ignored.

    See "Interdocument linking (BookManager tags)" for more information.

    :LEDI. I
    :LEN. I
    :LERS. I If SEP=RULE specified, then the value for the HRTAG.10 option (normally <HR>) is inserted prior to each :LEN tag.
    :LERSDEF. I Both with and without ID= parameter
    :LI. I
    :LIBRARY. I See also "Recognizing and displaying the document's title"
    :LINES. I
    :LIREF. I See the LIREF= option for controlling how this tag is handled
    :LP. S
    :LQ. S
    :MATCH I See also "Question and Answer tags"
    :MCDEF. I Both with and without ID= parameter
    :MODULE. S
    :MSG. S
    :MSGL. I All options supported. STYLE=RULE causes the value specified for the HRTAG.4 option (normally a <HR>) to be inserted around each :CODE. block. All other style values generate a blank line.
    :MSGNO. S
    :MV. S
    :NOTE. I
    :NOTEL. I
    :NOTICES. S
    :NT. I
    :NUMBYTES. S
    :OL. I Only the COMPACT option is supported.
    :ORESP. S
    :P. S
    :PARML. S Mapped to HTML's <DL> tag. Only the COMPACT option is supported.
    :PARTNUM. S Displayed where defined, since HTML has no "back cover" concept
    :PD. S Mapped to HTML's <DD> tag
    :PK. I Nested :PK, including the DEF parameter, is supported
    :PREFACE. I
    :PRESP. S
    :PROBD. S
    :PRTLOC. S Displayed where defined, since HTML has no "back cover" concept
    :PSC. I See additional comments in "Caveats and restrictions (what's supported and what's not!)".
    :PT. S Mapped to HTML's <DT> tag
    :PTOC. I
    :PV. S
    :Q. S
    :QITEM I See also "Question and Answer tags"
    :QREF I
    :QUALIF. I The width of the qualification header and trailer line is defined by the value of the LINEWIDTH= option
    :QUESTION I See also "Question and Answer tags"

    KEEP=, COMPACT and LAYOUT= not supported

    :RELEASE. I
    :REV. I See the REVTAG= option for specifying the text to insert for marking revisions
    :REVISION. I
    :RK. S
    :ROW. I REFID= and TEMP options supported
    :SCHDATE. I
    :SCHDEF. I Both with and without ID= parameter
    :SCHEDULE. I Schedule tables are supported, but not schedule charts
    :SCHI. I
    :SCRDEF. I Both with and without ID= parameter
    :SCREEN. I The width of the screen image is determined by the WIDTH= option, or, if omitted, the value of the LINEWIDTH= option
    :SEVERITY. S
    :SL. I Only the COMPACT option is supported.
    :SOA. I
    :SPOT. I ID= and XREFTEXT= supported.
    :SPOTREF. I
    :SPRESP. S
    :SUB. S HTML does not define subscripts, so parentheses are used to simulate them
    :SUP. S HTML does not define superscripts, so square brackets are used to simulate them
    :SYNOPSIS. S
    :SYS. S Mapped to HTML's <DT> tag.
    :SYSACT. S
    :TABDATA. I REFID=, CHAR=, COLS= and ALIGN= (including fill-character) supported
    :TABDDEF. I Both with and without ID= parameter
    :TABLE. I Implementation is dependent on the HTML release being generated. REFID=, ALIGN=, COLS=, CONCAT=, and CWIDTHS= supported. VALIGN= also supported if HTML=3. If HTML=2, the width of the table is defined by the value of the LINEWIDTH= option For more information, see "Special information about tables".
    :TCAP. I
    :TDEF. I Both with and without ID= parameter
    :TDESC. I
    :TFT. I
    :THD. I
    :TIPAGE. S
    :TITLE. I STITLE= supported (see also "Recognizing and displaying the document's title")
    :TITLEP. I See also "Recognizing and displaying the document's title"
    :TLINE. S
    :TNOTE. I
    :TOC. I
    :TOPIC. I See also "Recognizing and displaying the document's title"
    :TP. S
    :TREF. I
    :UL. I Only the COMPACT option is supported.
    :URESP. S
    :USER. S Mapped to HTML's <DD> tag.
    :USERDOC. I SEC=, COPYR= and IBMCOPYR= supported
    :VENDOR. S Displayed where defined, since HTML has no "draft title page" concept
    :VERSION. I
    :VNHD. S
    :VNOTICE. I
    :VOLNUM. S
    :WARNING. S
    :XMP. S
    :XPH. S
    :XPL. S

    Not applicable or not supported; will be ignored

    :ARTALT., :ARTDEF., :AUTOLIK., :CAUSE., :CC., :CGDEF., :CI., :CIREF., :CLETTER., :CMT., :COMPANY., :COMPL., :COVER., :CT., :DC., :DELIM., :FIGLIST., :FIGSEG., :FLE., :FRAGMENT., :FRAGREF., :FROM., :GRID., :GRIDAREA., :GRIDDEF., :GRIDSEG., :GROUP., :IBMX., :INIT., :IZIP., :KWD., :LEGEND., :LITDATA :LOC., :MAP., :MAPDEF., :MAPQFIX., :MARKDESC., :MARKLIST., :MARKNT., :MD., :MKACTION., :MKCLASS., :MKINDEX., :NAME., :NETID., :NITEM., :OPER., :OVERART., :OVERLAY., :PARTSASM., :PC., :PGMNUM., :PHONE., :PNINDEX., :PROLOG., :QT., :REF., :REPSEP., :RETKEY., :REVCW., :REVPF., :REVPP., :REVPT., :REVSLUG., :SAFETY., :SCHNOTE., :SEP., :SIG., :SNOTICE., :ST., :STEP., :STEPREF., :SUBJECT., :SYNDEF., :SYNNT., :SYNNTREF., :SYNTAX., :TCE0., :TCE1., :TCE2., :TCE3., :TCE4., :TCE5., :TCE6., :TCE7., :TCE8., :TCE9., :TCE10., :TCE11., :TCE12., :TCE13., :TCE14., :TCE15., :TCE16., :TCE17., :TCE18., :TCE19., :TCE20., :TLE., :TLIST., :TO., :TPCODE., :VAR., :XMPDEF.


    Appendix B. &variables pre-defined by B2H

    In addition to the normal &variables provided by Script/VS, GML and BookMaster, B2H also provides a number of special-use &variables. Most often used within header and footer files and in conjunction with certain options, such as PARTLINK.x= and COMMENT=.
    &variable Contains
    &b2hcoprext Text specified for the :COPREXT tag (if any)
    &b2hcopyr Text specified for the COPYR= attribute (if any) on the :GDOC or :USERDOC tag
    &b2hheadnum Contains the header text of the most-recent :Hnum. tag. The text specified for the most-recent :H0. is stored in &b2hhead0, :H1. is in &b2hhead1, etc.

    When an :Hx. tag is encountered, all "lower" symbols are cleared. For example, if an :H2. tag is encountered, the &b2hhead3 symbol is cleared, &b2hhead4 is cleared, &b2hhead5 is cleared, etc.

    &b2hhtml The HTML release level being generated. Contains either the number "2" or the number "3".
    &b2hiall The fully-qualified name of the input file
      AIX:   /path/subdir/hh1.h2.hhh3
      OS/2:  c:\dir\subdir\fname.ext
      CMS:   fn ft fm
      WIN95: c:\dir\subdir\fname.ext
      WINNT: c:\dir\subdir\fname.ext
    
    &b2hibmcopyr Text specified for the IBMCOPYR= attribute (if any) on the :USERDOC tag
    &b2hipath The path of the input file (if appropriate)
      AIX:   /path/subdir/
      OS/2:  c:\dir\subdir\
      CMS:   (Null string)
      WIN95: c:\dir\subdir\
      WINNT: c:\dir\subdir\
    
    &b2hifile The non-path portion of the input file
      AIX:   hh1.h2.hhh3
      OS/2:  fname.ext
      CMS:   fn ft
      WIN95: fname.ext
      WINNT: fname.ext
    
    &b2hidate The input file's date stamp in yyyy-mm-dd format
    &b2hitime The input file's time stamp in hh:mm:ss format
    &b2holall The fully-qualified name of the logical output file
      AIX:   /path/subdir/hh1.h2.hhh3
      OS/2:  c:\dir\subdir\fname.ext
      CMS:   fn ft fm
      WIN95: c:\dir\subdir\fname.ext
      WINNT: c:\dir\subdir\fname.ext
    
    &b2holpath The path of the logical output file (if appropriate)
      AIX:   /path/subdir/
      OS/2:  c:\dir\subdir\
      CMS:   (Null string)
      WIN95: c:\dir\subdir\
      WINNT: c:\dir\subdir\
    
    &b2holfile The non-path portion of the logical output file
      AIX:   hh1.h2.hhh3
      OS/2:  fname.ext
      CMS:   fn ft
      WIN95: fname.ext
      WINNT: fname.ext
    
    &b2hopall The fully-qualified name of the physical output file
      AIX:   /path/subdir/hh1.h2.hhh3
      OS/2:  c:\dir\subdir\fname.ext
      CMS:   fn ft fm
      WIN95: c:\dir\subdir\fname.ext
      WINNT: c:\dir\subdir\fname.ext
    
    &b2hoppath The path of the physical output file (if appropriate)
      AIX:   /path/subdir/
      OS/2:  c:\dir\subdir\
      CMS:   (Null string)
      WIN95: c:\dir\subdir\
      WINNT: c:\dir\subdir\
    
    &b2hopfile The non-path portion of the physical output file
      AIX:   hh1.h2.hhh3
      OS/2:  fname.ext
      CMS:   fn ft
      WIN95: fname.ext
      WINNT: fname.ext
    
    &b2hparttop The applicable next/prev links for the top of an HTML output file. Normally specified inside a user header file. If the output file is not being split, this is a null string. Otherwise, this contains either the value of PARTLINK.1, PARTLINK.3, PARTLINK.5, PARTLINK.11, PARTLINK.13 or PARTLINK.15, depending on the circumstances.
    &b2hpartbot The applicable next/prev links for the bottom of an HTML output file. Normally specified inside a user footer file. If the output file is not being split, this is a null string. Otherwise, this contains either the value of PARTLINK.2, PARTLINK.4, PARTLINK.6, PARTLINK.12, PARTLINK.14 or PARTLINK.16, depending on the circumstances.
    &b2hplat A string containing both the platform on which B2H was run and the destination platform with a dash separating the two. If the current platform and the destination platform are the same, then the string contains only a single value.
    &b2hplatc The name of the current platform on which B2H is running, e.g. AIX, HPFS, OS2, CMS, WIN95, WINNT
    &b2hplatd The name of the destination platform, as specified by the DESTSYS= option
    &b2hrevchar Contains the revision character identifying the .rc command or :revision tag currently in effect (if any) -- intended for use in conjunction with the REVTAG= option
    &b2hsig The name, release number and internal level of the B2H program itself
    &b2huser The user ID executing the B2H program.
      AIX:   (Null string)
      OS/2:  (Null string)
      CMS:   by USERID at NODE
      WIN95: (Null string)
      WINNT: (Null string)
    
    Note: The following &variables are specifically intended for use within a PARTLINK.x= option, but can be used anywhere.
    &b2hbot HTML label for the bottom of the current HTML file
    &b2hidx HTML file/label for the start of the index (if generated)
    &b2hnext HTML file/label for the next HTML file
    &b2hprev HTML file/label for the previous HTML file
    &b2hthis Name of the current HTML file
    &b2htoc HTML file/label for the start of the Table-of-Contents
    &b2htop HTML label for the top of the current HTML file


    Footnotes:

    (1) For example, this might be used to ensure that all files contain standardized navigational links.

    (2) B2H may run on earlier versions of OS/2, but it has not been tested.

    (3) The REXX Compiler run-time libraries are required if the compiled version of B2H is to be used.

    (4) Windows 95 and Windows NT support requires IBM's ObjectREXX for Windows 95 and Windows NT. You can download it from the ObjectREXX home page at http://www2.hursley.ibm.com/orexx

    (5) If you will be using B2H on VM only, you can discard B2H ZIPBIN.

    (6) If you will be browsing the HTML output on a platform other than OS/2, you can tell B2H to customize it's output for that platform, like:

      B2H fn ft fm ( DESTSYS=AIX
      B2H fn ft fm ( DESTSYS=VM
      B2H fn ft fm ( DESTSYS=WIN95
      B2H fn ft fm ( DESTSYS=WINNT
    

    (7) On AIX, you may need to specify the "-a" option when unzipping to remove the ctrl-M characters.

    (8) Note that the left-parenthesis must be quoted to prevent the shell from interpreting it and causing an error.

    (9) AUTOPART is not available if B2H is running as a CMS pipeline filter

    (10) The syntax of the specified file must satisfy the naming convention for the platform on which you are running B2H. See "Specifying a file" for more information.

    (11) Multiple "dot" commands can be defined by separating each command with semi-colons. For example: V='.ce line 1;.ce line 2'

    (12) See "Specifying the location and file names when splitting the HTML output" for overriding the location and names given to each output HTML file part.

    (13) See "Specifying the location and file names when splitting the HTML output" for overriding the location and name given to the output HTML file part created at this point.

    (14) A sample CGI script is provided in the zip file that you can use as an example. QUEST.KSH is designed as a KORN shell to be run under AIX using IBM's Internet Connection Server.

    (15) However, program syntax tags such as :PARML., :PK. and :PV. are supported

    (16) The number of leading blanks is determined by the line width as specified by the LINEWIDTH= option.