B2H User's Guide (HTML 3 version)

Copyright (c) 2001-2002 AT&T

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

Release 4.7

Gary Richtmeyer
grichtmeyer@att.com

AT&T Corporation
AT&T Labs
3405 W. Dr. Martin Luther King Jr. Blvd
Tampa, Florida 33607
 
Formatted on Monday, May 20, 2002 at 16:02:26
HTML 3 version generated by B2H R4.7 (390)

20 May 2002

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


Abstract

B2H reads files written in BookMaster, Generalized Markup Language (GML), Script/VS, and even 'flat' files, and converts them into 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, Linux, MVS (OS/390), OS/2, VM/ESA, Windows 95/98/ME, Windows NT/2000/XP and Unix. On VM/ESA, B2H can run either as a stand-alone EXEC or as a CMS pipeline filter. On MVS, B2H can run either as a stand-alone program or as a MVS/BatchPipeWorks pipeline filter.


Release summary

Details on the changes made for each B2H release are documented in Appendix E, "B2H release history".


Table of Contents

Abstract

Release summary

Figures

Chapter 1. What is B2H?

  • 1.1 Highlights and Features of B2H
  • Chapter 2. Obtaining and Installing B2H

  • 2.1 Prerequisites
  • 2.1.1 REXX
  • 2.1.2 Platforms
  • 2.1.3 Hardware
  • 2.2 Obtaining B2H
  • 2.2.1 Via the Internet
  • 2.2.2 IBM employees
  • 2.3 B2H installation
  • 2.3.1 Installation on a PC (AIX, Linux, OS/2, Windows 95/98/ME, Windows NT/2000/XP and Unix)
  • 2.3.2 Installation on MVS
  • 2.3.3 Installation on VM
  • 2.3.4 Content of the B2H package
  • Chapter 3. Invoking B2H

  • 3.1 How B2H determines the current platform
  • 3.2 Specifying a file
  • 3.2.1 Specifying a file under VM/CMS
  • 3.2.2 Specifying a dataset under MVS (OS/390)
  • 3.3 Invoking B2H under AIX, Linux or Unix
  • 3.4 Invoking B2H under MVS as a stand-alone program
  • 3.5 Invoking B2H under MVS as a BatchPipeWorks pipeline filter
  • 3.6 Invoking B2H under OS/2
  • 3.7 Invoking B2H under VM/ESA as a stand-alone EXEC
  • 3.8 Invoking B2H under VM/ESA as a CMS pipeline filter
  • 3.9 Invoking B2H under Windows 95/98/ME and Windows NT/2000/XP
  • 3.10 Return codes
  • 3.11 Specifying B2H options
  • Chapter 4. Customizing B2H

    Chapter 5. Using B2H

  • 5.1 Specifying the input file's format
  • 5.1.1 Converting BookMaster and GML files (SOURCE=SCRIPT)
  • 5.1.2 Converting Script/VS files (SOURCE=SCRIPTONLY)
  • 5.1.3 Converting 'flat' files (SOURCE=FLAT)
  • 5.2 Specifying the output file
  • 5.2.1 Specifying the output file under MVS
  • 5.2.2 Output file considerations under MVS
  • 5.2.2.1 Creating Hierarchical File System (HFS) files
  • 5.3 Cross-Platform considerations
  • 5.4 Layout of the output HTML file
  • 5.5 Controlling B2H using statements within the source file
  • 5.6 Recognizing and displaying the document's title
  • 5.7 Including explicit HTML statements
  • 5.8 Including/excluding text when converting to HTML
  • 5.8.1 Within BookMaster
  • 5.8.2 Within Script/VS
  • 5.9 Splitting the output HTML file into multiple files
  • 5.9.1 Navigation when splitting the HTML output file
  • 5.9.2 Specifying the location and file names when splitting the HTML output
  • 5.10 National Language Support (NLS) considerations
  • 5.10.1 Converting NLS characters
  • 5.10.2 Generating non-English text from BookMaster tags and functions
  • 5.10.3 Ensuring the index is sorted appropriately
  • 5.10.4 Putting it all together
  • 5.11 Question and Answer tags
  • 5.11.1 Generating normal text
  • 5.11.2 Generating HTML forms
  • 5.11.3 Hyperlinks
  • 5.11.4 Question and Answer appearance
  • 5.12 Interdocument linking (BookManager tags)
  • 5.13 Cross-referencing multi-volume documents
  • 5.14 Supporting custom tags, control words, macros or symbols
  • 5.15 Invoking an external program
  • Chapter 6. Caveats and restrictions (what's supported and what's not!)

  • 6.1 Special information about tables
  • 6.1.1 Table support with HTML Release 2
  • 6.1.2 Table support with HTML Release 3 and higher
  • Chapter 7. Troubleshooting and Frequently-Asked-Questions (FAQ)

  • 7.0.1 FAQ 1: Links jumping to top-of-file
  • 7.0.2 FAQ 2: Why aren't revision codes showing?
  • 7.0.3 FAQ 3: *OPTION record in source causing problems
  • 7.0.4 FAQ 4: Including text so it appears ONLY when converted
  • 7.0.5 FAQ 5: Changing HTML tags generated by B2H
  • 7.0.6 FAQ 6: Can't create multiple vertical table cells
  • 7.0.7 FAQ 7: Overriding attributes on the :DOCPROF tag
  • 7.0.8 FAQ 8: Suppressing B2H messages on the terminal
  • 7.0.9 FAQ 9: XEDITG line drawing characters don't look right
  • 7.0.10 FAQ 10: Syntax diagram characters don't look right
  • 7.0.11 FAQ 11: Will B2H generate HTML 4 tags?
  • 7.0.12 FAQ 12: REXX error messages under AIX handling the index
  • 7.0.13 FAQ 13: Using Cascading Style Sheets (CSS)
  • 7.0.14 FAQ 14: Creating a "clickable" web link
  • 7.0.15 FAQ 15: Ignoring source record line numbers
  • Chapter 8. B2H Profile

  • 8.1 Syntax of a B2H profile record
  • 8.1.1 Environment-specific definitions
  • 8.2 Available B2H Options
  • 8.2.1 Description of B2H Options
  • Chapter 9. B2H Symbol Table

  • 9.1 Syntax of a B2H Symbol Table record
  • 9.1.1 Continuation
  • 9.2 Symbol Table Parameters
  • 9.2.1 Specifying '&symbols'
  • 9.2.2 Specifying Script/VS control words and BookMaster/GML macros
  • 9.2.2.1 Special replacement text values for :CMD.
  • 9.2.3 Specifying BookMaster/GML tags
  • 9.2.3.1 Special replacement text values for :TAG.
  • 9.2.4 Translation of single-byte values
  • Chapter 10. Examples

  • 10.1 Lists
  • 10.2 Tables
  • 10.3 Shading
  • 10.4 Directory lists
  • 10.5 Notes
  • 10.6 Question and Answers (TEXT mode)
  • 10.6.1 Fill-in-the-blank
  • 10.6.2 True/False
  • 10.6.3 Multiple-choice
  • 10.6.4 Matching
  • 10.6.5 Ordering
  • 10.6.6 Answers to sample questions
  • 10.7 Question and Answers (HTML FORM mode)
  • 10.7.1 Fill-in-the-blank
  • 10.7.2 True/False
  • 10.7.3 Multiple-choice
  • 10.7.4 Matching
  • 10.7.5 Ordering
  • 10.7.6 Answers to sample questions
  • 10.8 Figure with a screen image
  • 10.9 Labeled box
  • 10.10 Tabbed data
  • 10.11 :LINES and :XMP
  • 10.12 Schedules
  • 10.13 Messages and Codes
  • 10.13.1 A standard Message List with STYLE=RULE
  • 10.13.2 A modified Message List with COMPACT and STYLE=BOX
  • 10.13.3 A standard Code List with COMPACT
  • 10.13.4 A modified Code List with COMPACT and STYLE=BOX
  • 10.14 Interactive dialogs
  • 10.15 Line drawings (e.g. XEDITG, CHARGES)
  • 10.16 Syntax drawings
  • Appendix A. Symbols, control words, macros and tags supported by B2H

  • A.1 &Symbols
  • A.2 System &Symbols
  • A.3 &Symbol value attributes
  • A.4 Script/VS control words
  • A.5 BookMaster and GML macros
  • A.6 BookMaster and GML tags
  • Appendix B. &Symbols pre-defined by B2H

    Appendix C. B2H Messages

    Appendix D. Bibliography

    Appendix E. B2H release history

  • E.1 Updates for B2H Release 4.7
  • E.2 Updates for B2H Release 4.6
  • E.3 Updates for B2H Release 4.5
  • E.4 Updates for B2H Release 4.4
  • E.5 Updates for B2H Release 4.3
  • E.6 Updates for B2H Release 4.2
  • E.7 Updates for B2H Release 4.1
  • E.8 Updates for B2H Release 4.0, 4.01 and 4.02

  • Figures

    2-1. Suggested naming conventions if downloading individual files
    2-2. FILE and DSN= defaults for system datasets under MVS
    3-1. Specifying a dataset under MVS (OS/390)
    5-1. Input/Output Naming Conventions
    5-2. Using OUTPUTP= under MVS
    5-3. Layout of the output HTML file
    5-4. .*B2H statements
    8-1. B2H options - Overview
    8-2. Some coded character sets
    8-3. DEFTEXT.name= values
    8-4. MVSALLOC.name= values
    8-5. Script-to-HTML mapping for the OLSEQ= option
    8-6. SETUPTAG.tagname values
    8-7. Default SHADE.name= option values
    9-1. Specifying an '&symbol'
    9-2. Specifying a Script/VS control word and/or BookMaster/GML macro
    9-3. Specifying a BookMaster/GML tag
    9-4. Specifying a character translation
    10-1. Example: The caption for a simple table with no frame
    10-2. Example: A simple table with a frame
    10-3. Example: Same table with additional embellishments
    10-4. Example: A complex table with varying columns by row
    10-5. Default appearances for SHADE
    10-6. Example: figure with light blue shading
    10-7. Example: This is the figure caption using the :figcap. tag
    A-1. Supported &symbols
    A-2. System &symbols
    A-3. Supported &symbol value attributes
    A-4. Supported Script/VS control words
    A-5. Supported BookMaster and GML macros
    A-6. Supported BookMaster and GML tags


    Chapter 1. What is B2H?

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

    B2H is a REXX program that runs under AIX, Linux, MVS (OS/390), OS/2, VM/ESA, Windows 95/98/ME, Windows NT/2000/XP and Unix. On VM/ESA, B2H can run either as a stand-alone EXEC or as a CMS pipeline filter. On MVS, B2H can run either as a stand-alone program or as an MVS/BatchPipeWorks 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 do not 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 Chapter 6, "Caveats and restrictions (what's supported and what's not!)".


    1.1 Highlights and Features of B2H


    Chapter 2. Obtaining and Installing B2H


    2.1 Prerequisites

    2.1.1 REXX

    B2H is written in REXX and requires that REXX be installed on the machine on which it is executed. Two different "flavors" of REXX can be used:

    2.1.2 Platforms

    One of the following platforms on which to run B2H:

    A web browser to view the output HTML file.

    2.1.3 Hardware

    No known restrictions


    2.2 Obtaining B2H

    2.2.1 Via the Internet

    B2H is available on IBM's VM download page on the Internet at http://www.vm.ibm.com/download

    On that site, you can download either of two files containing the B2H system: B2H.VMARC (a VMARC-type file) or B2H.ZIP (a "traditional" ZIP-type file). The VMARC file contains the "base" install files, plus the following: a copy of B2H compiled for VM; a copy of B2H compiled for MVS; a LIST3820 version of the B2H User's Guide; and a copy of the ZIP file itself. The ZIP file contains just the "base" install files.

    2.2.2 IBM employees

    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
    

    2.3 B2H installation

    B2H is easy to install and use right "out-of-the-box". Later, you may wish to do some customization to tailor B2H's operation to your environment and to take advantage of some of the more powerful B2H and HTML features.

    2.3.1 Installation on a PC (AIX, Linux, OS/2, Windows 95/98/ME, Windows NT/2000/XP and Unix)

    1. If you downloaded the ZIP file from the Internet directly onto your PC, go to step 3.

      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).

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

    3. Further installation information for AIX, Linux and Unix users:

    4. Further installation information for Windows 95/98/ME and Windows NT/2000/XP users:

    5. B2H is now installed and ready to run!

    Let's try some examples:

    If desired, customize to your needs (see Chapter 4, "Customizing B2H").

    2.3.2 Installation on MVS

    1. If you downloaded the ZIP file from the Internet directly onto your PC, unzip the file and upload the files to your TSO user ID.

      Caution:
      The files were created on a U.S. system. If uploading to a non-U.S. system, be careful to ensure you use the correct translate table. An incorrect translate table during upload can often cause "Invalid character in program" error messages when trying to execute B2H.

      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).6 Then send the files to the TSO user ID doing the installation.

      If you ordered the package from an internal IBM tools disk, have the files sent directly to your TSO user ID.

    2. Three groups of files comprise B2H: the program itself, the system files, and the optional files.

    The following examples assume that B2H can be implicitly invoked (the PDS in which it resides has been allocated to either SYSEXEC or SYSPROC) and that the system files have already been allocated similar to the following:

    ALLOC FI(B2HPRO)  DA(system-profile-dataset)      SHR REUSE
    ALLOC FI(B2HSYM)  DA(system-symbol-table-dataset) SHR REUSE
    ALLOC FI(B2HHELP) DA(system-helpfile-dataset)     SHR REUSE
    

    If desired, customize to your needs (see Chapter 4, "Customizing B2H").

    2.3.3 Installation on VM

    1. 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).6

      If you downloaded the ZIP file from the Internet directly onto your PC, unzip the file and upload the files to your VM user ID.

      Caution:
      The files were created on a U.S. system. If uploading to a non-U.S. system, be careful to ensure you use the correct translate table. An incorrect translate table during upload can often cause "Invalid character in program" error messages when trying to execute B2H.

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

      Two versions of the B2H program are available for VM: B2H SEXEC is the REXX source code and B2H EXEC is the VM REXX compiled version. The compiled version runs much faster but requires the REXX compiler run-time libraries. The source code runs slower, but has no additional dependencies. Ensure that the filetype of the desired version is "EXEC".

    2. B2H is now installed and ready to run!

    Let's try some examples:

    If desired, customize B2H to your needs (see Chapter 4, "Customizing B2H").

    2.3.4 Content of the B2H package

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


    Chapter 3. Invoking B2H


    3.1 How B2H determines the current platform

    At startup, B2H first determines under which REXX it is running (see also 2.1.1, "REXX"). B2H then 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.


    3.2 Specifying a file

    A file's specification ("filespec") must satisfy the naming convention of the platform for which the file is being specified. For example, when running B2H on AIX, the input filespec must conform to AIX naming conventions.
    e.g. B2H /u/johndoe/project2/overview.script

    Many B2H options allow you to specify a filespec, which also must conform to the naming convention of the appropriate platform. For example, if you run B2H on OS/2 and explicitly specify the name of the physical output file, the output filespec must conform to OS/2 naming conventions.
    e.g. B2H ... ( OUTPUTP=c:\pubs\abc.htm

    3.2.1 Specifying a file under VM/CMS

    If specifying a file using VM/CMS naming conventions on a B2H option, you must enclose it within single or double-quotes since the name contains blanks
    e.g. B2H ... ( OUTPUTP='ABC HTML A'

    3.2.2 Specifying a dataset under MVS (OS/390)

    When specifying a dataset under MVS, you should follow normal TSO/E naming conventions: if enclosed in single-quotes, the dataset is used as-is, else it is preceded by your TSO/E prefix (normally your user ID). You can also identify the dataset by specifying the DD to which the dataset is allocated.

    Figure 3-1 lists the various ways that any of the three datasets referenced in the following example can be specified:

     B2H dataset1 ( OUTPUTP=dataset2 HEADER=dataset3
    

    Figure 3-1. Specifying a dataset under MVS (OS/390)
    Value specified Refers to
    ABC.SCRIPT userid.ABC.SCRIPT
    'ABC.SCRIPT' ABC.SCRIPT
    ABC.SCRIPT(MEM1) Member MEM1 of userid.ABC.SCRIPT
    'ABC.SCRIPT(MEM1)' Member MEM1 of ABC.SCRIPT
    DD:ddname The sequential dataset(s) allocated to ddname
    DD:ddname(member) Member member within the partition data set(s) allocated to ddname


    3.3 Invoking B2H under AIX, Linux or Unix

    This assumes you have installed B2H according to the steps described in 2.3.1, "Installation on a PC (AIX, Linux, OS/2, Windows 95/98/ME, Windows NT/2000/XP and Unix)".

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

    3.4 Invoking B2H under MVS as a stand-alone program

    Ensure that B2H can find its system files by either FILE/DDcard 8 or dataset name (see Installing the B2H system files and Step 2 - Specify the location of the system files for more information).

    If installed to allow implicit execution:
      B2H  inputfilespec  [ ( option1=value1 ... optionx=valuex [)] ]
     
    If exlicit execution is required:
      EXEC PDSfilespec(B2H) 'inputfilespec  [ ( option1=value1 ... optionx=valuex [)] ]' EXEC
    
    See 3.2.2, "Specifying a dataset under MVS (OS/390)" for specifying the inputfilespec.

    3.5 Invoking B2H under MVS as a BatchPipeWorks pipeline filter

    Ensure that B2H can find its system files by either FILE/DDcard 9 or dataset name (see Installing the B2H system files and Step 2 - Specify the location of the system files for more information).

      PIPE ... | REXX B2H [ ( option1=value1 ... optionx=valuex [)] ] | ...
    
    In order to invoke a B2H as a pipeline filter, you must allocate the file REXX to the partition data set containing the B2H program. Further information on invoking user-written pipeline filters is available in "IBM BatchPipes/MVS BatchPipeWorks Reference", order number GC28-1217.

    3.6 Invoking B2H under OS/2

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

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

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

    3.8 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 [)] ] | ...
    

    3.9 Invoking B2H under Windows 95/98/ME and Windows NT/2000/XP

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


    3.10 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

    You can use the PROCACT= option to control how B2H handles various processing situations (which also affects the return code).


    3.11 Specifying B2H options

    B2H supports a wide variety of processing options (for a complete list, see 8.2, "Available B2H Options"). The 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:


    Chapter 4. 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 workstation 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

    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 3.11, "Specifying B2H options".

    Options whose values are commonly changed:

      BODYTAG=         HEADER=          IMBPATH=
      DESTSYS=         HTML=            IMGPATH=
      DLFMT=           IMBEDID=         LOG=
      FOOTER=          IMBFT=
      GLFMT=           IMBFTEXT=
    

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

    Step 4 - Update the B2H symbol file

    If you have custom symbols, control words, 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 8.2, "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. 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.

    Step 7 - Customize the generated HTML

    Using the default options, the HTML markup generated by B2H should satisfy most people. However, if you have special needs, facilities are available by which you can customize the generated HTML markup:


    Chapter 5. Using B2H

    Partial Table-of-Contents

  • 5.1 Specifying the input file's format
  • 5.1.1 Converting BookMaster and GML files (SOURCE=SCRIPT)
  • 5.1.2 Converting Script/VS files (SOURCE=SCRIPTONLY)
  • 5.1.3 Converting 'flat' files (SOURCE=FLAT)
  • 5.2 Specifying the output file
  • 5.2.1 Specifying the output file under MVS
  • 5.2.2 Output file considerations under MVS
  • 5.2.2.1 Creating Hierarchical File System (HFS) files
  • 5.3 Cross-Platform considerations
  • 5.4 Layout of the output HTML file
  • 5.5 Controlling B2H using statements within the source file
  • 5.6 Recognizing and displaying the document's title
  • 5.7 Including explicit HTML statements
  • 5.8 Including/excluding text when converting to HTML
  • 5.8.1 Within BookMaster
  • 5.8.2 Within Script/VS
  • 5.9 Splitting the output HTML file into multiple files
  • 5.9.1 Navigation when splitting the HTML output file
  • 5.9.2 Specifying the location and file names when splitting the HTML output
  • 5.10 National Language Support (NLS) considerations
  • 5.10.1 Converting NLS characters
  • 5.10.2 Generating non-English text from BookMaster tags and functions
  • 5.10.3 Ensuring the index is sorted appropriately
  • 5.10.4 Putting it all together
  • 5.11 Question and Answer tags
  • 5.11.1 Generating normal text
  • 5.11.2 Generating HTML forms
  • 5.11.3 Hyperlinks
  • 5.11.4 Question and Answer appearance
  • 5.12 Interdocument linking (BookManager tags)
  • 5.13 Cross-referencing multi-volume documents
  • 5.14 Supporting custom tags, control words, macros or symbols
  • 5.15 Invoking an external program

  • 5.1 Specifying the input file's format

    The SOURCE= option specifies the format of the input file.

    5.1.1 Converting BookMaster and GML files (SOURCE=SCRIPT)

    It does not matter to B2H whether your documents are written using BookMaster markup or Generalized Markup Language (GML) markup because BookMaster and GML tags do not conflict with each other and the processing rules are the same. When SOURCE=SCRIPT is specified (the default value), B2H treats the input simply as a "script"-type document.

    BookMaster tags and processing rules are described fully in IBM BookMaster User's Guide, order number SC34-5009. GML tags and processing rules are described fully in IBM Document Composition Facility Generalized Markup Language Starter Set Reference, order number SH20-9187.

    Script/VS control words (e.g. .br, .cp) may be freely intermixed within your text and markup. Although GML and BookMaster have restrictions on which Script/VS control words may be used, B2H makes no such distinction and will process whatever is present in your source document.

    The use of a control word separator (normally a semi-colon unless changed using .DC) is supported, but only if a Script/VS control word starts in column one.

      This is OK:
        .br;This sentence starts on a new line
        .sk;.sk;Text after two line skips
     
      The following is treated as a single line of text:
        Vocal music is best sung acapella;.br
    

    5.1.2 Converting Script/VS files (SOURCE=SCRIPTONLY)

    Documents written using only Script/VS control words tend to be more difficult to convert to HTML. Whereas GML and BookMaster tags describe a document's content and therefore convert fairly easily to HTML's content-oriented language, Script/VS control words are precise formatting directives specifying exactly how the output document is to appear on a particular output device. HTML does not provide this level of formatting granularity.

    Depending on how your document is written and the control words used, it may convert correctly using SOURCE=SCRIPT as described previously in 5.1.1, "Converting BookMaster and GML files (SOURCE=SCRIPT)". It is suggested that you try this approach first.

    If the HTML output is not acceptable, it may be because the processing rules for "pure" Script/VS documents are slightly different than for BookMaster or GML. These rules are described fully in IBM Document Composition Facility Script/VS Language Reference Guide, order number SH35-0070. To tell B2H to use these processing rules, specify SOURCE=SCRIPTONLY. This causes the following changes.

    If the HTML output is still not acceptable, you will need to either edit the HTML output to get what you want or update your input source.

    5.1.3 Converting 'flat' files (SOURCE=FLAT)

    To indicate that a 'flat' file is being processed, just 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".

    Because many 'flat' files are simple paragraphs of text with a blank line between the paragraphs, two additional operands on the SOURCE= option allow specialized processing. For these types of 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 normally also specify TITLE='text' since no BookMaster, GML or Script/VS markup will be present for B2H to recognize as the title. If TITLE= is not specified for a 'flat' file, the first non-blank line is used as the title.

    Example:

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

    VM Example: Convert your PROFILE EXEC

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

    PC Example: Convert your C:\CONFIG.SYS

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

    MVS Example: Convert a member from SYS1.PROCLIB:

      B2H 'SYS1.PROCLIB(TSO)' ( SOURCE=FLAT TITLE='This is SYS1.PROCLIB(TSO)'
    

    5.2 Specifying the output file

    B2H keeps track of two algorithms for the output file: the physical file name created on the current platform and the logical file name used by the HTML HREF= parameter (which must match the physical name when the HTML file is handled by the server). This is discussed in more detail in 5.3, "Cross-Platform considerations".

    In most situations, you will not need to specify these names as B2H will determine them based on the input file and the platform(s) involved. But if you wish to specify them, use the OUTPUTP= option to specify the physical file name and the OUTPUTL= option to specify the logical file name.

    When might you want to specify the output file names?

    The following table contains examples of the relationship between the input and output file names.

    Figure 5-1. Input/Output Naming Conventions
    The "2nd File" value refers to the file name used when "splitting" the output HTML file. See 5.9, "Splitting the output HTML file into multiple files" for more information.
    Input File Value specified for OUTPUTP= 1st Physical File
    2nd Physical File
    Value specified for OUTPUTL= 1st Logical File
    2nd Logical File
    On AIX, Linux, OS/2 HPFS, UNIX
    abc.script (none) abc.html
    abc02.html
    (none) abc.html
    abc02.html
    abc.script def.html def.html
    def02.html
    (none) def.html
    def02.html
    abc.script def.html def.html
    def02.html
    xyz.html xyz.html
    xyz02.html
    abc.longerthan.script (none) abc.longerthan.html
    abc.longerthan02.html
    (none) abc.longerthan.html
    abc.longerthan02.html
    abc.longerthan.script def.twothree.html def.twothree.html
    def.twothree02.html
    (none) def.twothree.html
    def.twothree02.html
    abc.longerthan.script def.twothree.html def.twothree.html
    def.twothree02.html
    xyz.twothree.html xyz.twothree.html
    xyz.twothree02.html
    On OS/2 FAT, Windows 9x/ME, Windows NT/2000
    abc.scr (none) abc.htm
    abc02.htm
    (none) abc.htm
    abc02.htm
    abc.scr defghij.htm defghij.htm
    defghi02.htm
    (none) defghij.htm
    defghi02.htm
    abc.scr defghij.htm defghij.htm
    defghi02.htm
    xyz.htm xyz.htm
    xyz02.htm
    On MVS
    ABC.DEF.SCRIPT (none) ABC.DEF.HTML
    ABC.DEF02.HTML
    (none) abc.def.html
    abc.def02.html
    ABC.DEF.SCRIPT DEF.TWOTHREE.HTML DEF.TWOTHREE.HTML
    DEF.TWOTHR02.HTML
    (none) def.twothree.html
    def.twothr02.html
    ABC.DEF.SCRIPT DEF.TWOTHREE.HTML DEF.TWOTHREE.HTML
    DEF.TWOTHR02.HTML
    xyz.twothree.html xyz.twothree.html
    xyz.twothr02.html
    ABC.DEF.SCRIPT(MEM5) (none) ABC.DEF.MEM5.HTML
    ABC.DEF.MEM502.HTML
    (none) abc.def.mem5.html
    abc.def.mem502.html
    ABC.DEF.SCRIPT(MEM5) ABC.XYZ.HTML ABC.XYZ.HTML
    ABC.XYZ02.HTML
    (none) abc.xyz.html
    abc.xyz02.html
    ABC.DEF.SCRIPT(MEM5) ABC.XYZ.HTML ABC.XYZ.HTML
    ABC.XYZ02.HTML
    def.xyz.html def.xyz.html
    def.xyz02.html
    ABC.DEF.SCRIPT ONE.TWO(MEM5) ONE.TWO(MEM5)
    ONE.TWO(MEM502)
    (none) one.two(mem5)
    one.two(mem502)
    ABC.DEF.SCRIPT ONE.TWO(MEM5) ONE.TWO(MEM5)
    ONE.TWO(MEM502)
    abc.xyz.html abc.xyz.html
    abc.xyz02.html
    On VM
    ABC SCRIPT A (none) ABC HTML A
    ABC02 HTML A
    (none) abc.html
    abc02.html
    ABC SCRIPT A DEFGHIJ HTML B DEFGHIJ HTML B
    DEFGHI02 HTML B
    (none) defghij.html
    defghi02.html
    ABC SCRIPT A DEFGHIJ HTML B DEFGHIJ HTML B
    DEFGHI02 HTML B
    xyz.html xyz.html
    xyz02.html

    5.2.1 Specifying the output file under MVS

    Just as the input file can be specified either by dataset name or by DD, the physical output file can also be specified either by dataset name or by DD (see 3.2.2, "Specifying a dataset under MVS (OS/390)").

    5.2.2 Output file considerations under MVS

    By default, B2H creates one or more sequential output files when converting a source document.

    Under MVS, you can instead have B2H create one or more members in a partitioned data set (PDS). To do this, just ensure that the OUTPUTP= option references both a dataset name and an initial member name. (See also 3.2.2, "Specifying a dataset under MVS (OS/390)".) Here are the different ways to do it:

    Figure 5-2. Using OUTPUTP= under MVS
    Specified Output dataset Initial member Comments
    B2H ... ( OUTPUTP=PROJ1.HTML(MEM1) PROJ1.HTML MEM1 When the dataset name is explicitly specified like this, then if the dataset exists prior to invoking B2H, the member(s) will be added to it; if the dataset does not exist prior to invoking B2H, the dataset will be created. (See the MVSALLOC= option for how to specify the allocation values.)
    ALLOC FI(DD1) DA(PROJ1.HTML(MEM1))
    B2H ... ( OUTPUTP=DD:DD1
    PROJ1.HTML MEM1
    ALLOC FI(DD1) DA(PROJ1.HTML)
    B2H ... ( OUTPUTP=DD:DD1(MEM1)
    PROJ1.HTML MEM1
    ALLOC FI(DD1) DA(PROJ1.HTML(MEM1))
    B2H ... ( OUTPUTP=DD:DD1(MEM2)
    PROJ1.HTML MEM2 Note that the member name specified for OUTPUTP= overrides the member name on the file allocation

    5.2.2.1 Creating Hierarchical File System (HFS) files

    If you are running OpenEdition, you may wish to have the output file(s) placed into an HFS directory. This can be easily done using the following three-step process:

    1. Run B2H specifying that the physical output should be one or more members of a temporary PDS and that the logical output filename includes the HFS directory where you will ultimately place the files. For example:
      B2H filespec ( OUTPUTP=temp.pds(mydoc) OUTPUTL=/usr/htmlfiles/mydoc.html

    2. Use the OPUTX command to copy the member(s) to the same HFS directory as specified for the OUTPUTL= option. For example:
      OPUTX temp.pds '/usr/htmlfiles/' LC SUFFIX(html)

    3. Erase the temporary PDS

    For example: if we assume that into the temporary PDS, B2H created the MYDOC, MYDOC02 and MYDOC03 members, then OPUTX would copy those members as /usr/htmlfiles/mydoc.html, /usr/htmlfiles/mydoc02.html and /usr/htmlfiles/mydoc03.html.


    5.3 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 a Linux 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 current platform ("currsys") is the same as the destination platform ("destsys") specified by the B2H DESTSYS= option, 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 "currsys"-related values based on the current platform and the "destsys"-related values based on the DESTSYS= option, but you can override any of these values using the appropriate option:

    Here's an example: if you convert "project1.script" on AIX with DESTSYS=OS2, the default physical output file is "project.html" (because AIX supports long file names) and the logical name is "project1.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


    5.4 Layout of the output HTML file

    You have considerable control over the layout and content of the output HTML. Each output HTML file consists of three major sections: the header, the body and the footer.

    Figure 5-3. Layout of the output HTML file
      Record(s) Obtained from where?
    Header section of the HTML file
    1. File content identifier DEFTEXT.HTMLHEAD= and HTMLDOCID.htmlrel= options
    2. <HTML><HEAD> Generated by B2H
    3. <TITLE>title</TITLE> Document's title (see 5.6, "Recognizing and displaying the document's title")
    4. B2H identifier (optional) COMMENTHEAD= option
    5. User comment records(s) (optional) COMMENT= option(s)
    6. Various meta-type records (optional)
    1. Abstract of file (optional)
    2. Security information (optional)
    3. Contact information (optional)
    4. File owner (optional)
    5. Content-type (optional)
    6. File updated
    7. Review date
    8. Expires date
    9. Keywords (optional)
    Controlled by META= option
    1. ABSTRACT= option
    2. SECURITY= option
    3. CONTACT= option
    4. OWNER= option
    5. CHARSET= option
    6. Date/time of the input file
    7. REVDATE= option
    8. EXPDATE= option
    9. METAKEYS= option
    7. Any other records to include in the header section (optional) HEADREC= and HEADREC.x= option(s)
    8. </HEAD> Generated by B2H
    Body section of the HTML file
    1. <BODY> statement BODYTAG= option
    2. Mast head image (optional) MASTHEAD= and MASTALT= options
    3. User header records (optional) HEADER= option(s)
    4. <Hx>title</Hx>
    (optional top-of-page title)
    TOPHEAD= option
    5. Top-of-page navigation links if splitting the HTML output (optional) SPLITLINK= and SPLITLINK.x options
    6. The text of the document itself Input file
    Footer section of the HTML file
    1. List of footnotes Any footnotes accumulated within the current physical file
    2. Bottom-of-page navigation links if splitting the HTML output (optional) SPLITLINK= and SPLITLINK.x options
    3. User footer records (optional) FOOTER= option(s)
    4. </BODY></HTML> Generated by B2H


    5.5 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 and symbol table definitions, provide explicit HTML text to be passed directly to the output, indicate where the output file should be "split", and other functions.

    The statement has two acceptable syntaxes:

    .*B2H [(env)] type [ options ]
    This is the preferred syntax and explicitly identifies that the statement is intended for use by B2H. This syntax also allows you to specify that the statement is applicable only to certain environment(s) by indicating the environment name(s) within parentheses immediately after the ".*B2H". See 8.1.1, "Environment-specific definitions" for further information on specifying the desired selection criteria.

    If the B2HREQ=YES option is specified (the default value), this is the only syntax that B2H recognizes.

    .*type [ options ]
    This syntax has a less-obvious intent and might cause confusion between B2H and other programs which also "look" at your source. B2HREQ=NO must be specified for B2H to recognize this syntax.
    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 following statement types are available:

    Figure 5-4. .*B2H statements

    Provide explicit HTML text:
       .*B2H  [(env)]  HTML  ...html-text...
    
    Issue a message
       .*B2H  [(env)]  MSG   type [ identifier ], message-text
    
    Specify B2H options:
       .*B2H  [(env)]  OPTION  option=value  [ option2=value2 ... optionx=valuex ]
    
    Specify B2H a symbol table definition:
       .*B2H  [(env)]  SYMBOL  symbol-table-statement
    
    Force a split of the output HTML file:
       .*B2H  [(env)]  SPLIT   [ physical-file ], [ logical-file ]
    

    .*B2H [(env)] HTML ...html-text...
    This statement allows you to insert explicit HTML statements into 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.
    

    See 8.1.1, "Environment-specific definitions" for further information on specifying the desired selection criteria.

    .*B2H [(env)] MSG type [ identifier ] , message-text
    This statement allows you to issue messages (and set the B2H return code) from within the document. Can also be returned from a user exit program supporting a user tag to reflect any warning or error conditions.

    env
    See 8.1.1, "Environment-specific definitions" for further information on specifying the desired selection criteria.

    type
    The "type" of message to be issued
    INFO The message is for "informational" purposes only. The return code is not altered.
    WARNING The message describes a warning. The return code is set to 4, if not already higher.
    ERROR The message describes an error condition. The return code is set to 8, if not already higher.
    TERM The message describes a termination condition. The return code is set to 8 and B2H is immediately terminated.

    identifier
    An optional message number or identifier.
    • If omitted, no message identifier is shown
    • If a numeric value, it is shown as the message number in "B2Hnnn", e.g. "B2H987".
    • Any other value is shown as the entire message identifier

    message-text
    The message to display. &symbol substitution is supported.

    Examples:

      .*B2H MSG info, This is an info-type message
      .*B2H MSG warning 980, A warning message
    

    .*B2H [(env)] 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 3.11, "Specifying B2H options" for additional information).

    Notes:

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

    2. It is generally 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. Options that set paths should always be specified first!

    3. &symbol substitution is supported, both within an option's value and an option's operand, such as:
        .se mytitle = 'How To Play The Piano'
        :title.&mytitle
        .*B2H option title='&mytitle'
       
        .nameit symbol=revcode    text='v11'
        .nameit symbol=revcolor   text='red'
        .*B2H option revtag.&revcode='<font color=&revcolor>,</font>'
      

    4. See 8.1.1, "Environment-specific definitions" for further information on specifying the desired selection criteria.

    5. Certain options require special handling by B2H. If you wish 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 is 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=
        LOG=        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
      .*B2H (pc) OPTION imbft=sct
    

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

    .*B2H [(env)] SYMBOL symbol-table-statement
    This statement allows you to specify a B2H symbol table statement. See Chapter 9, "B2H Symbol Table" for what types of statements are available.

    Notes:

    1. There can be multiple .*B2H SYMBOL statements in a source file

    2. See 8.1.1, "Environment-specific definitions" for further information on specifying the desired selection criteria.

    Examples:

      .*B2H SYMBOL :tag.  HP1  IT=N VAT=N ATT=N SE=Y V='<font color="red">'
      .*B2H SYMBOL :tag. EHP1  IT=N VAT=N ATT=N SE=Y V='</font>'
    

    .*B2H [(env)] SPLIT [ physical-file ], [ logical-file ]
    This statement forces the output HTML to be "split" at this point.

    Notes:

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

    2. See 8.1.1, "Environment-specific definitions" for further information on specifying the desired selection criteria.

    3. The optional file name values are normally not specified (see 5.9.2, "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)

    4. For compatibility with older releases of B2H, a statement type of "BREAK" is also recognized,
      e.g. .*B2H BREAK ...

    5.6 Recognizing and displaying the document's title

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

    (See also 5.4, "Layout of the output HTML file")

    What determines the document's title?

    1. If B2H's TITLE= option is specified, the value is used as the title, 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 3a through 3e, 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

    5.7 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 5.5, "Controlling B2H using statements within the source file" for further information about this feature.

    5.8 Including/excluding text when converting to HTML

    It is often desirable to dynamically include (or exclude) text depending on whether or not it is being converted to HTML. B2H allows you to accomplish this using the same methods consistent with what you normally use to include/exclude text.

    5.8.1 Within BookMaster

    BookMaster's :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 also defines the generic "HTML" process to signify that HTML output is being generated. Additional process names are also defined based on the specific type of HTML being generated (see the HTML= option).
    Process When set
    HTML Always (signifies that HTML is being generated)
    HTML2 HTML 2 is being generated
    HTML2+ HTML 2 (or higher) is being generated
    HTML3 HTML 3 is being generated
    HTML3+ HTML 3 (or higher) is being generated
    HTML4 HTML 4 is being generated
    HTML4+ HTML 4 (or higher) is being generated

    Here are some examples:

      :psc proc=html.
      :p.Include me ONLY when converting this text to HTML
      :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.
     
      :psc proc=html4.
      :p.Include me ONLY when converting this text to HTML 4
      :epsc.
     
      :psc proc='html2 html3'.
      :p.Include me ONLY when converting this text to HTML 2
      or HTML 3
      :epsc.
     
      :psc proc='html3+'.
      :p.Include me ONLY when converting this text to HTML 3
      or higher.
      :epsc.
    

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

    5.8.2 Within Script/VS

    B2H sets Script/VS's &$LDEV (logical output device) and &$PDEV (physical output device) symbols to the same value specified for the HTML= option (e.g. HTML2, HTML3, HTML4). By examining either of these symbols, you can determine whether HTML is being generated and act appropriately.

    Example 1: Insert a sentence if HTML 3 is being generated

      .if &$LDEV = HTML3
      .th Add this sentence if generating HTML3 output
    

    Example 2: Imbed a file if HTML (any release) is being generated

      .se temp = SUBSTR &$LDEV 1 4
      .if &temp = HTML .th .im htmlonly
    

    5.9 Splitting the output HTML file into multiple files

    B2H supports "splitting" the output HTML into multiple physical files. This is useful for large source documents, 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.

    Note: Splitting the output HTML file is not available if SOURCE=FLAT is specified or if B2H is running as a pipeline filter.

    The first output HTML file part is named "normally" (e.g. abc.htm). Subsequent parts have a suffix attached to the filename (e.g. abc02.htm, abc03.htm, abc04.htm, etc) 10 The number and type of digits in the suffix is controlled by the SPLITDIGITS= option (default is two decimal 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 5.9.2, "Specifying the location and file names when splitting the HTML output" for overriding this behavior.)

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

    The effect of the AUTOSPLIT= option:

    AUTOSPLIT=NO

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

    AUTOSPLIT=YES

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

    AUTOSPLIT=num

    The output is split into multiple files with each split ocurring when an :Hx header at the specified level is encountered. (Example: if AUTOSPLIT=1 is specified, each :H1. causes a split.) If a .*B2H SPLIT statement is encountered, it too will cause a split. The heading level specified for num should be the most-significant level heading used in the source document.

    AUTOSPLIT=*num

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

    AUTOSPLIT=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"

    AUTOSPLIT=BYPASS=num

    If splitting the output by :Hx or :LEN LEHD=x, this attribute allows you to specify how many :Hx or :LEN LEHD=x tags to bypass after a more significant header before splitting takes place. If omitted, BYPASS=0 is assumed.

    For example, the amount of text occuring between an :H0 and it's first :H1 is usually minimal, so it is often desirable to include the first :H1 in the same file as the :H0. Specifying AUTOSPLIT="*1 BYPASS=1" allows you to split the file at each :H0 and each :H1 except that the file is NOT split at the first :H1 after an :H0.

    A more general example should illustrate the principle: assume AUTOSPLIT="*2 BYPASS=1"

       :H0
        :H1
         :H2
       (split)
         :H2
       (split)
         :H2
       (split)
        :H1
         :H2
       (split)
         :H2
       (split)
       :H0
        :H1
         :H2
       (split)
         :H2
    

    AUTOSPLIT=IMBED

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

    AUTOSPLIT=SETUP

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

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

    For an example, try processing this document using AUTOSPLIT='*1 BYPASS=1' and view the result.

    5.9.1 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

    SPLITLINK={YES|NO}

    SPLITLINK=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 SPLITLINK.x= options.

    SPLITLINK=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, "&Symbols pre-defined by B2H" for more information on these two symbols.

    SPLITLINK.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 8.2, "Available B2H Options".

    5.9.2 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:

    Both the SPLITDIR.x= and SPLITNAME.x= options allow you to name the output files on either a static or dynamic basis.

    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 5.3, "Cross-Platform considerations" for further information about this distinction.

    2. If the .*B2H SPLIT statement is used to split the output and both the .*B2H SPLIT statement and a SPLITNAME.x= option specify a file name, the name on the .*B2H SPLIT 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 unless you specify the environment on which a particular option should be processed, like this:
        .*B2H (PC)  OPTION SPLITNAME.NEXT='CMDBEG.HTM,cmdbeg.htm'
        .*B2H (CMS) OPTION SPLITNAME.NEXT='CMDBEG HTM,cmdbeg.htm'
        :H1.The BEGIN command
        (discussion of the BEGIN command)
          .
          .
        .*B2H (PC)  OPTION SPLITNAME.NEXT='CMDLOGO.HTM,cmdlogo.htm'
        .*B2H (CMS) OPTION SPLITNAME.NEXT='CMDLOGO HTM,cmdlogo.htm'
        :H1.The LOGOFF command
        (discussion of the LOGOFF command)
          .
          .
      

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


    5.10 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.

    5.10.1 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. You can also use the CHARSET= option to specify the language of the coded character set.

    If you have documents with language-specific characters entered as a single character, you can use the :XLATEO. 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:

      :XLATEO. A5 V='&uml;'
    
    Note that the hex value for a specific character may be different on a mainframe (EBCDIC encoding) than on a PC workstation (ASCII encoding). Here's a hypothetical example of defining an umlaut translation based on the current platform:
      (CMS) :XLATEO. A5 V='&uml;'
      (MVS) :XLATEO. A5 V='&uml;'
      (PC)  :XLATEO. B7 V='&uml;'
    
    See 9.2.4, "Translation of single-byte values" for more information on the :XLATEO. 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.

    5.10.2 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.

    5.10.3 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.

    5.10.4 Putting it all together

    If you have done the previous three sections, then you probably have a user symbol table with a number of :XLATEO. 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'
        SPLITLINK.16='<A HREF="&b2htoc">Tabla de Materias</A> &#124;'
        USERSYM="B2HSPAN SYMBOL"
     
      In the user symbol table: B2HSPAN SYMBOL
        (CMS) :XLATEO. A5 V='&uml;'
                 "     "      "
        (PC)  :XLATEO. 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.

    5.11 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]'
    

    10.6, "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.

    5.11.1 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 10.6, "Question and Answers (TEXT mode)" for an example of this.

    5.11.2 Generating HTML forms

    If QUESTION=FORM, each :QUESTION/:EQUESTION block is converted to an HTML form. (See 10.7, "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 12 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.

    5.11.3 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.

    5.11.4 Question and Answer appearance

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


    5.12 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'
    

    5.13 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.b2hxrefs           (LINUX)
        userid.file.B2HXREFS    (MVS)
        file.B2X                (OS/2)
        file B2HXREFS           (VM)
        file.B2X                (WIN95)
        file.B2X                (WINNT)
        file.b2hxrefs           (UNIX)
      

    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 the 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

      Note: if running on a PC platform, you should specify IBMFTEXT='YES,LC' to ensure that the "DSMREFS" filetype is mapped appropriately when the .im macro is processed.


    5.14 Supporting custom tags, control words, macros or symbols

    If your documents contain custom tags, control words, 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.


    5.15 Invoking an external program

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

      :CMD. mytag  V='&PGM pgmname  [ parm1 parm2 ... parmx. ]'
     
      :TAG. mytag  V='&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 control word or macro)

    TAG

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

    tagtext
    If invoked via a :CMD. definition, this is the control word or 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 control word, macro or tag.

    Text line(s) returned by the external program can consist of any or all of the following: normal text, Script/VS control words, GML and/or BookMaster tags, .*B2H statements, HTML markup, etc. The text to be inserted into the data stream is returned to B2H using either or both of two methods:

    See the .*B2H MSG statement on how to pass information back to B2H for displaying messages and setting a return code.

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


    Chapter 6. Caveats and restrictions (what's supported and what's not!)

    B2H supports most commonly-used Script/VS (DCF), GML, and BookMaster control words, macros and tags (Appendix A, "Symbols, control words, macros and tags supported by B2H" contains support information for each specific control word, macro and tag). But there are some areas which you should be aware:

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


    6.1 Special information about tables

    Support for HTML tables was introduced in HTML 3 and most modern browsers support HTML 3.

    However, there are still some people using old or unconventional browsers that understand only HTML 2 (specifically IBM's Web Explorer prior to Release 1.03). Since tables are so common in BookMaster documents, B2H provides special built-in support when generating HTML 2 output. Most table options are handled, including dynamically changing the number of columns on a row-by-row basis.

    6.1.1 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.

    6.1.2 Table support with HTML Release 3 and higher

    Because HTML 3 and higher 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. Some BookMaster table features (such as text rotation) are not available in HTML. Other BookMaster table features are available, but restrictions apply.

    HTML table 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 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, please be aware of the following items:

    Specifying horizontal and vertical cell alignment

    As mentioned previously, BookMaster's table support is more robust and flexible than that provided by HTML. Although HTML 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 requirement that cell data be in ascending sequence may cause to you restructure your table definitions.


    Chapter 7. Troubleshooting and Frequently-Asked-Questions (FAQ)

    The following is a synopsis of commonly-occuring problems and questions.

    7.0.1 FAQ 1: Links jumping to top-of-file


    Q1: "When using my browser to view the HTML created by B2H, most of the links work fine. But some links just jump to the TOP of the file instead of to the named anchor within the file. Why is this happening?"
    A1: This is a browser problem. Some older browsers mistakenly ignore a link's "anchor" if the anchor has no text (e.g. <A NAME="ABC"></A> as opposed to <A NAME="ABC">this is some text</A>). This causes the browser to jump to the top of the page instead of to the anchor itself. Common occurances of this problem include bottom-of-file links, links for index references and certain links for :SPOT.

    If your browser exhibits this behavior, you can use B2H's undocumented ANCHORTEXT= option to specify a text string to be used whenever a link's anchor would otherwise be null. ANCHORTEXT='&nbsp;' has worked well for some people. Link anchors that would normally be empty would now be <A NAME="ABC">&nbsp;</A>. This will generally circumvent the browser problem, but note that extra blanks may now appear in your text.

    7.0.2 FAQ 2: Why aren't revision codes showing?


    Q2: "Why aren't revision codes showing when I browse my document?"
    A2: Although B2H recognizes the :REV/:EREV tags and .rc control word, HTML itself doesn't provide the ability to show a revision character. So you must tell B2H what HTML to generate for identifying revised text. The REVTAG= option allows you to do just that.

    One technique that works well is to display the revised text in color (the technique used by this user's guide). The following example, using BookMaster's :REV/:EREV tags, illustrates how to display revised text in green (assuming your browser understands the <FONT COLOR=#rrggbb> tag).

      .*B2H option revtag.v2='<font color="#00FF00">,</font>'
      :revision id=v2  char='%' run=yes.
      Version 1 uses method A and
      :rev refid=v2.
      Version 2 uses method B.
      :erev refid=v2.
      So be sure to specify the correct version.
    
    Which results in:
      Version 1 uses method A and
      <font color="#00FF00">
      Version 2 uses method B.
      </font>
      So be sure to specify the correct version.
    

    And looks like this: "Version 1 uses method A and Version 2 uses method B. So be sure to specify what you want."

    Here's the same example using the ".RC" control word:

      .*B2H option revtag.1='<font color="#00FF00">,</font>'
      .rc 1 |
      Version 1 uses method A and
      .rc 1 on
      Version 2 uses method B.
      .rc 1 off
      So be sure to specify the correct version.
    

    7.0.3 FAQ 3: *OPTION record in source causing problems


    Q3: "An .*OPTION record in the source (it's used by another program) is causing B2H to generate error messages. How can I make B2H ignore this record?"
    A3: Some documents contain .*OPTION statements for use by other programs -- print preprocessors are a common example. If you don't want the record inspected for B2H options, ensure that B2HREQ=YES is specified (the default value). This is described in more detail in 5.5, "Controlling B2H using statements within the source file".

    7.0.4 FAQ 4: Including text so it appears ONLY when converted


    Q4: "How do I include text so that it appears ONLY when my document is converted to HTML?"
    A4: There are two ways to accomplish this:

    7.0.5 FAQ 5: Changing HTML tags generated by B2H


    Q5: "How can I change the HTML tags generated by B2H?"
    A5: Depends on what you want to change:

    • If B2H handles a specific control word, macro or tag via a simple one-for-one mapping (e.g. ":HP1" is simply changed to "<I>"), just update the definition in the symbol table. Appendix A, "Symbols, control words, macros and tags supported by B2H" contains a list of all control words, macros and tags and how they are supported. Chapter 9, "B2H Symbol Table" describes the symbol table itself.

    • Some tags cause B2H to generate different types of HTML, depending on how and in what context the tag is used. Many of the commonly-used tags have B2H options specifically for defining the HTML to generate in a variety of situations. For example, the DLTAG.name= option allows you to specify the HTML to support the :DL tag. See also Step 7 - Customize the generated HTML

    • In some cases, B2H generates the HTML based on a large number of factors, so it is not possible to specify what you want in advance. However, the HTMLATT.name= option allows you to provide attributes for certain HTML tags whenever they are generated. See the HTMLATT= option for more information.

    7.0.6 FAQ 6: Can't create multiple vertical table cells


    Q6: "In a BookMaster table, my script creates two vertical cells in a single row by specifying multiple occurances of the :C tag, like this:
      :table cols='* *'.
      :row.
      :c 1.Cell 1A
      :c 1.Cell 1B
      :c 2.next horizontal cell
    
    But B2H is not generating the two vertically-stacked cells. Why not? (I'm also getting an error message about out-of-sequence table cells)"
    A6: You are generating rows with vertically-aligned cells without using the :TABLE tag's ARRANGE= attribute to describe the layout. (Whether this is a "good" markup practice is a different discussion!) B2H does not support the idiom of not using ARRANGE= for vertically arranging cells. The error message is because B2H detected two definitions for the same cell.

    7.0.7 FAQ 7: Overriding attributes on the :DOCPROF tag


    Q7: "I'm trying to override some of the attributes coded on my document's :DOCPROF tag, but :DOCPROF is overriding the B2H options regardless of whether they are on the command line or in a profile. How can I override the :DOCPROF attributes?"
    A7: 3.11, "Specifying B2H options" documents the hierarchy of how options are handled. But the bottom line is that statements within the document itself always override any B2H command-line or profile options. If you include a .*B2H OPTION statement within your document after the :DOCPROF tag, that will do it.

    7.0.8 FAQ 8: Suppressing B2H messages on the terminal


    Q8: "I know I can use the LOG= option to save the console messages to disk. But can I tell B2H to NOT display the messages on the terminal itself?"
    A8: Yes. During a conversion, B2H generates messages showing the status of the conversion. The LOG= option specifies if you want a copy of these messages saved to a disk file. The QUIET and NOISY options control whether the messages are displayed on the terminal. See QUIET and NOISY options for more information.

    7.0.9 FAQ 9: XEDITG line drawing characters don't look right


    Q9: "I have an XEDITG line drawing (inside an :XMP/:EXMP) that contains nice graphic arrows and box characters when I print it on the mainframe. But when I view the HTML output using a browser, there's no graphic characters, just asterisks and plus signs. Why?"
    A9: This is a World-Wide-Web limitation. Web browsers display text using the characters defined in various code pages (the most common being ISO-Latin-1). None of the available code pages contain the drawing characters, such as box corners, intersections and arrows. So B2H defines these characters (via the system symbol table) as asterisks and plus signs as the best approximation. Your alternatives are:

    • Create a separate GIF or JPEG file for each graphic character and define the appropriate file for the appropriate symbol, or

    • Convert the entire drawing into a one big GIF or JPEG file, or

    • If you have a monospaced font that contains the drawing characters you need, you can use the SETUPTAG= option to load the font and then redefine the drawing symbols to reference the the appropriate character. Assume you have a font called "courierx" that contains the up-arrow and down-arrow characters at positions 99 and 100, respectively. Further assume that your drawing uses the "&Au" and "&Ad" symbols to represent the up and down arrows. First, change the symbol table definitions for "&Au" and "&Ad" to reference the appropriate character:
        :SYM. Au    V='&#99;'   -- Define the up-arrow
        :SYM. Ad    V='&#100;'  -- Define the down-arrow
      
      Then, use the SETUPTAG option to load the font for examples:
        SETUPTAG.XMP='<font face="courierx">','</font>'
      

    7.0.10 FAQ 10: Syntax diagram characters don't look right


    Q10: "My document has a number of syntax diagrams and although they format OK, they don't include the box corners, intersections and arrow characters that show when I print the document on the mainframe. Is this something I can customize?"
    A10: This is similar to 7.0.9, "FAQ 9: XEDITG line drawing characters don't look right". None of the standard code pages available via web browsers contain drawing characters, such as box corners, intersections and arrows. So B2H generates asterisks, plus signs and greater-than/less-than characters as the best approximation.

    The actual characters used in a syntax diagram are specified using the appropriate DEFTEXT= option. For each part of a syntax diagram, you can specify the character(s) you desire, including plain text, HTML symbols, even GIF files. Note that if you display a GIF, the GIF's vertical/horizontal size must be a multiple of a character's vertical/horizontal size in the current font, otherwise alignment problems may occur.

    Additionally, if you have a monospaced font that contains the drawing characters you need, you can use the SETUPTAG= option to load the font and then use DEFTEXT to reference the the appropriate character. Assume you have a font called "courierx" that contains the top-left and top-right box characters at positions 192 and 193, respectively. The following options show how the font could be loaded and the appropriate characters referenced:

      SETUPTAG.SYNTAX='<font face="courierx">','</font>'
      DEFTEXT._UPPERLEFT='&#192;',1
      DEFTEXT._UPPERRIGHT='&#193;',1
    

    7.0.11 FAQ 11: Will B2H generate HTML 4 tags?


    Q11: "I see that B2H's HTML= option allows me to specify HTML 4. Does this mean that B2H will generate HTML 4 tags?"
    A11: The vast majority of HTML 4-only tags are not needed to support the conversion process. But, if you specify HTML=4, B2H will generate a few tags that are exclusive to HTML 4 (such as <SPAN STYLE="font-size:xx%"> to provide enhanced support for the SCALE= attribute).

    In addition, since B2H allows you to specify profile options and symbol table entries based on the HTML level, you can specify HTML 4-specific items yourself. For example, you might want to define the table-of-contents layout using HTML specific to the HTML level being generated -- something like this:

      (HTML=2) TOCTAG=" ... HTML 2 markup for a TOC ... "
      (HTML=3) TOCTAG=" ... HTML 3 markup for a TOC ... "
      (HTML=4) TOCTAG=" ... HTML 4 markup for a TOC ... "
    

    7.0.12 FAQ 12: REXX error messages under AIX handling the index


    Q12: "We're getting error messages from IBM's AIX REXX while B2H is processing an index entry (e.g. :ih1, :ih2, :ih3). Some of our index references are fine, whereas others are incorrect."
    A12: B2H uses the three index levels (i1, i2 and i3) combined together as the index's "pointer" (technically speaking, it's the "tail" of a stemmed variable). On most platforms, REXX does not limit the length of this pointer; but using IBM's REXX on AIX, the length can not exceed 240 characters. There's nothing that B2H can do about this restriction. When running on AIX using IBM's REXX and converting a document with extremely long index levels, you may have to update the index level text.

    7.0.13 FAQ 13: Using Cascading Style Sheets (CSS)


    Q13: "How do I use Cascading Style Sheets (CSS) within B2H? I would like some definitions to affect all aspects of the document and other definitions to be used specifically, e.g. :hp3 to display red text on a yellow background using the Arial font. Is this possible?"
    A13: Yes. CSS enables you to control almost any aspect of a page's appearance. Without going into the details of how CSS works, in essence you place the CSS definitions into the header section of the HTML file. Each definition specifies a selector and it's associated properties. Any text associated with the selector is displayed using the specified properties.

    For example, the following HTML segment uses CSS to define the color and font-size properties for all H1 and H2 elements:

      <HEAD>
      <STYLE TYPE="text/css">
        H1 { font-size: x-large; color: red }
        H2 { font-size: large; color: blue }
      </STYLE>
      </HEAD>
      <BODY>
    

    To cause :HP3 to display text using specific properties, first define a CSS selector (using a name of your choice) with the desired properties. Then update the B2H symbol table definition for :HP3 to reference the CSS selector (normally using <SPAN>).

    The following example puts it all together. To simplify this example, the HEADREC= option (which inserts records into the header section of an output HTML file) and the symbol table updates are included within the source file:

      .*----- do the CSS definitions -----
      .*b2h option headrec.text='<style type="text/css">'
      .*b2h option headrec.text='H1    { font-size: x-large; color: red  }'
      .*b2h option headrec.text='H2    { font-size: large;   color: blue }'
      .*b2h option headrec.text='.app1 { background-color: yellow; color: red;'
      .*b2h option headrec.text='        font-family: arial, helvetica }'
      .*b2h option headrec.text='</style>'
      .*----- update the :HP3/:EHP3 symbol table definitions -----
      .*b2h symbol :TAG.  HP3 IT=N VAT=N ATT=N SE=Y V='<span class="app1">'
      .*b2h symbol :TAG. EHP3 IT=N VAT=N ATT=N SE=Y V='</span>'
     
      :h1.Start the CSS example (this line in red)
      :p.Text in :hp1.(italic):ehp1. mode.
      :p.Text in :hp2.(bold):ehp2. mode.
      :p.Text in :hp3.(red on yellow):ehp3. mode.
      :p.Text in :hp4.(monospaced):ehp4. mode.
    

    p.s. Here's a productivity tip: if you have a quite a few CSS statements, including them individually can get bulky. CSS allows you to place the definitions into a separate file (called an "external style sheet") and then link it into the document using HTML's <LINK> tag within the header section, like so:

      <HEAD>
      <link rel="stylesheet" type="text/css" href="filespec">
      </HEAD>
      <BODY>
    

    If we place the following CSS statements into the file "common.css":

      H1      { font-size: x-large; color: red  }
      H2      { font-size: large;   color: blue }
      .app1   { background-color: yellow; color: red;
                font-family: arial, helvetica }
    
    Then the following would cause the CSS records to be loaded dynamically at browse time:
      .*b2h option headrec.text='<link rel="stylesheet" type="text/css" href="common.css">'
    

    7.0.14 FAQ 14: Creating a "clickable" web link


    Q14: "My document contains a sentence like this:
       For more information, go to http://www.acme.com
    When the document is printed, I want the website URL to be listed "as-is", but when the document is converted to HTML, I want the URL to be a hyperlink so the user can click on it. How do I do that?"
    A14: This is easy to do based on the techniques described in 5.8, "Including/excluding text when converting to HTML".

    Solution using BookMaster tags:

      For more information, go to
      :psc proc=html.
      .*b2h html <a href="http://www.acme.com">http://www.acme.com</a>
      :epsc.
      :psc xproc=html.
      http://www.acme.com
      :epsc.
    
    It's often easier and simpler to have a macro for this rather than coding all those lines each time. This User's Guide uses the "website" macro for just this reason and it looks like this:
      .dm website on
      :psc proc=html.
      .*B2H HTML <A HREF="http://&*">http://&*</A>
      :epsc.
      :psc xproc=html.
      http://&*
      :epsc.
      .dm off
    
    Your example can now be written like this:
      For more information, go to
      .website www.acme.com
    

    Solution using Script/VS control words:

      For more information, go to
      .se temp = SUBSTR &$LDEV 1 4
      .if &temp = HTML
      .th .*b2h html <a href="http://www.acme.com">http://www.acme.com</a>
      .el http://www.acme.com
    
    As before, you may wish to use a macro to do the work for you.
      .dm website on
      .se temp = SUBSTR &$LDEV 1 4
      .if &temp = HTML
      .th .*B2H HTML <A HREF="http://">http://&*</A>
      .el http://&*
      .dm off
    
    Your example would be written the same as before:
      For more information, go to
      .website www.acme.com
    

    7.0.15 FAQ 15: Ignoring source record line numbers


    Q15: "The source records for my document contain line numbers in colums 73 to 80 and those line numbers are showing up in the output. Is there a way to have B2H ignore line numbers?"
    A15: Yes, see the LINENUM= option. In your specific case, try:
      B2H ... ( LINENUM=73-80
    
    
    

    Chapter 8. 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 3.11, "Specifying B2H options".

    Many B2H options allow you to specify a file. See 3.2, "Specifying a file" for platform considerations when specifying the file.


    8.1 Syntax of a B2H profile record

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

    8.1.1 Environment-specific definitions

    You can specify that a physical record be applicable only for certain environments by indicating the criteria 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 currently 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.

    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

    LINUX

    Signifies the Linux platform

    MVS

    Signifies the MVS (OS/390) platform

    OS2

    Signifies the OS/2 platform using the FAT file system

    PC

    Signifies the AIX, Linux, OS/2 (both FAT and HPFS), Windows 95/98/ME, Windows NT/2000/XP or UNIX platforms

    WIN95

    Signifies Windows 95/98/ME

    WINNT

    Signifies Windows NT/2000/XP

    UNIX

    Signifies the Unix platform

    (HTML=release) option=value ...
    This record is applicable if the HTML release level being generated is applicable for the specified release level.

    Valid release values:

    2

    HTML 2 is being generated

    2+

    HTML 2 (or higher) is being generated

    3

    HTML 3 is being generated

    3+

    HTML 3 (or higher) is being generated

    4

    HTML 4 is being generated

    4+

    HTML 4 (or higher) is being generated

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

    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
      (HTML=4)            ... use only if creating HTML 4 output
      (DEST=CMS HTML=2)   ... use if creating HTML 2 for VM/CMS
    
    Another example: Define the IMBFT option differently based on platform
      (AIX)   IMBFT=script
      (CMS)   IMBFT=SCRIPT
      (HPFS)  IMBFT=script
      (LINUX) IMBFT=script
      (OS2)   IMBFT=scr
      (WIN95) IMBFT=scr
      (WINNT) IMBFT=scr
      (UNIX)  IMBFT=script
    

    If no parenthesed criteria is specified, the record is applicable in all environments.

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


    8.2 Available B2H Options

    Figure 8-1. B2H options - Overview

     Destination system
     DESTSYS={ AIX | HPFS | LINUX | MVS | OS2 | VM | WIN95 | WINNT | UNIX }
    
     Input File Characteristics
     EXPDATE=[yyyymmdd | {+|-}ddd | text]
     LINENUM={ NO | BEGIN | END | startcol-endcol }
     REVDATE=[yyyymmdd | {+|-}ddd | text]
     SOURCE='{ SCRIPT | SCRIPTONLY | FLAT },[pre],[blanksub]'
     SYMCHARS='ccc...ccc'
    
     Table-of-Contents, Indexing & Sectioning
     APPHD1='text'
     APPHD1X='text'
     BODYHD0='text'
     BODYHD0X='text'
     BODYHD1='text'
     BODYHD1X='text'
     FBC={ YES | NO }
     FIGLIST={ YES | NO }
     FTSEP={ YES | NO }
     HEADNUM={ YES | NO | num | *num }
     INDEX={ YES | NO }  {INDEX|NOINDEX}
     INDEXREFLINK={ YES | NO }
     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 }
     TOCTAG='ls,le,ts,te,ts,te'
    
     Hyperlinking within the file
     FNLINK={ NO | TO | FROM | BOTH }
     FTLINK={ YES | NO }
     TOCRET={ NO | TOC | PTOC | PTOCx }
    
     File Locations, Names and Format
     HTMLEXT={ html | ext }     (AIX)
     HTMLEXT={ html | ext }     (HPFS)
     HTMLEXT={ html | ext }     (LINUX)
     HTMLEXT={ HTML | ext }     (MVS)
     HTMLEXT={ htm  | ext }     (OS/2)
     HTMLEXT={ html | ext }     (VM)
     HTMLEXT={ htm  | ext }     (WIN95)
     HTMLEXT={ htm  | ext }     (WINNT)
     HTMLEXT={ html | ext }     (UNIX)
     HTMPEXT={ html | ext }     (AIX)
     HTMPEXT={ html | ext }     (HPFS)
     HTMPEXT={ html | ext }     (LINUX)
     HTMPEXT={ HTML | ext }     (MVS)
     HTMPEXT={ htm  | ext }     (OS/2)
     HTMPEXT={ HTML | ext }     (VM)
     HTMPEXT={ htm  | ext }     (WIN95)
     HTMPEXT={ htm  | ext }     (WINNT)
     HTMPEXT={ html | ext }     (UNIX)
     IMBFT={ script | ext }     (AIX)
     IMBFT={ script | ext }     (HPFS)
     IMBFT={ script | ext }     (LINUX)
     IMBFT=(not applicable)     (MVS)
     IMBFT={ scr    | ext }     (OS/2)
     IMBFT={ SCRIPT | ft  }     (VM)
     IMBFT={ scr    | ext }     (WIN95)
     IMBFT={ scr    | ext }     (WINNT)
     IMBFT={ script | ext }     (UNIX)
     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'
     OUTPUTP={ 'physical-output-file' | DD:ddname | DD:ddname(member) }   (MVS only)
     OUTPUTP83={ YES | NO }
     OUTPUTPCASE={ ASIS | LC | UC }
     SPLITDIGITS='{2|num}, {DEC|HEX|ALPHA|LALPHA}'
     SPLITDIR[.x[-y]]='physical-directory,logical-directory'
     SPLITDIR.NEXT='physical-directory,logical-directory'
     SPLITNAME.x='[physical-file-name],[logical-file-name]'
     SPLITNAME.NEXT='[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 }
     AUTOSPLIT='{ NO | YES | num | *num }
                [ LEN=value ]
                [ BYPASS={ 0 | num } ]
                { IMBED | NOIMBED }
                { SETUP | NOSETUP }'
     BODYTAG='text'
     BORDERTAG={ BORDER="1" | tag }
     BORDERTAG.x=tag
     CENTERTAG={ YES | NO }
     CHARSET='text'
     COMMENT={ 'text' | CLEAR }
     COMMENTHEAD='text'
     CONTACT='text'
     DEFTEXT.name='text'
     DEFTEXT.name='text',[width]
     DIALOG='[LABEL] [FONT] [COLOR]'
     DIALOGTAG.x='ts,te,fs,fe,cs,ce'
     DLFMT={ DL | TABLE }
     DLTAG.x='ls,le,ts,te,ds,de'
     FIGCAPLOC={ BEFORE | AFTER }
     FNTAG='cs,ce,ls,le,lcs,lce,lts,lte,ts,te'
     FONTTAG='fonttext,efonttext,[PROP|NOPROP]'
     FONTTAG.name='fonttext,efonttext,[PROP|NOPROP]'
     FOOTER={ NO | file }
     FOOTER={ NO | file | DD:ddname | DD:ddname(member) }   (MVS only)
     GLFMT={ DL | TABLE }
     GLTAG.x='ls,le,ts,te,ds,ds2,de,gs,ge'
     HEADER={ NO | file }
     HEADER={ NO | file | DD:ddname | DD:ddname(member) }   (MVS only)
     HEADREC=CLEAR
     HEADREC.FILE=file
     HEADREC.TEXT='text'
     HRTAG={ <HR> | tag }
     HRTAG.x=tag
     HTAG='hs,he,ss,sr'
     HTAG.x='hs,he,ss,sr'
     HTML={ 2 | 3 | 4 }
     HTMLATT.tagname='attributes'
     HTMLDOCID.htmlrel='text'
     INDEXTAG='ls,le,ts,te,is,ie'
     LINES={ PRE | BR }
     LINEWIDTH={ 78 | number }
     LIREF={ NO | ID | ACTUAL }
     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'
     OLSEQ='sequence codes'
     OWNER='text'
     REVTAG='revtext,erevtext,[PROP|NOPROP]'
     REVTAG.id='revtext,erevtext,[PROP|NOPROP]'
     SETUPTAG.tagname='beforetext','aftertext'
     SHADE.name=rrggbb
     SLTAG.x='ls,le,is,ie'
     SPLITLINK={ YES | NO }
     SPLITLINK.x='text | CLEAR'
     SYNFONT={ YES | NO }
     SYSVAR='A { YES | NO }'
     TABLE2='fl,fm,fr,fv,fhn,fhh,gutl,gutr'
     TFIGLISTTAG.x='ls,le,is,ie'
     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 }
     DOCDESC='file'
     DOCDESC.id='file'
     IMBEDID={ YES | NO }
     LOG='{ NO | YES | file },{ CREATE | APPEND }'
     LOG=STREAMx
     LTGT={ ASIS | CONVERT }
     MAXWIDTH={ NOSPLIT | number }
     MSGLEVEL={ INFO | WARNING | ERROR }
     MSGNUM={ YES | NO }
     MVSALLOC.name='allocation-values'
     PROCACT='sit=action sit2=action2 ... sitx=actionx'
     PSC='process1 process2 ... processx'
     QUIET | NOISY
     SHOWLINES={ NO | num }
     SYSVAR='W file'
     TAGCHECK={ YES | NO }
     USERPROF=file
     USERSYM=file
    

    8.2.1 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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
      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

    APPHD1='text'
    Specifies the text to precede an :H1 heading in the appendix. If omitted, it defaults to the value specified for the DEFTEXT.APPENDIX= option. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    Example: APPHD1='Reference' produces "Reference A.", etc.
    Default: APPHD1=''

    APPHD1X='text'
    Specifies the text to follow an :H1 heading in the appendix. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    Example: APPHD1X='Reference' produces "A Reference", etc.
    Default: APPHD1X=''

    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 ZIP 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

    AUTOSPLIT='{ NO | YES | num | *num } [LEN=value] [BYPASS={0|num}] {IMBED|NOIMBED} {SETUP|NOSETUP}'
    Causes the output HTML file to be broken into multiple HTML files. 13 This is discussed in detail in 5.9, "Splitting the output HTML file into multiple files".

    Note: For compatibility with older releases of B2H, an option name of AUTOPART= is recognized as an alias of AUTOSPLIT=.

    Example: AUTOSPLIT=1 creates a separate HTML file for each :H1. tag
    Example: AUTOSPLIT=*1 creates a separate HTML file each :H0. and :H1. tag.
    Example: AUTOSPLIT=LEN=4 creates a separate HTML file when a :LEN LEHD=4 tag is encountered
    Example: AUTOSPLIT=IMBED creates a separate HTML file whenever a file is imbedded
    Example: AUTOSPLIT='0 IMBED' creates a separate HTML file for each :H0. tag and whenever a file is imbedded

    Default: AUTOSPLIT=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 5.5, "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=YES

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

    BODYHD0X='text'
    Number each :H0. and give it this suffix label. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    Example: BODYHD0X='Part' produces "1. Part", etc.
    Default: BODYHD0X=''

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

    BODYHD1X='text'
    Number each :H1. and give it this suffix label. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    Example: BODYHD1X='Chapter' produces "1. Chapter", etc.
    Default: BODYHD1X=''

    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=. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    Default: BODYTAG='<BODY>'

    BORDERTAG={ BORDER="1" | tag }

    BORDERTAG.x=tag
    These specify the BORDER attribute to use when the HTML <TABLE> tag is generated for various items. This option can be specified with or without the "x" qualifier. If "x" is omitted, the value applies to all usages. Otherwise, "x" is a numeric value from 1 to 10 defined as:
    x Tag used for:
    1 Used for :CODEL when STYLE=BOX
    2 Used for :CODEL when STYLE=LBLBOX
    3 Used for :FIG when FRAME=NONE is not specified
    4 Used for :LBLBOX
    5 Used for :MSGL when STYLE=BOX
    6 Used for :MSGL when STYLE=LBLBOX
    7 Used for :SCHDATE
    8 Used for :SYNTAX when STYLE=BOX
    9 Used for :SYNTAX when STYLE=LBLBOX
    10 Used for :TABLE itself

    If omitted, all default to "BORDER="1"".

    Note: This option is applicable only for HTML=3 (or higher).

    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: if HTML=2: then CENTERTAG=NO; otherwise CENTERTAG=YES

    CHARSET='text'
    This option allows you to specify the coded character used to encode the document. If a value is specified, B2H generates the following statement:
      <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=text">
    
    If no value is specified (the default), no META statement is generated and the normal World Wide Web default of ISO-8859-1 is assumed. (See also 5.10, "National Language Support (NLS) considerations".)

    Default: CHARSET=''

    RFC 2070 contains the definitive list, but here are some of the character sets for each of the Group 1, 2 and 3 languages. 14

    Figure 8-2. Some coded character sets
    Language Coded Character Set charset=... IBM CCSID
    Albanian ISO/IEC 8859-1 iso-8859-1 819
    Arabic ISO/IEC 8859-6 iso-8859-6 1089
    Bulgarian Windows 1251 windows-1251 1251
    Byelorussian Windows 1251 windows-1251 1251
    Catalan ISO/IEC 8859-1 iso-8859-1 819
    Chinese (simplified) GB gb2312 1381 (5477 is also valid)
    Chinese (traditional) Big 5 big5 950
    Croatian ISO/IEC 8859-2 iso-8859-2 912
    Czech ISO/IEC 8859-2 iso-8859-2 912
    Danish ISO/IEC 8859-1 iso-8859-1 819
    Dutch ISO/IEC 8859-1 iso-8859-1 819
    English ISO/IEC 8859-1 iso-8859-1 819
    Estonian ISO/IEC 8859-1 iso-8859-1 819
    Finnish ISO/IEC 8859-1 iso-8859-1 819
    French ISO/IEC 8859-1 iso-8859-1 819
    German ISO/IEC 8859-1 iso-8859-1 819
    Greek ISO/IEC 8859-7 iso-8859-7 813
    Hebrew ISO/IEC 8859-8 iso-8859-8 916
    Hungarian ISO/IEC 8859-2 iso-8859-2 912
    Italian ISO/IEC 8859-1 iso-8859-1 819
    Japanese Shift JIS x-sjis
    (shift_jis is also used)
    943 (932, a subset of 943 from a character repertoire viewpoint, is also valid)
    Korean EUC Korean euc-kr 970 (A better solution is to use 970 for AIX/Linux/Unix, and 949 for OS/2 and Windows)
    Latvian Windows 1257 windows-1257 1257
    Lithuanian Windows 1257 windows-1257 1257
    Macedonian Windows 1251 windows-1251 1251
    Norwegian ISO/IEC 8859-1 iso-8859-1 819
    Polish ISO/IEC 8859-2 iso-8859-2 912
    Portuguese ISO/IEC 8859-1 iso-8859-1 819
    Romanian ISO/IEC 8859-2 iso-8859-2 912
    Russian Windows 1251 windows-1251 1251
    Serbian (Cyrillic) Windows 1251 windows-1251 1251
    Serbian (Latin 2) Windows 1250 windows-1250 1250
    Slovakian ISO/IEC 8859-2 iso-8859-2 912
    Slovenian ISO/IEC 8859-2 iso-8859-2 912
    Spanish ISO/IEC 8859-1 iso-8859-1 819
    Swedish ISO/IEC 8859-1 iso-8859-1 819
    Thai IBM 874 x-ibm-874 9066
    Turkish ISO/IEC 8859-9 iso-8859-9 920
    Ukrainian Windows 1251 windows-1251 1251
    Vietnamese VISCII
    UCS-2
    UCS-4
    viscii
    iso-10646-ucs-2
    iso-10646-ucs-4
    TBD
    1200 (growing) or 13488 (fixed)
    TBD

    COMMENT={ 'text' | CLEAR }
    Text to include in the header section of the HTML output file as an HTML comment (&symbols are substituted). This option can be specified as many times as desired. The text is reformatted and multiple lines created if any individual comment record exceeds 64 characters in width. If COMMENT=CLEAR, all previously-specified comments are discarded. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    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. &symbols (e.g. &variables) are substituted. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.

    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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
      CONTACT='johndoe@acme.com'
    
    causes the following to be generated:
      <META HTTP-EQUIV="contact" CONTENT="johndoe@acme.com">
    

    Default: CONTACT=''

    DEFTEXT.name='text'

    DEFTEXT.name='text',[width]
    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 these situations. (See also 5.10, "National Language Support (NLS) considerations")
    e.g. DEFTEXT.PREFACE='Vorwort'


    Figure 8-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.ARTLABEL "Figure figure not displayed." This specifies the default "alternate text" for a graphic when ARTSHOW=LINK and no alternate text is specified on a BookMaster :ARTWORK tag, (such as :ARTWORK NAME=name LABEL="alternate text".).
    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.DIALSYS "System" Default prefix text for a Dialog's :SYS tag
    DEFTEXT.DIALUSER "User" Default prefix text for a Dialog's :USER tag
    DEFTEXT.DOCNUM "Document Number" Default prefix text for :DOCNUM tag
    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 &b2hhtmlid//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.IBMZALI "<HR><B>IBM License Information</B><HR>" Default text used in conjunction with the :IBMLPS tag when STYLE=IBMZALI specified on the :DOCPROF tag.
    DEFTEXT.IBMZALP "<HR><B>IBM Licensed Program Specifications</B><HR>" Default text used in conjunction with the :IBMLPS tag when STYLE=IBMZALP specified (or defaulted) on the :DOCPROF tag.
    DEFTEXT.INDEX "Index" Default text for :INDEX tag
    DEFTEXT.INDEXENTRYL "(" When showing the references for a particular index entry, this precedes (to the left of) each reference identifier.
    DEFTEXT.INDEXENTRYR ")" When showing the references for a particular index entry, this follows (to the right of) each reference identifier.
    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.LERSAUTH "Authorization" Default text for :LERS AUTH= and :LEDI AUTH.
    DEFTEXT.LERSCOMMENTS "Comments" Default text for :LERS COMMENTS= and :LEDI COMMENTS.
    DEFTEXT.LERSCONTEXT "Context" Default text for :LERS CONTEXT= and :LEDI CONTEXT.
    DEFTEXT.LERSDEFAULTS "Defaults" Default text for :LERS DEFAULTS= and :LEDI DEFAULTS.
    DEFTEXT.LERSERRCOND "Error Conditions" Default text for :LERS ERRCOND= and :LEDI ERRCON.
    DEFTEXT.LERSEXAMPLES "Examples" Default text for :LERS EXAMPLES= and :LEDI EXAMPLES.
    DEFTEXT.LERSFLAGS "Flags" Default text for :LERS FLAGS= and :LEDI FLAGS.
    DEFTEXT.LERSFORMAT "Format" Default text for :LERS FORMAT= and :LEDI FORMAT.
    DEFTEXT.LERSINTREP "Internal Representation" Default text for :LERS INTREP= and :LEDI INTREP.
    DEFTEXT.LERSMESSAGES "Messages" Default text for :LERS MESSAGES= and :LEDI MESSAGES.
    DEFTEXT.LERSOPTIONS "Options" Default text for :LERS OPTIONS= and :LEDI OPTIONS.
    DEFTEXT.LERSOTHE "" Default text for :LERS OTHE= and :LEDI OTHE.
    DEFTEXT.LERSPARMS "Parameters" Default text for :LERS PARMS= and :LEDI PARMS.
    DEFTEXT.LERSPREREQS "Prerequisites" Default text for :LERS PREREQS= and :LEDI PREREQS.
    DEFTEXT.LERSPROCESS "Processing" Default text for :LERS PROCESS= and :LEDI PROCESS.
    DEFTEXT.LERSPURPOSE "Purpose" Default text for :LERS PURPOSE= and :LEDI PURPOSE.
    DEFTEXT.LERSRELATED "Related Information" Default text for :LERS RELATED= and :LEDI RELATED.
    DEFTEXT.LERSRESTRICT "Restrictions" Default text for :LERS RESTRICT= and :LEDI RESTRICT.
    DEFTEXT.LERSRESULTS "Results" Default text for :LERSRESULTS= and :LEDI RESULTS.
    DEFTEXT.LERSRETCODES "Return Codes" Default text for :LERS RETCODES= and :LEDI RETCODES.
    DEFTEXT.LERSSYSENV "System Environment" Default text for :LERS SYSENV= and :LEDI SYSENV.
    DEFTEXT.LERSUSAGE "Usage" Default text for :LERS USAGE= and :LEDI USAGE.
    DEFTEXT.LERSVERSION "Version" Default text for :LERS VERSION= and :LEDI VERSION.
    DEFTEXT.MCDEST "Destination" Default text for :MSGL DEST= and :DEST.
    DEFTEXT.MCMODULE "Module" Default text for :MSGL MODULE= and :MODULE.
    DEFTEXT.MCNUMBYTES "Number of Error Bytes" Default text for :MSGL NUMBYTES= and :NUMBYTES.
    DEFTEXT.MCORESP "Operator Response" Default text for :MSGL ORESP= and :ORESP.
    DEFTEXT.MCPRESP "Programmer Response" Default text for :MSGL PRESP= and :PRESP.
    DEFTEXT.MCPROBD "Problem Determination" Default text for :MSGL PROBD= and :PROBD.
    DEFTEXT.MCSEVERITY "Severity" Default text for :MSGL SEVERITY= and :SEVERITY.
    DEFTEXT.MCSPRESP "System Programmer Response" Default text for :MSGL SPRESP= and :SPRESP.
    DEFTEXT.MCSYSACT "System Action" Default text for :MSGL SYSACT= and :SYSACT.
    DEFTEXT.MCURESP "User Response" Default text for :MSGL URESP= and :URESP.
    DEFTEXT.MCXPL "Explanation" Default text for :MSGL XPL= and :XPL.
    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.SYNNT "Note:" Default text when listing a syntax diagram's notes specified using :SYNNT.
    DEFTEXT.T2XREF "the appropriate section" Text to show for a forward cross-reference link within an HTML 2 table (for more info, see 6.1.1, "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
    DEFTEXT.VOLNUM "Volume" Default prefix text for :VOLNUM tag
    DEFTEXT.WARRASIS "This program is provided "As Is" as specified in the IBM license." Default text for SUBJECT=ASIS attribute on the :WARRANTY tag
    DEFTEXT.WARRFULL "This program is warranted as specified in the IBM license. <p>Licensed Program Specifications may be updated from time to time and such updates may constitute a change in specifications.<p>For Distributed Systems License Option (DSLO) Licenses, warranty service, if any, will be provided only through the Basic License location. <p>Following the discontinuance of all program services, this program will be provided "As Is" as specified in the IBM license." Default text for SUBJECT=FULL attribute on the :WARRANTY tag
    DEFTEXT.WARRNODSLO "This program is warranted as specified in the IBM license. <p>Licensed Program Specifications may be updated from time to time and such updates may constitute a change in specifications. <p>Following the discontinuance of all program services, this program will be provided "As Is" as specified in the IBM license." Default text for SUBJECT=NODSLO attribute on the :WARRANTY tag
    The following values are used for drawing syntax diagrams

    The syntax for the DEFTEXT option is slightly different when specifying syntax diagram characters.

       DEFTEXT.name='text',[width]
    
    The optional value specifies the "width" (the number of characters) that is shown by the specified text. If you omit the width value, it defaults to the length of the text string. If you specify a text string whose displayed width is different than the length of the text string itself, make sure you specify the width value. For example:
       DEFTEXT._CROSS='+'
       DEFTEXT._CROSS='&#43;',1
    
    For more information and an example, see 7.0.10, "FAQ 10: Syntax diagram characters don't look right".
    DEFTEXT._CROSS '+',1 Line crossing
    DEFTEXT._DASH '-',1 Line dash
    DEFTEXT._END '&gt;&lt;',2 End of syntax diagram
    DEFTEXT._FRAGMENT_END '&#124;',1 End of fragment diagram
    DEFTEXT._FRAGMENT_START '&#124;',1 Start of fragment diagram
    DEFTEXT._FRAGREF_END '&#124;',1 End of fragment reference
    DEFTEXT._FRAGREF_START '&#124;',1 Start of fragment reference
    DEFTEXT._LOWERLEFT '+',1 Bottom left corner
    DEFTEXT._LOWERRIGHT '+',1 Bottom right corner
    DEFTEXT._MIDDLE '&gt;',1 Middle of syntax diagram
    DEFTEXT._MIDDLELEFT '&#124;',1 Left side
    DEFTEXT._MIDDLERIGHT '&#124;',1 Right side
    DEFTEXT._REPSEPJOINL 'V',1 The point where the repeating separator joins the base line on the left side
    DEFTEXT._REPSEPJOINR '+',1 The point where the repeating separator joins the base line on the right side
    DEFTEXT._REPSEPLEFT '&lt;-',2 Left part of repeating separator
    DEFTEXT._REPSEPRIGHT '--&lt;',3 Right part of repeating separator
    DEFTEXT._START '&gt;&gt;',2 Start of syntax diagram
    DEFTEXT._TEEDOWN '+',1 Downward-pointing T
    DEFTEXT._TEELEFT '&#124;',1 Leftward-pointing T
    DEFTEXT._TEERIGHT '&#124;',1 Rightward-pointing T
    DEFTEXT._TEEUP '+',1 Upward-pointing T
    DEFTEXT._UPPERLEFT '+',1 Top left corner
    DEFTEXT._UPPERRIGHT '+',1 Top right corner

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

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

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

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

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

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

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

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

    DESTSYS={ AIX | HPFS | LINUX | MVS | OS2 | VM | WIN95 | WINNT | UNIX } (UNIX)
    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.

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

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

    DIALOG='[LABEL] [FONT] [COLOR]'
    Specifies the dialog technique to be used with the :DIALOG. tag. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag. None, one or multiple of the following values may be specified:
    LABEL Places "System" and "User" labels in front of system and user text.
    FONT User text is displayed using the HTML font-type tags specified for the "fs" and "fe" values of the DIALOGTAG= option.
    COLOR User text is displayed using the HTML color-type tags specified for the "cs" and "ce" values of the DIALOGTAG= option.

    Default: DIALOG='LABEL'
    Example:  DIALOG='FONT'
              DIALOG='LABEL COLOR'
    

    DIALOGTAG.x='ts,te,fs,fe,cs,ce'
    Allows you to specify the HTML tags B2H should generate for the :SYS and :USER tags when processing an interactive dialog (:DIALOG). See the DIALOG= option for how these values are "triggered".
    x Used for:
    0 HTML tags for the :SYS tag
    1 HTML tags for the :USER tag

    HTML tag values:
    ts "Normal" text start
    te "Normal" text end
    fs "Font" text start ("FONT" specified within DIALOG=)
    fe "Font" text end
    ss Colored text start ("COLOR" specified within DIALOG=)
    se Colored text end

    Default:

      DIALOGTAG.0='<TT>,</TT>,<B>,</B>,<FONT COLOR="BLUE">,</FONT>'
      DIALOGTAG.1=''
    

    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?
    DL Map to HTML's standard definition-list tags (e.g. <DL>)
    TABLE Map to a two-column unframed table. Available only when generating HTML 3 (or higher) output.

    Default: DLFMT=DL when HTML=2, otherwise defaults to DLFMT=TABLE

    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 5.12, "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 | {+|-}ddd | text ]
    The date when this file should expire. Allows the server to generate an HTTP response header if expiration date information is requested. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.

    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">
    
    Default: source file date + two years

    FBC={ YES | NO }
    Want Folio-By-Chapter? If YES, same as specifying BODYHD0='Part' and BODYHD1='Chapter'. This option is also processed when encountered as an attribute 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

    FNTAG='cs,ce,ls,le,lcs,lce,lts,lte,ts,te'
    Allows you to specify the HTML tags B2H should generate when processing an individual footnote (:FN) and generating the list of footnotes.

    HTML tag values:
    cs Start of footnote's callout
    ce End of footnote's callout
    ls Footnote list start
    le Footnote list end
    lcsStart of footnote's callout in the footnote list
    lceEnd of footnote's callout in the footnote list
    ltsStart of a footnote's text in the footnote list
    lteEnd of a footnote's text in the footnote list
    ts Tag to start the list of footnotes
    te Tag to end the list of footnotes

    Default:

      FNTAG='<SUP>,</SUP>,<DL COMPACT>,</DL>,<P><DT><SUP>,
             </SUP></DT>,<DD>,</DD>,<HR>,'
    

    FONTTAG='fonttext,efonttext,[PROP|NOPROP]'

    FONTTAG.name='fonttext,efonttext,[PROP|NOPROP]'
    Documents written using Script/VS control words use .DF (Define Font) to define a font's characteristics and then use .BF (Begin Font) to start using the font and .PF (Previous Font) to restore the previous font, such as:
      .df one type ('sonoran sans serif' 6 ) codepage T1GI0395
      .df two type ('sonoran sans serif' 7 ) codepage T1GI0395
      .br;Base line in default font
      .bf one
      .br;This line in font "one" as a test
      .pf
      .br;Base line in default font
      .bf two
      .br;This line in font "two" as a test
      .pf
      .br;Base line in default font
    

    The FONTTAG option effectively replaces the .DF control word and allows you to specify the text to use when a specified font is started or stopped.

    FONTTAG can be specified with or without the name qualifier. If name is omitted, the text is used to start/stop any font. If name is specified, the text is used only when the specified font is started or stopped.

    fonttext Text and/or HTML tag(s) to insert for a .BF name control word
    efonttext Text and/or HTML tag(s) to insert for a .PF control word
    PROP When displaying an HTML table, many web browsers reset any font characteristics and display a cell's text in a default font. "PROP" specifies that if B2H generates an HTML table, all active font definition text should be "propagated" into each table cell. This is the default value if omitted.
    NOPROP This specifies that active font definition text should NOT be "propagated" into each table cell.

    Default: FONTTAG=''

    Using the previous example, if you wanted font "one" to be shown in bold and font "two" to be blue italic in the Arial font, you could specify:

      FONTTAG.one='<B>,</B>'
      FONTTAG.two='<FONT FACE="Arial" COLOR="BLUE"><I>,</I></FONT>'
    

    FOOTER={ NO | file }

    FOOTER={ NO | file | DD:ddname | DD:ddname(member) } (MVS only)
    If other than NO, any records in the specified file15 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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    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 processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    Example: FTSEP=NO

    GLFMT={ DL | TABLE }
    When a glossary-list tag (:GL) is processed, do you want it mapped to HTML's <DL> tag or to a two-column unframed table?
    DL Map to HTML's standard definition-list tags (e.g. <DL>)
    TABLE Map to a two-column unframed table. Available only when generating HTML 3 (or higher) output.

    Default: GLFMT=DL when HTML=2, otherwise defaults to GLFMT=TABLE

    GLTAG.x='ls,le,ts,te,ds,ds2,de,gs,ge'
    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 when GLFMT=DL
    1 HTML tags for a compact list (e.g. :GL COMPACT) when GLFMT=DL
    2 HTML tags for a non-compact list when GLFMT=TABLE
    3 HTML tags for a compact list (e.g. :GL COMPACT) when GLFMT=TABLE

    HTML tag values:
    ls List start
    le List end
    ts Glossary Term start
    te Glossary Term end
    ds Glossary Definition start (first :GD after a :GT)
    ds2Glossary Definition start (subsequent :GDs after a :GT, e.g. when using :GDG)
    de Glossary Definition end
    gs Group Separator (:GRPSEP) start
    ge Group Separator (:GRPSEP) end

    Default:

      GLTAG.0='<DL>,</DL>,<P><DT>,,<DD>,<DD>,,
               <P><DT><FONT SIZE="+2"><STRONG>,</STRONG></FONT><P>'
      GLTAG.1='<DL COMPACT>,</DL>,<DT>,,<DD>,<DD>,,
               <P><DT><FONT SIZE="+2"><STRONG>,</STRONG></FONT><P>'
      GLTAG.2='<TABLE CELLPADDING="3">,</TABLE>,<TR VALIGN=TOP><TD><P>,</TD>,
               <TD><P>,<P>,</TD></TR>,
               <TR><TD COLSPAN="2"><FONT SIZE="+2"><STRONG><P>,
               <P></STRONG></FONT><P></TD></TR>'
      GLTAG.3='<TABLE CELLPADDING="3">,</TABLE>,<TR VALIGN="TOP"><TD>,</TD>,
               <TD>,<BR>,</TD></TR>,
               <TR><TD COLSPAN="2"><FONT SIZE="+2"><STRONG>,
               </STRONG></FONT></TD></TR>'
    

    HEADER={ NO | file }

    HEADER={ NO | file | DD:ddname | DD:ddname(member) } (MVS only)
    If other than NO, any records in the specified file15 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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    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". This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    Default: HEADNUM=NO

    HEADREC=CLEAR

    HEADREC.FILE=file

    HEADREC.TEXT='text'
    Inserts record(s) into the header section of all HTML output file(s). HEADREC.FILE= specifies that the contents of the referenced file should be inserted; HEADREC.TEXT= specifies the contents of an individual record to insert. Either of these options may be specified as many times as desired and may be intermixed with each other. HEADREC=CLEAR resets to zero the records to insert. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.

    This option is typically used to insert JavaScript code into the header portion of an HTML file.

    Example:

      HEADREC.TEXT='<script language="JavaScript">'
      HEADREC.TEXT='<!-- Hide JavaScript'
      HEADREC.FILE=animate.js
      HEADREC.TEXT='// end hiding -->'
      HEADREC.TEXT='</script>'
    

    HRTAG={ <HR> | tag }

    HRTAG.x=tag
    These specify the horizontal-rule tag to use for various items. This option can be specified with or without the "x" qualifier. If "x" is omitted, the value applies to all usages. Otherwise, "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 or higher output)
    3 (No longer used, see the HTAG= option)
    4 :MSGL and :CODEL when STYLE=RULE specified
    5 To precede and follow a syntax diagram defined using :SYNTAX STYLE=RULES
    6 (No longer used, see the TOCTAG= option)
    7 To precede an :H0 in the Table-of-Contents
    8 (No longer used, see the TOCTAG= option)
    9 (No longer used, see the FNTAG= option)
    10Preceding a :LEN tag if SEP=RULE specified by the :LERS tag

    If omitted, all default to "<HR>".

    HTAG='hs,he,ss,sr'

    HTAG.x='hs,he,ss,sr'
    When a ":Hx" tag is encountered, this option specifies the HTML to generate. It also specifies whether the next line of source text is to be inspected and optionally modified. This option can be specified with or without the "x" qualifier. If "x" is omitted, the text is used for all ":Hx" header tags. If "x" is specified, the text is used only for those header tags of the same number.
    hs Header start
    he Header end
    ss If specified, the next source line is inspected and if the left-most text matches this value (case is ignored), then the text is replaced by the value specified for "sr"
    sr The text to replace "ss"
    The default values reflect BookMaster's standard layout:

    Default:

      HTAG='<P><I><B>,:&nbsp;</B></I>&nbsp;,:P.,'
      HTAG.0='<HR><H1>,</H1>'
      HTAG.1='<HR><H1>,</H1>'
      HTAG.2='<HR><H2>,</H2>'
      HTAG.3='<P><H3>,</H3>'
      HTAG.4='<P><H4>,</H4>'
    

    HTML={ 2 | 3 | 4 }
    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, otherwise tables are supported using native HTML table tags. See 6.1, "Special information about tables" for more information on tables.
    Default: HTML=3

    HTMLATT.tagname='attributes'
    This option allows you to specify custom attributes for the indicated HTML tag whenever the HTML tag is generated. If omitted for a particular HTML tag, no additional attributes are generated.

    For example, an HTML table cell would normally be generated like:
    <TD>

    But if HTMLATT.TD='class="abc"' were specified, the table cell would be generated like this:
    <TD class="abc">

    The following values for "tagname" are available:

    HTMLATT.TABLE='attributes'
    Defines the attributes to be associated with all generated <TABLE> tags. For example, if you want all HTML tables be generated with a cell padding of 6 and a cell spacing of 4, then specify: HTMLATT.TABLE='cellpadding=6 cellspacing=4'

    HTMLATT.TD='attributes'

    HTMLATT.TH='attributes'

    HTMLATT.TR='attributes'
    Defines the attributes to be associated with all generated <TD>, <TH> and <TR> tags within an HTML table.

    HTMLATT.A='attributes'

    HTMLATT.DD='attributes'

    HTMLATT.DT='attributes'

    HTMLATT.FORM='attributes'

    HTMLATT.IMG='attributes'

    HTMLATT.INPUT='attributes'
    Defines the attributes to be associated with the specified HTML tag.

    HTMLDOCID.htmlrel='text'
    This allows you to specify the Document Type Definition (DTD) value for the first record of the HTML output -- the "xxx" in the following:
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML xxx//EN">

    If HTML=2, then the value of HTMLDOCID.2 is used, if HTML=3, then the value of HTMLDOCID.3 is used, etc. The &b2hhtmlid symbol contains the appropriate value of this option for the HTML release being generated.

    Example: HTML=3 HTMLDOCID.3='3.1'
    causes the following DTD to be generated::
    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.1//EN">

    Default:

      HTMLDOCID.2='2'
      HTMLDOCID.3='3.2'
      HTMLDOCID.4='4'
    

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

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

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

    HTMLEXT={ HTML | logical-ext } (MVS)

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

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

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

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

    HTMLEXT={ html | logical-ext } (UNIX)
    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 AUTOSPLIT= is specified.

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

    See also 5.3, "Cross-Platform considerations".

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

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

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

    HTMPEXT={ HTML | logical-ext } (MVS)

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

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

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

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

    HTMPEXT={ html | logical-ext } (UNIX)
    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 AUTOSPLIT= is specified.

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

    See also 5.3, "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={ script | ext } (LINUX)

    IMBFT=(not applicable) (MVS)

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

    IMBFT={ SCRIPT | ft } (VM)

    IMBFT={ scr | ext } (WIN95)

    IMBFT={ scr | ext } (WINNT)

    IMBFT={ script | ext } (UNIX)
    At B2H execution time, if a file15 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, Linux, UNIX or HPFS, "abc.script" would be imbedded; on OS/2, Windows 95/98/ME or Windows NT/2000/XP, "abc.scr" would be imbedded; on VM, "ABC SCRIPT" would be imbedded.

    This option is not applicable when running on MVS as there are specific rules as to how imbedded files are retrieved. (See the Script/VS User's Guide for further information on how imbedded files are handled under MVS.)

    Default: IMBFT=script (AIX)
    Default: IMBFT=script (HPFS)
    Default: IMBFT=script (LINUX)
    Default: IMBFT=scr (OS/2)
    Default: IMBFT=SCRIPT (VM)
    Default: IMBFT=scr (WIN95)
    Default: IMBFT=scr (WINNT)
    Default: IMBFT=script (UNIX)

    IMBFTEXT='{YES|NO}, {ASIS|LC|UC}, ft=ext ft2=ext2 ... ftx=extx'
    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 name be handled?

    ASIS

    Leave the case "as-is"

    LC

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

    UC

    Explicitly upper-case the file name

    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 on a PC workstation). 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.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

    INDEXREFLINK={ YES | NO }
    Specifies if hyperlinks should be generated for index entries that provide their own reference text.

    The markup for an index entry is usually coded by the author such that the index points to the location of the index entry markup within the source document. This causes B2H to generate a hyperlink from the index to the location of the index entry markup.

    However, if the author specifies the PG='text' attribute on the :Ix tag (or if the fourth term of the index entry is specified on the .PI control word), then the index simply displays the provided reference text and, by default, B2H will not generate a hyperlink since the location of the index entry markup is irrelevant. But if you want B2H to generate a hyperlink even when reference text is provided, specify INDEXREFLINK=YES.

    Default: INDEXREFLINK=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 5.10.3, "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.
    lsStart tag for a common level of indices
    leEnd tag for a common level of indices
    tsStart tag for a specific reference within a level
    teEnd tag for a specific reference within a level
    isStart tag for identifying the first letter of a block of indices
    ieEnd 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>,,'

    LINENUM={ NO | BEGIN | END | startcol-endcol }
    Should B2H check the input source records for line numbers?
    NO The source lines do not contain line numbers (this is the default)
    BEGIN The first "word" of each source line is checked and if the value is numeric, the word is discarded
    END The last "word" of each source line is checked and if the value is numeric, the word is discarded
    startcol-endcol The text within the specified starting and ending columns of each source line are checked and if the value is numeric (blanks are allowed), the text is removed

    Example: LINENUM=73-80
    Default: LINENUM=NO

    LINES={ PRE | BR }
    How should BookMaster's :LINES/:ELINES tags be handled?
    PRE The text should be displayed using a monospaced font by generating HTML "<PRE>" and "</PRE>" tags. Any tab characters within the text will be displayed correctly. This is the default.
    BR The text should be displayed using the current font (normally a proportional font) and a new line forced using HTML's "<BR>" tag at the end of each record. Any tab characters within the text will generally be lost since the user's browser will reformat the text.

    Default: LINES=PRE

    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 to correctly draw the screen border if the WIDTH= option is omitted
    :TABLE If HTML=2, used to correctly build the table using a monospaced font

    LIREF={ NO | ID | ACTUAL }
    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"
    ACTUAL Same as above, except that for ordered lists (:OL), the item's indice is used at the reference point (this is how BookMaster works). If the user's web browser generates only numeric indices for an ordered list, you will need to specify either: OLSEQ=N to force B2H to generate only numeric indices, or LIREF=ID to use the reference name as the indice.

    Note: For backwards compatability with previous releases of B2H, LIREF=NUM is accepted as a synonym of LIREF=ACTUAL.


    Default: LIREF=ACTUAL

    LOG='{ NO | YES | file },{ CREATE | APPEND }'

    LOG=STREAMx
    Whether a copy of all messages displayed on the terminal should be saved, and if so, whether the records should be written to either a disk file15 or a pipeline output stream. No records are saved if LOG=NO (this is the default).

    To save log records to a disk file:
    YES Log records are saved to "b2h.log" if on MVS or a PC, or "B2H LOG" if on VM.
    file Log records are saved to the specified file.
    Example: LOG='mydoc.b2h'
    Example: LOG='MYDOC B2HLOG A'

    If the name contains an asterisk (*), the asterisk is dynamically replaced with the filename of the input file.
    Example: B2H timecard.sct ( LOG='*.b2h'
    Result: the log is written to 'timecard.b2h'
    Example: B2H project script ( LOG='* B2HLOG A'
    Result: the log is written to 'PROJECT B2HLOG A'

    The second parameter specifies what to do if the disk file already exists. CREATE (the default) means to erase the existing log file and create a new one; APPEND means to append the log records to the existing file.
    Example: LOG='monday.log'
    Example: LOG='batch.log,append'

    If B2H is running as a Pipeline filter, you can specify LOG=STREAMx which means that the log records should be written to the pipeline output stream "x".
    Example: LOG=STREAM1

    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. When LTGT=CONVERT: all records in a "flat" file are checked; for non-"flat" files, all non-comment records are checked.
    Default: LTGT=CONVERT

    MAXWIDTH={ NOSPLIT | number }
    Depending on how the source is marked up and a variety of other factors, it is possible for an output HTML record to be quite "wide". A MAXWIDTH= value larger than zero (0) specifies that any output record exceeding this width be split at the first blank prior to this limit. (Exception: lines within a "<PRE>" and "</PRE>" are never split.) MAXWIDTH=NOSPLIT means that output records are never split.
    Default: MAXWIDTH=NOSPLIT

    MASTALT='alternate text'
    This and MASTIMG= allow a default masthead for HTML output files. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used. 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 AUTOSPLIT= 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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    Default: MASTIMG=''

    META={ YES | NO }
    Should "<META ...>"-type statements be included in the output HTML file? See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    Default: META=YES

    METAKEYS='key1 key2 ... keyx'
    List of keywords to "attach" to the document to allow users to search for the file. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
      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

    MSGNUM={ YES | NO }
    Should message numbers be displayed in B2H's console and log output?
    Default: MSGNUM=YES

    MVSALLOC.name='allocation-values'
    When running on MVS, if the named dataset needs to be created, these are the operands to use on the TSO/E "ALLOC" command.

    Figure 8-4. MVSALLOC.name= values
    Option Default value Where used
    MVSALLOC.ANSFILE "DSORG(PS) LRECL(1024) RECFM(V) TRACKS SPACE(5,5) RELEASE" The answer file for Question/Answers. See the QUESTION= option for further information.
    MVSALLOC.LOG "DSORG(PS) LRECL(1024) RECFM(V) TRACKS SPACE(5,5) RELEASE" Disk copy of the console log. See the LOG= option for further information.
    MVSALLOC.OUTPUTPO "DSORG(PS) LRECL(1024) RECFM(V) TRACKS SPACE(5,5) RELEASE DIR(10)" The output HTML file if creating a partitioned data set
    MVSALLOC.OUTPUTPS "DSORG(PS) LRECL(1024) RECFM(V) TRACKS SPACE(5,5) RELEASE" The output HTML file if creating a sequential data set; if multiple sequential output files are created, this applies to each output file
    MVSALLOC.SYSVARW "DSORG(PS) LRECL(1024) RECFM(V) TRACKS SPACE(5,5) RELEASE" The output file written if SYSVAR='W filespec' specified
    MVSALLOC.TEMP "DSORG(PS) LRECL(1024) RECFM(V) TRACKS SPACE(5,5) RELEASE" B2H's temporary work file
    MVSALLOC.TRACE "DSORG(PS) LRECL(1024) RECFM(V) CYLINDERS SPACE(5,5) RELEASE" B2H's internal trace file (for system support use)

    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>,'
    

    OLSEQ='sequence codes'
    Specifies the sequence to use for each nested level of ordered lists. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag. (See also the LIREF= option)

    Figure 8-5. Script-to-HTML mapping for the OLSEQ= option
    Value BookMaster creates: B2H generates: HTML creates:
    N 1. 2. 3. 4. ... <OL TYPE="1"> 1. 2. 3. 4. ...
    n 1) 2) 3) 4) ... <OL TYPE="1"> 1. 2. 3. 4. ...
    A A. B. C. D. ... <OL TYPE="A"> A. B. C. D. ...
    a a) b) c) d) ... <OL TYPE="a"> a. b. c. d. ...
    x a. b. c. d. ... <OL TYPE="a"> a. b. c. d. ...
    R I. II. III. IV. ... <OL TYPE="I"> I. II. III. IV. ...
    r i) ii) iii) iv) ... <OL TYPE="i"> i. ii. iii. iv. ...
    y i. ii. iii. iv. ... <OL TYPE="i"> i. ii. iii. iv. ...

    Default: OLSEQ='Nar'

    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=).

    For information on how this value is used, see 5.2, "Specifying the output file" and 5.3, "Cross-Platform considerations".

    OUTPUTL83={ YES | NO } (applicable on all platforms)
    When splitting the HTML file using AUTOSPLIT=, should the logical files honor the 8.3 naming convention? If YES, the file name is limited to eight characters. On AIX/Linux/UNIX, if the destination system is also AIX/Linux/UNIX, 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/98/ME and Windows NT/2000/XP)
    NO Not necessary to honor 8.3 names (e.g. AIX, Linux, UNIX, OS/2 with HPFS)

    See also 5.3, "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 5.3, "Cross-Platform considerations".

    OUTPUTP='physical-output-file'

    OUTPUTP={ 'physical-output-file' | DD:ddname | DD:ddname(member) } (MVS only)
    What should be the physical name of the output file15? If the output HTML file is split, then all output files are placed into the same location, e.g. the specified directory (AIX, Linux, OS/2, Windows 95/98/ME, Windows NT/2000/XP or UNIX) or the specified mini-disk (VM).

    When running on MVS, the dataset may be referenced by dataset name or by DD name. (See 5.2.2, "Output file considerations under MVS" for more information.)

    For information on how this value is used, see 5.2, "Specifying the output file" and 5.3, "Cross-Platform considerations". See also 3.2, "Specifying a file".

    OUTPUTP83={ YES | NO } (Applicable only on PC workstations)
    When splitting the HTML file using AUTOSPLIT=, 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/98/ME and Windows NT/2000/XP, YES is assumed. On AIX/Linux/UNIX, if the destination system is also AIX/Linux/UNIX, 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/98/ME and Windows NT/2000/XP)
    NO Not necessary to honor 8.3 names (e.g. AIX, Linux, UNIX, OS/2 with HPFS)

    See also 5.3, "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, Linux, OS/2, Windows 95/98/ME, Windows NT/2000/XP and UNIX, and "UC" is assumed on MVS and VM.

    See also 5.3, "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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
      OWNER='John Doe'
    
    causes the following to be generated:
      <META HTTP-EQUIV="owner" CONTENT="Joe Doe">
    

    Default: OWNER=''

    PROCACT='sit=action sit2=action2 ... sitx=actionx'
    What processing action should B2H take when certain situations occur during conversion? This allows you to control whether B2H should ignore some situations, show an error message, stop execution immediately, etc.

    The situations you can control:
    NOENDTAG The end-tag for certain BookMaster/GML tags was not found (e.g. :TITLE with no :ETITLE, :TABLE with no :ETABLE)
    NOIMBED A file being imbedded can not be found
    NOINDEX The INDEX or INDEX=YES option was specified, but the :INDEX tag was not encountered in the source
    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.)
    UNKOPT An unknown B2H option (or BookMaster option on the :DOCPROF tag) was encountered
    UNKSYM An unknown B2H symbol table record was encountered
    UNKTAG An unknown BookMaster/GML tag was encountered

    The actions you can specify:
    IGNORE Ignore the situation completely, no message issued, the return code (RC) is not updated
    INFO Issue an information-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)

    Initial settings:

      PROCACT='NOENDTAG=WARNING NOIMBED=ERROR NOINDEX=WARNING'
      PROCACT='NOPER=WARNING NOXREF=ERROR UNKOPT=TERM UNKSYM=TERM'
      PROCACT='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 additional process names based on the HTML release being generated. See 5.8, "Including/excluding text when converting to HTML" for more information.

    Default: PSC='CHAR HTML' plus one or more of: HTML2, HTML2+, HTML3, HTML3+, HTML4 or HTML4+

    PTOC={ NO | num | *num | 4 }
    What "depth" of heading levels should be included in a partial table-of-contents? If NO specified, no partial table-of-contents are generated. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag. 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 processed when encountered as an attribute 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 5.11, "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 name15 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 5.11, "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

    QUIET | NOISY
    Specifies whether messages issued during the conversion should be displayed on the terminal.
    NOISY Display messages on the terminal
    QUIET Do not display messages on the terminal
    NOISY is assumed unless B2H is running as a pipeline filter, in which case the default is QUIET.

    REVDATE= [ yyyymmdd | {+|-}ddd | text ]
    The date when this file should be reviewed for currency. Allows the server to generate an HTTP response header if review date information is requested. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.

    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">
    
    Default: source file date + one year

    REVTAG='revtext,erevtext,[PROP|NOPROP]'

    REVTAG.id='revtext,erevtext,[PROP|NOPROP]'
    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 control word 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 control words. 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 control word
    erevtext Text and/or HTML tag(s) to insert for a :EREV tag or .RC x OFF control word
    PROP When displaying an HTML table, many web browsers reset any font characteristics (including color) and display a cell's text in a default font. "PROP" specifies that if B2H generates an HTML table, all active start-revision/end-revision text should be "propagated" into each table cell. This is the default value if omitted.
    NOPROP This specifies that active start-revision/end-revision text should NOT be "propagated" into each table cell.

    Default: REVTAG=''

    See Chapter 7, "Troubleshooting and Frequently-Asked-Questions (FAQ)" for examples of using this capability.

    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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
      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=''

    SETUPTAG.tagname='beforetext','aftertext'
    Allows you to specify HTML text for B2H to insert before and after the specified GML/BookMaster tag. Any text specified for beforetext will be inserted before any HTML generated for the referenced tag; and any text specified for aftertext will be inserted after any HTML generated for the referenced tag.

    Figure 8-6. SETUPTAG.tagname values
    Option Description
    SETUPTAG.ADDRESS Text to precede the :ADDRESS. tag and to follow the :EADDRESS. tag (used within the title page).
    SETUPTAG.ANNOT Text to precede the :ANNOT. tag and to follow the :EANNOT. tag.
    SETUPTAG.APPENDIX Text to precede and follow the :APPENDIX. tag.
    SETUPTAG.CGRAPHIC Text to precede the :CGRAPHIC. tag and to follow the :ECGRAPHIC. tag.
    SETUPTAG.CIT Text to precede the :CIT. tag and to follow the :ECIT. tag.
    SETUPTAG.CODEL Text to precede the :CODEL. tag and to follow the :ECODEL. tag.
    SETUPTAG.DIALOG Text to precede the :DIALOG. tag and to follow the :EDIALOG. tag.
    SETUPTAG.DIRECT Text to precede the :DIRECT. tag and to follow the :EDIRECT. tag.
    SETUPTAG.FIG Text to precede the :FIG. tag and to follow the :EFIG. tag.
    SETUPTAG.FIGLIST Text to precede and follow the :FIGLIST. tag (which generates the list of figures).
    SETUPTAG.FN Text to precede and follow the list of footnotes generated at the end of each physical HTML output file.
    SETUPTAG.Hx Text to precede and follow the appropriate :Hx tag.
    SETUPTAG.INDEX Text to precede and follow the :INDEX. tag
    SETUPTAG.LBLBOX Text to precede the :LBLBOX. tag and to follow the :ELBLBOX. tag.
    SETUPTAG.LERS Text to precede the :LERS. tag and to follow the :ELERS. tag.
    SETUPTAG.LINES Text to precede the :LINES. tag and to follow the :ELINES. tag.
    SETUPTAG.LITDATA Text to precede the :LITDATA. tag and to follow the :ELITDATA. tag.
    SETUPTAG.MSGL Text to precede the :MSGL. tag and to follow the :EMSGL. tag.
    SETUPTAG.NOTEL Text to precede the :NOTEL. tag and to follow the :ENOTEL. tag.
    SETUPTAG.NT Text to precede the :NT. tag and to follow the :ENT. tag.
    SETUPTAG.PK Text to precede the :PK. tag and to follow the :EPK. tag.
    SETUPTAG.PTOC Text to precede and follow the :PTOC. tag (which generates a partial table of contents).
    SETUPTAG.QUALIF Text to precede the :QUALIF. tag and to follow the :EQUALIF. tag.
    SETUPTAG.QUESTION Text to precede the :QUESTION. tag and to follow the :EQUESTION. tag.
    SETUPTAG.SCHDATE Text to precede and follow the :SCHDATE. tag (which generates a schedule chart).
    SETUPTAG.SCREEN Text to precede the :SCREEN. tag and to follow the :ESCREEN. tag.
    SETUPTAG.SYNTAX Text to precede the :SYNTAX. tag and to follow the :ESYNTAX. tag.
    SETUPTAG.TABDATA Text to precede the :TABDATA. tag and to follow the :ETABDATA. tag.
    SETUPTAG.TABLE Text to precede the :TABLE. tag and to follow the :ETABLE. tag. The before/after text is also propagated into each table cell.
    SETUPTAG.TIPAGE Text to precede and follow the :TIPAGE. tag (which generates the title page).
    SETUPTAG.TLIST Text to precede and follow the :TLIST. tag (which generates the list of tables).
    SETUPTAG.TOC Text to precede and follow the :TOC. tag (which generates the table of contents).
    SETUPTAG.XMP Text to precede the :XMP. tag and to follow the :EXMP. tag.

    Example 1: Cause the title page to be centered

       SETUPTAG.TIPAGE='<center>','</center>'
    

    Example 2: Enable a specific monospaced font for all syntax diagrams. (For a more detailed description, see 7.0.10, "FAQ 10: Syntax diagram characters don't look right")

      SETUPTAG.SYNTAX='<font face="courier">','</font>'
     
    Then this source:
      :SYNTAX ...
      (... the specification of the diagram ...)
      :ESYNTAX.
     
    Generates this HTML:
      <font face="courier"><PRE>
      (... the syntax diagram itself ...)
      </PRE></font>
    

    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 10.3, "Shading" for an example.

    Default values:

    Figure 8-7. 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 the SHADE=SCREEN attribute 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 PC workstations and SHOWLINES=NO on MVS and 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 | SCRIPTONLY | 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

    SPLITDIGITS='{ 2 | num }, { DEC | HEX | ALPHA | LALPHA }'
    When splitting the output file, this specifies how many digits will be appended to the end of the filename to ensure unique files. For example, SPLITDIGITS=2 might create abc.htm, abc02.htm, abc03.htm, etc. (See 5.9, "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
    LALPHA Alphanumeric (base 36) numbering using the digits 0-9,a-z

    Note: For compatibility with older releases of B2H, an option name of PARTDIGITS= is recognized as an alias of SPLITDIGITS=.

    Default: SPLITDIGITS='2,DEC'

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

    SPLITDIR.NEXT='[physical-file-name], [logical-file-name]'
    When you use the AUTOSPLIT= 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:

    SPLITDIR='physicaldir,logicaldir'
    All split files are directed to the specified directories

    SPLITDIR.3='physicaldir,logicaldir'
    The third split file is directed to the specified directories

    SPLITDIR.5-8='physicaldir,logicaldir'
    The fifth through eighth split files are directed to the specified directories

    SPLITDIR.NEXT='physicaldir,logicaldir'
    The next split file (wherever and whenever it occurs) is directed to the specified directories. This form of the option is normally included on a .*B2H OPTION statement within the source file.

    See 5.9.2, "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. SPLITDIR.1= is ignored as those values are represented by the OUTPUTP= and OUTPUTL= options

    3. If multiple SPLITDIR.NEXT= options are specified before the next time the input file is actually split, the options just overlay each other

    4. For compatibility with older releases of B2H, an option name of PARTDIR= is recognized as an alias of SPLITDIR=.

    SPLITLINK={ YES | NO }
    Specifies if you want B2H to automatically include NextPage/PrevPage/Table-Of-Contents/Index hyperlinks when splitting the HTML output file using AUTOSPLIT= or the .*B2H SPLIT command. If SPLITLINK=YES (the default), the linkage text defined for the SPLITLINK.x= options are used. (See 5.9, "Splitting the output HTML file into multiple files" for additional information.)

    Note: For compatibility with older releases of B2H, an option name of PARTLINK= is recognized as an alias of SPLITLINK=.

    Default: SPLITLINK=YES

    SPLITLINK.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 AUTOSPLIT= or the .*B2H SPLIT command. (See also the SPLITLINK= option.) B2H will not process the text other than to perform substitution for any &variables. (See 5.9, "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, "&Symbols pre-defined by B2H" lists the &variables which are provided with the intent of their being used within a SPLITLINK.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.

    Note: For compatibility with older releases of B2H, an option name of PARTLINK.x= is recognized as an alias of SPLITLINK.x=.

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

    SPLITNAME.NEXT='[physical-file-name], [logical-file-name]'
    When you use the AUTOSPLIT= option to split the output HTML file, B2H normally generates unique file names by appending a counter to the output filename. SPLITNAME.x= allows you to pre-specify the file names, overriding B2H's automatically-generated names. Each SPLITNAME.x= option designates both the physical and logical file name for the specific output file indicated by the "x" value. For example:
      SPLITNAME.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".
      SPLITNAME.NEXT='DOITNOW HTML A,doitnow.htm'
    
    This specifies that the next output file (whenever and wherever it occurs), should be physically created as "PROJDEF HTML A" and logically known as "projdef.htm". This form of the option is normally included on a .*B2H OPTION statement within the source file.

    Notes:

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

    2. See 5.9.2, "Specifying the location and file names when splitting the HTML output" for more information.

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

    4. If multiple SPLITNAME.NEXT= options are specified before the next time the input file is actually split, the options just overlay each other

    5. For compatibility with older releases of B2H, an option name of PARTNAME.x= is recognized as an alias of SPLITNAME.x=.

    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=''

    SYNFONT={ YES | NO }
    Use fonts within syntax diagrams (e.g. keywords in bold, variables in italics)? Some browsers use a different character width for bold/italic text than for regular text which causes alignment problems within the diagram. If all your users are using browsers that do not exhibit this behavior, specify SYNFONT=YES, otherwise stay with the default SYNFONT=NO. See 10.16, "Syntax drawings" for an example of syntax diagrams with and without using fonts.
    Default: SYNFONT=NO

    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 5.13, "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.b2hxrefs          (LINUX)
      userid.BOOK1.B2HXREFS   (MVS)
      BOOK1.B2X               (OS/2)
      BOOK1 B2HXREFS          (VM)
      BOOK1.B2X               (WIN95)
      BOOK1.B2X               (WINNT)
      book1.b2hxrefs          (UNIX)
    

    If SYSVAR='W projug', then:

      projug.b2hxrefs         (AIX)
      projug.b2hxrefs         (LINUX)
      userid.PROJUG.B2HXREFS  (MVS)
      PROJUG.B2X              (OS/2)
      PROJUG B2HXREFS         (VM)
      PROJUG.B2X              (WIN95)
      PROJUG.B2X              (WINNT)
      projug.b2hxrefs         (UNIX)
    

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

      acmea.b2hxrefs          (AIX)
      acmea.b2hxrefs          (LINUX)
      userid.ACMEA.B2HXREFS   (MVS)
      ACMEA.B2X               (OS/2)
      ACMEA B2HXREFS          (VM)
      ACMEA.B2X               (WIN95)
      ACMEA.B2X               (WINNT)
      acmea.b2hxrefs          (UNIX)
    

    Note: On AIX, Linux, OS/2, Windows 95/98/ME, Windows NT/2000/XP or UNIX, 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 file15 that contains symbols definitions for DVCF conditions. If specified, this should be the last parameter specified for this SYSVAR option.
      file                    (AIX)
      file                    (LINUX)
      filespec                (MVS)
      file.ext                (OS/2)
      fn ft fm                (VM)
      file.ext                (WIN95)
      file.ext                (WINNT)
      file                    (UNIX)
    
    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 5.6, "Recognizing and displaying the document's title". This option should always be specified when processing a 'flat' file. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.
    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. This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.
    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 itself 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,ts,te'
    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
    ts Tag to start the Table-Of-Contents
    te Tag to end the Table-Of-Contents

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

    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. See also 5.4, "Layout of the output HTML file" for additional information on how this option's value is used.

    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 profile15 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 file15 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 <PRE> or </PRE>, as apppropriate. If NO is specified, then the imbed statement is processed normally.
    Default: XEDITG=YES

    Chapter 9. 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).

    You can also include symbol table definitions within the source file itself. See 5.5, "Controlling B2H using statements within the source file" for more information on this technique.


    9.1 Syntax of a B2H Symbol Table record

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

    9.1.1 Continuation

    A logical definition can be split into multiple physical records by placing 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.


    9.2 Symbol Table Parameters

    9.2.1 Specifying '&symbols'

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

    Figure 9-1. Specifying an '&symbol'

    [(env)] :SYM. symbol [ symbol2 ... symbolx ]  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 control word, and BookMaster's .NAMEIT, .NAMECTR and .GETW macros. In addition, B2H defines some &symbols for it's own use. These are described in Appendix B, "&Symbols pre-defined by B2H".

    9.2.2 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 9-2. Specifying a Script/VS control word and/or BookMaster/GML macro

    [(env)] :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.16

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

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

    Note: This parameter is ignored if HTML 3 or higher is being generated.

    9.2.2.1 Special replacement text values for :CMD.

    The following special values may be specified as replacement text:

    &PGM

    Invoke an external program to process this control word or macro. See 5.15, "Invoking an external program" for additional information.

    &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.)

    9.2.3 Specifying BookMaster/GML tags

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

    Figure 9-3. Specifying a BookMaster/GML tag

    [(env)] :TAG. name [... name] IT=x VAT=x ATT=x SE=x V='text' [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.

    VAT={ Y | N }
    Does this tag allow single-word "value" attributes (e.g. COMPACT)? "Y" (YES) is assumed if omitted.

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

    SE={ Y | N }
    Is this 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'
    If HTML 2 output is being created, this is the value to be assigned to this tag when it appears within a BookMaster table. Any text can be provided here, including HTML, normal text, even other BookMaster or GML tags and macros.

    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 3 or higher is being generated.

    9.2.3.1 Special replacement text values for :TAG.

    The following special values may be specified as replacement text:

    &PGM

    Invoke an external program to process this tag. See 5.15, "Invoking an external program" for additional information.

    &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.

    9.2.4 Translation of single-byte values

    The :XLATEI. statement allows the translation of single-byte values to other values within input records. The :XLATEO. statement works similarly, except that it applies to HTML output records. A single-byte character can be translated to either another single-byte character or to a string.

    These statements are 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 5.10, "National Language Support (NLS) considerations").

    Figure 9-4. Specifying a character translation

    For input records:
         [(env)] :XLATEI. from to [ from2 to2 ... fromx tox ]
     
    For output HTML records:
         [(env)] :XLATEO. from to [ from2 to2 ... fromx tox ]
    

    :XLATEI.
    Specifies that this statement defines character translation(s) for an input record. Any translations specified here are performed prior to any translations specified within the source document via the .TI control word. (For compatability with older releases of B2H, :XLATE. is recognized as a synonym of :XLATEI..)

    :XLATEO.
    Specifies that this statement defines character translation(s) for an output HTML record Any translations specified here are performed after any translations specified within the source document via the .TR control word.

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

    to
    The character or text string to replace the source character. The replacement can be specified as:
    c A single character
    hh A 2-character hexadecimal code
    V='text string' The text string to replace the source character. Any text can be provided here, including HTML, normal text, even BookMaster tags and commands.
    Multiple pairs of translation sets can be specified on a single statement.

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

      :XLATEI. 34 5D # 24
    

    Example 2: On each input record, translate all X'93' characters to an HTML entity name.

      :XLATEI. 93 V='&lbrk;'
    

    Example 3: On each output HTML record, translate all X'AA' characters to a green exclamation point:

      :XLATEO. AA V='<font color="#00FF00">&#33;</font>'
    
    
    

    Chapter 10. Examples

    Partial Table-of-Contents

  • 10.1 Lists
  • 10.2 Tables
  • 10.3 Shading
  • 10.4 Directory lists
  • 10.5 Notes
  • 10.6 Question and Answers (TEXT mode)
  • 10.6.1 Fill-in-the-blank
  • 10.6.2 True/False
  • 10.6.3 Multiple-choice
  • 10.6.4 Matching
  • 10.6.5 Ordering
  • 10.6.6 Answers to sample questions
  • 10.7 Question and Answers (HTML FORM mode)
  • 10.7.1 Fill-in-the-blank
  • 10.7.2 True/False
  • 10.7.3 Multiple-choice
  • 10.7.4 Matching
  • 10.7.5 Ordering
  • 10.7.6 Answers to sample questions
  • 10.8 Figure with a screen image
  • 10.9 Labeled box
  • 10.10 Tabbed data
  • 10.11 :LINES and :XMP
  • 10.12 Schedules
  • 10.13 Messages and Codes
  • 10.13.1 A standard Message List with STYLE=RULE
  • 10.13.2 A modified Message List with COMPACT and STYLE=BOX
  • 10.13.3 A standard Code List with COMPACT
  • 10.13.4 A modified Code List with COMPACT and STYLE=BOX
  • 10.14 Interactive dialogs
  • 10.15 Line drawings (e.g. XEDITG, CHARGES)
  • 10.16 Syntax drawings
  • 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.


    10.1 Lists

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

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

      :ol.
      :li.List item number one
      :li.List item number two
      :ol compact.
      :li id=ltst2b.Nested compact ordered list: item one
      :li.item two
      :eol.
      :li.Maybe loop back to step :liref refid=ltst2b.
      :li.Resume original list, final item
      :eol.
    
    Results in:

    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 2a

    4. Resume original list, final item

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

    1. List item number one

    2. List item number two
      1. (LTST2B) 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:

      :ul.
      :li.List item number one
      :li.List item number two
      :ul compact.
      :li.Nested compact un-ordered list: item one
      :li.item two
      :eul.
      :li.Resume original list, final item
      :eul.
    
    Results in:

    A simple list:

      :sl.
      :li.List item number one
      :li.List item number two
      :sl compact.
      :li.Nested compact simple list: item one
      :li.item two
      :esl.
      :li.Resume original list, final item
      :esl.
    
    Results in:

    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):

      :dl termhi=3 tsize=4m.
      :dthd.Term
      :ddhd.Definition
      :dt.term1
      :dd.Definition for term1
      :dt.term2
      :dd.Definition for term2
      :dl tsize=4m compact.
      :dt.term2a
      :dd.Nested compact definition list: text for term2a
      :dt.term2b
      :dd.Definition for term2b
      :edl.
      :dt.term3
      :dd.Definition for term3
      :edl.
    
    Results in:

    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

    Same definition list using B2H's DLFMT=TABLE option (HTML 3 or higher 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

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

      :gl.
      :gt.binding edge
      :gd.The edge of a page to be bound, stapled, or drilled.
      Defined with the BIND option of the SCRIPT command.
      :gt.boldface
      :gd.A heavy-faced type
      :grpsep.C
      :gt.caption
      :gd.Text accompanying and describing an illustration
      :grpsep.T
      :gt.troglodyte
      :gdg.
      :gd.A prehistoric cave dweller
      :gd.A person who is still using index cards
      :gd.A computer nerd who keeps saying :q.I'll take a byte out of that!:eq.
      :gt.Zebra
      :gd.A striped animal from Africa
      :egl.
    
    Results in:

    binding edge
    The edge of a page to be bound, stapled, or drilled. Defined with the BIND option of the SCRIPT command.

    boldface
    A heavy-faced type

    C

    caption
    Text accompanying and describing an illustration

    T

    troglodyte
    (1) A prehistoric cave dweller
    (2) A person who is still using index cards
    (3) A computer nerd who keeps saying "I'll take a byte out of that!"

    Zebra
    A striped animal from Africa

    Same glossary list using B2H's GLFMT=TABLE option (HTML 3 or higher only):

    binding edge

    The edge of a page to be bound, stapled, or drilled. Defined with the BIND option of the SCRIPT command.

    boldface

    A heavy-faced type

    C

    caption

    Text accompanying and describing an illustration

    T

    troglodyte

    (1) A prehistoric cave dweller
    (2) A person who is still using index cards
    (3) A computer nerd who keeps saying "I'll take a byte out of that!"

    Zebra

    A striped animal from Africa


    10.2 Tables

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

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

    Figure 10-1. Example: The caption for a simple table with no frame
    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 10-2. Example: A simple table with a frame
    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 10-3. Example: Same table with additional embellishments
    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 10-4. Example: A complex table with varying columns by row
    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

    10.3 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.
      :tcap.Default appearances for SHADE
      :thd.:c.Shade Type :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 10-5. 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 10-6. Example: figure with light blue shading

        This is a small figure illustrating
        light blue background shading
    


    10.4 Directory lists

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

      :direct layout=2 cols='8 8 8'.
      :dirhdr.Module Called Entry
      :dirhdr.Name By Point
      :dentry.IJK30276 IJK30111 IJKA9762
      :dentry.     IJK30276 IJK30111 IJKA9762
      :dentry.IJK30276    IJK30111  IJKA9762
      :dentry.  IJK30276    IJK30111  IJKA9762
      :edirect.
    

    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

      :direct cols='3i .5i 1i'.
      :dirhdr.  Name  Ext 'Dept/Room'
      :dentry.'Doe, Alice' VC5  'Pav 301'
      :dentry.'Doe, John'  VC5  'Pav 302'
      :dentry.'Doe, Ken'   VC5  'Pav 312'
      :dentry.'Doe, Mary'  VC5  'Pav 312'
      :dentry.'Richtmeyer, Gary' VC5 'Spectrum 3046'
      :dentry.'Smith, John' VC1  'Pav 324'
      :dentry.'Smith, Mary' VC2  'Pav 322'
      :dentry.'Smith, Tom' VC3  'Pav 202'
      :dirsub.This is a &colon.dirsub. line
      :dentry.'Descarte, Rene'  VC5  'Pav 1024'
      :dentry.   'Doe, Jane'  VA1  'Pav 234'
      :dentry. 'Doe, John'  VC5  'Pav 302'
      :edirect.
    

    Name                            Ext    Dept/Room   
    Doe, Alice                      VC5    Pav 301
    Doe, John                       VC5    Pav 302
    Doe, Ken                        VC5    Pav 312
    Doe, Mary                       VC5    Pav 312
    Richtmeyer, Gary                VC5    Spectrum 3
     
    Smith, John                     VC1    Pav 324
    Smith, Mary                     VC2    Pav 322
    Smith, Tom                      VC3    Pav 202
     
    This is a :dirsub. line
     
    Descarte, Rene                  VC5    Pav 1024
    Doe, Jane                       VA1    Pav 234
    Doe, John                       VC5    Pav 302
    

    Same as above, but with COMPACT

    Name                            Ext    Dept/Room   
    Doe, Alice                      VC5    Pav 301
    Doe, John                       VC5    Pav 302
    Doe, Ken                        VC5    Pav 312
    Doe, Mary                       VC5    Pav 312
    Richtmeyer, Gary                VC5    Spectrum 3
    Smith, John                     VC1    Pav 324
    Smith, Mary                     VC2    Pav 322
    Smith, Tom                      VC3    Pav 202
     
    This is a :dirsub. line
     
    Descarte, Rene                  VC5    Pav 1024
    Doe, Jane                       VA1    Pav 234
    Doe, John                       VC5    Pav 302
    


    10.5 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

    10.6 Question and Answers (TEXT mode)

    10.6.1 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:
     _________
     _________
     _________
    

    10.6.2 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.

    10.6.3 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.

    10.6.4 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

    10.6.5 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

    10.6.6 Answers to sample questions

      :p.These are the 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 the 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


    10.7 Question and Answers (HTML FORM mode)

    The following examples were generated using the B2H option:

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

    10.7.1 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:
       

    10.7.2 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.

    10.7.3 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.

    10.7.4 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

    10.7.5 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

    10.7.6 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


    10.8 Figure with a screen image

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

    Figure 10-7. Example: 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        |
    +--------------------------------------------------------------------------------+


    10.9 Labeled box

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

    10.10 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 (using LINES=PRE, the default):
    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
    

    Same records, but now processed using LINES=BR):

    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


    10.11 :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
    


    10.12 Schedules

    Only schedule date tables are supported, not schedule charts.

      :schedule start='09/96' end='12/98' dateform='mm/dd/yy'
                listid=sch009 legend=yes scale='0.8'
                frame=box actsize='15' chart=no
                shade=yes split=yes width=column cmtsize=6.
        ·
        ·
      :eschedule.
      :schdate listref=sch009
               width=column actsize='15' cmtsize='6'
               split=yes scale='0.8' frame=box.
    
    Results in:
    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



    10.13 Messages and Codes

    10.13.1 A standard Message List with STYLE=RULE

      :msgl style=rule.
      :msgno.ABC123
      :msg.This is a test message
      :msgno.ABC124
      :msg.This is another test message
      :severity.4
      :probd.Problem determination text
      goes here
      :msgno.ABC125
      :msg.This is yet another test message
      :emsgl.
    



    ABC123This is a test message



    ABC124This is another test message

    Severity: 4

    Problem Determination: Problem determination text goes here



    ABC125This is yet another test message

    10.13.2 A modified Message List with COMPACT and STYLE=BOX

      :msgl compact style=box xpl='Cause'
            uresp='Recovery' spresp='Administrative Action' tsize=6m.
      :msgno.DJI7832E
      :msg.This message is issued when no data set of the
      name :mv.xxxxxxxx:emv. is found.
      :xpl.The processor could not locate
      the data set named :mv.xxxxxxxx:emv..
      :severity.8
      :probd.You would appear to have a problem!
      :uresp.Look for the data set.
      :oresp.Do not mount the lost data set.
      :presp.Help the user look for the data set.
      :sysact.The system goes and does something
      else while everyone looks for the data set.
        ·
        ·
      :emsgl.
    

    DJI7832EThis 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 while everyone looks for the data set.

    DJI7833ETHIS 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.

    10.13.3 A standard Code List with COMPACT

      :codel compact.
      :code.0C1
      :xpl.Occurs when an operation exception occurs.
      :severity.The program is terminated.
      :dest.Send the dump to the user.
      :code.0C4
      :xpl.Occurs when an invalid address is referenced.
      :severity.The program is terminated.
      :dest.Send the dump to the user.
      :ecodel.
    


    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.

    10.13.4 A modified Code List with COMPACT and STYLE=BOX

      :codel compact style=box xpl='Cause' dest='Do what?'.
      :code.0C1
      :xpl.Occurs when an operation exception occurs.
      :severity.The program is terminated.
      :dest.Send the dump to the user.
      :code.0C4
      :xpl.Occurs when an invalid address is referenced.
      :severity.The program is terminated.
      :dest.Send the dump to the user.
      :ecodel.
    

    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.


    10.14 Interactive dialogs

      :dialog tsize=5p
              user=You
              sys=Mythical
              keep=all.
      :sys.MYTHICAL IS READY FOR YOU.
      ARE YOU READY FOR MYTHICAL?
      :user.yes
      :sys.THEN PROCEED.
      :user.now what do i do?
      :sys.WHAT DO YOU EXPECT A MYTHICAL PROGRAM TO DO?
      :user.very little
      :sys.THAT'S EXACTLY WHAT THIS PROGRAM DOES!
      END.
      :edialog.
    
    Results in:

    Mythical MYTHICAL IS READY FOR YOU.
    ARE YOU READY FOR MYTHICAL?
    You yes
    Mythical THEN PROCEED.
    You now what do i do?
    Mythical WHAT DO YOU EXPECT A MYTHICAL PROGRAM TO DO?
    You very little
    Mythical THAT'S EXACTLY WHAT THIS PROGRAM DOES!
    END.


    10.15 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  |                  |
         |                  |<--------------------------*                  |
         *------------------*                           *------------------*
     
    


    10.16 Syntax drawings

      :syntax style=lblbox.Sample syntax diagram
        :kwd.ERASE
        :group choice.
          :kwd.FORM
          :kwd.PROC
          :kwd.QUERY
          :kwd.TABLE
          :egroup.
        :group.
          :repsep.&comma.
          :var.name
          :egroup.
        :group composite opt.
          :delim.(
          :kwd.CONFIRM
          :oper.=
          :group choice.
            :kwd def.YES
            :kwd.NO
            :kwd.LOCAL
            :var.yyyymmdd
            :egroup.
          :egroup.
        :esyntax.
    
    Sample syntax diagram (using :SYNFONT=NO)
     
                          <-,-----<
    >>--ERASE--+-FORM--+--V-name--+--+-------------------------+--><
               |       |             |                         |
               |-PROC--|             |           +-YES------+  |
               |       |             |           |          |  |
               |-QUERY-|             +--(CONFIRM=+-NO-------+--+
               |       |                         |          |
               +-TABLE-+                         |-LOCAL----|
                                                 |          |
                                                 +-yyyymmdd-+
    

    The accuracy of the appearance of the following syntax diagram is dependent on your browser.
    Sample syntax diagram (using :SYNFONT=YES)
     
                          <-,-----<
    >>--ERASE--+-FORM--+--V-name--+--+-------------------------+--><
               |       |             |                         |
               |-PROC--|             |           +-YES------+  |
               |       |             |           |          |  |
               |-QUERY-|             +--(CONFIRM=+-NO-------+--+
               |       |                         |          |
               +-TABLE-+                         |-LOCAL----|
                                                 |          |
                                                 +-yyyymmdd-+
    
    
    


    Appendix A. Symbols, control words, macros and tags supported by B2H


    A.1 &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, simply define it in a user symbol table and point B2H to it using the USERSYM= option.

    Figure A-1. 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 " &cdqf » &cdqg "
    &cedil ¸ &cent ¢ &char '
    &colon : &comma , &concat ||
    &copr © &copy © &copyr ©
    &csq ' &csqg ' &curren ¤
    &currency ¤ &darrow V &dash -
    &dbls § &dblxclam !! &dblxclm !!
    &deg ° &degree ° &div ÷
    &divide
    ÷ &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
    &florin
    ƒ &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 º &mathast *
    &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 " &odqf «
    &odqg " &Oe Ö &oe ö
    &OElig OE &oelig oe &Og Ò
    &og ò &Ograve Ò &ograve ò
    &ordf ª &ordm º &Os Ø
    &os ø &Oslash Ø &oslash ø
    &osq ' &osqg ' &Ot Õ
    &ot õ &Otilde Õ &otilde õ
    &Ouml Ö &ouml ö &oumlaut ö
    &ous o &par &para
    &per . &percent % &period .
    &plus + &plusend + &plusmin ±
    &plusmn ± &plusop + &pm ±
    &pound £ &prime ' &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 *
    &sub0 0 &sub1 1 &sub2 2
    &sub3 3 &sub4 4 &sub5 5
    &sub6 6 &sub7 7 &sub8 8
    &sub9 9 &sup0 0 &sup1 1
    &sup2 2 &sup3 3 &sup4 4
    &sup5 5 &sup6 6 &sup7 7
    &sup8 8 &sup9 9 &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 ÿ


    A.2 System &Symbols

    The following "system-type" symbols, set by Script/VS, GML and Bookmaster, are also set by B2H to allow user-written macros and other markup to execute under B2H without modification as much as possible.

    Figure A-2. System &symbols
    Symbol Description Value
    Date and Time
    &SYSYEAR Year of the century 00-99
    &SYSMONTH Month of the year 01-12
    &SYSDAYOFM Day of the month 01-31
    &SYSDAYOFW Day of the week 1-7 ("1" is Sunday)
    &SYSDAYOFY Day of the year 001-366
    &SYSHOUR Hour of the day 00-23
    &SYSMINUTE Minute of the hour 00-59
    &SYSSECOND Second of the minute 00-59
    &$YEAR Four-digit year yyyy
    Output Device Characteristics
    &$LDEV Logical output device HTMLx (e.g. HTML2, HTML3, HTML4)
    &$OUT Output destination FILE
    &$PDEV Physical output device HTMLx (e.g. HTML2, HTML3, HTML4)
    SCRIPT Command Options
    &$ASCI ASCII output being generated 0 (no) or 1 (yes)
    &$DCF Current SCRIPT/VS (or in this case, B2H) release level Release 4.7
    &$INDX Index requested? 0 (no) or 1 (yes)
    &$LIB Macro library available 0
    &$PARM Command options Any options passed to B2H on the command line
    &$PASS Current pass number 1 (always)
    &$PSNO Number of formatting passes requested 1 (always)
    &$SYS Environment Name of current platform (see also the description of &b2hplatc)
    &$TWO TWOPASS specified? 0 (always)
    SCRIPT/VS Formatter Parameters
    &$CW Control word separator Set by .DC (defaults to ';')
    &$EGML GML end-tag delimiter Set by .DC (defaults to ':E')
    &$FNAM Current input file name File name of the input file
    &$GML GML tag delimiter Set by .DC (defaults to ':')
    &$PN Page number 1 (always)
    &$RB Required blank &nbsp;
    &$TAB Tab character  
    Miscellaneous system symbols
    &$IXB   A single blank
    &$IXI   A null string
    &$MCS   A single period ('.')


    A.3 &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 A-3. 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.
    &X' Converts a hexadecimal notation (may be the value of another symbol) to a character string using the character coding of the platform on which B2H is currently running (ASCII if running on a PC, EBCDIC if running on a mainframe). The &$ASCI symbol is set to 1 (one) if running on an ASCII platform, otherwise the symbol is set to 0 (zero).


    A.4 Script/VS control words


    Figure A-4. Supported Script/VS control words
    The "How?" column contains an "S" if the control word is supported via a Symbol table definition or an "I" if the control word is supported via a B2H internal routine.
    Control Word How? Comments Related B2H options
    ...label I Both with and without a blank prior to the label name
    .AN I

    .BF I Begins the specified font. FONTTAG=
    .BL S Mapped to new-paragraph. When SOURCE=SCRIPT, a .BL is automatically generated and executed whenever a blank line is processed.
    .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 blanks17 or by using the HTML <CENTER> tag. The CENTERTAG= option specifies which technique is used. CENTERTAG= and LINEWIDTH=
    .CP S Mapped to new-paragraph
    .CS I

    .CT S Text included as-is.
    .DC I Only the CW and GML operands are supported. For GML, if less than two values are specified or if "OFF" is specified for either of the first two values, error message 456 is issued and the control word is ignored.
    .DD I The LIB operand (whether explicitly specified or defaulted) is supported on all platforms. On MVS, the DD and DSN operands are also supported. If the TERM operand is specified, the entire control word 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.


    .DV I

    .EF I The CLOSE option is supported.
    .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 control word
    all other operands are ignored.
    CENTERTAG=
    .GO I Branching only to a label later in the file is supported. ".GO" control words branching to a label earlier in the file are ignored. See additional comments in Chapter 6, "Caveats and restrictions (what's supported and what's not!)".

    The alternate formats ".GOTO label" and ".GO TO label" are also recognized.


    .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. IMBFTEXT=
    .LB I

    .LI I

    .MG I

    .NF I

    .OR I

    .PA S Mapped to double new-paragraph
    .PF I Restores the previous font. FONTTAG=
    .PI I Only index terms 1 to 4 are used. The REF, ORDER, START, END and KEY attributes are ignored. INDEXREFLINK= and DEFTEXT= (DEFTEXT.INDEXENTRYL= and DEFTEXT.INDEXENTRYR=)
    .PP S

    .QQ I

    .QU I

    .RC I Formats supported:
    .RC n c
    .RC n ON
    .RC n OFF
    .RC n ON/OFF
    REVTAG=
    .RE I See the description of .SA for which values are saved/restored.
    .RV I

    .SA I The status of the following control words are saved: .CE, .DC, .FO, .TI, .TR, .UC, .UP and .US
    .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

    .SU I The "ON" and "OFF" operands are supported, all others are treated as if "ON".
    .SX I Implemented using a monospaced font on a line whose width is specified using the LINEWIDTH= option LINEWIDTH=
    .TC S Mapped to :TOC.
    .TD I

    .TH I

    .TI I
    See the :XLATEI. symbol table statement in 9.2.4, "Translation of single-byte values"
    .TR I
    See the :XLATEO. symbol table statement in 9.2.4, "Translation of single-byte values"
    .TY I

    .UC I

    .UP I

    .US I

     
     

    Control words not applicable or not supported; will be ignored

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


    A.5 BookMaster and GML macros


    Figure A-5. Supported BookMaster and GML macros
    The "How?" column contains an "S" if the macro is supported via a Symbol table definition or an "I" if the macro is supported via a B2H internal routine.
    Macro How? Comments
    .CONFIG I
    .GETW I All operands supported except GMLTYPE= and SCALE=.
    .INWIDTH I
    .NAMECTR I All functions supported, but the GMLTYPE=, SIZE= and CTRTYPE= operands are ignored
    .NAMEFILE I In addition to the required NAME=, the CMS=, TSOFULL= and TSOPART= operands are supported
    .NAMEIT I All operands 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 control word. 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


    A.6 BookMaster and GML tags


    Figure A-6. Supported BookMaster and GML tags
    The "How?" column contains an "S" if the tag is supported via a Symbol table definition or an "I" if the tag is supported via a B2H internal routine.
    Tag How? Comments (fully supported unless specified otherwise) Related B2H options
    :ABBREV. I Attributes supported: ID= DEFTEXT= (DEFTEXT.ABBREV=)
    :ABSTRACT. I Attributes supported: ID= DEFTEXT= (DEFTEXT.ABSTRACT=)
    :ADDRESS. I
    SETUPTAG=
    :ALINE. S

    :ANNOT. I
    ANNOT=, SETUPTAG= and SYSVAR='A value'
    :ANSREF I Attributes supported: FORM= and REFID= DEFTEXT= (DEFTEXT.QANSREF=)
    :ANSWER I Attributes supported: REFID=
    See also 5.11, "Question and Answer tags"

    :APL. S

    :APPENDIX. I
    APPHD1=, APPHD1X=, DEFTEXT= (DEFTEXT.APPENDIX=) and SETUPTAG=
    :ARTALT. I The comments for :ARTWORK apply equally to this tag also.
    :ARTDEF. I Both with and without ID= attribute
    :ARTWORK. I Attributes supported: ALIGN=, LABEL=, NAME=, REFID=, RULE and RUNIN

    If RULE specified or NAME= omitted, then the value for the HRTAG.1= option (normally <HR>) is inserted. If CENTERTAG=YES and HTML=3 or HTML=4 is specified, then the ALIGN=CENTER and ALIGN=RIGHT attributes are also supported by enclosing the image reference with the <CENTER> and </CENTER> HTML tags.

    ARTLINKIMG=, ARTSHOW=, ARTTYPE= and HRTAG=
    :ASMLIST. S

    :ATTACH. S

    :AUTHOR. I Attributes supported: TEXT=
    :BACKM. I

    :BIBLIOG. I Attributes supported: ID= DEFTEXT= (DEFTEXT.BIBLIOG=)
    :BIN. S

    :BINDNUM. I Displayed as part of the title page, since HTML has no "back cover" concept
    :BLANK I Attributes supported: ANS= and WIDTH=
    See also 5.11, "Question and Answer tags"

    :BODY. I

    :C. I

    :CAUTION. S

    :CGDEF. I Both with and without ID= attribute
    :CGRAPHIC. I Attributes supported: SCALE= and REFID=
    :CHAR. S

    :CHOICE I Attributes supported: ID=
    See also 5.11, "Question and Answer tags"

    :CIT. I Attributes supported: DOCID= SETUPTAG=
    :CODE. I

    :CODEL. I Attributes supported: COMPACT, DEST=, MODULE=, NUMBYTES=, ORESP=, PRESP=, PROBD=, REFID= SCALE=, SEVERITY=, SPRESP=, STYLE=, SYSACT=, URESP= and XPL=

    STYLE=RULE causes the value specified for the HRTAG.4= option (normally a <HR>) to be inserted around each :CODE. block.

    BORDERTAG=, DEFTEXT= (DEFTEXT.MCxxx), HRTAG= and SETUPTAG=
    :COPREXT. I

    :COPRNOTE. I

    :DANGER. S

    :DATE. I

    :DD. I

    :DDHD. I

    :DELIM. I Attributes supported: OPT and REQ
    :DENTRY. I

    :DEST. I   DEFTEXT= (DEFTEXT.MCDEST=)
    :DIALDEF. I Both with and without ID= attribute
    :DIALOG. I Attributes supported: REFID=, SCALE=, SYS= and USER=
    For HTML 2 output, this is mapped to HTML's <DL COMPACT> tag; otherwise an HTML table is created.
    DIALOG= 18, DIALOGTAG= and SETUPTAG=
    :DIRDEF. I Both with and without ID= attribute
    :DIRECT. I Attributes supported: ALIGN=, CHUNK, COLS=, COMPACT, EXPAND, REFID= and SCALE=
    Implemented using a monospaced font on a line 78 characters wide.
    SETUPTAG=
    :DIRHDR. I

    :DIRSUB. I

    :DL. I Attributes supported: COMPACT, REFID= and TERMHI= DLFMT= and DLTAG=
    :DLDEF. I Both with and without ID= attribute
    :DOCNUM. I Attributes supported: LEVEL= DEFTEXT= (DEFTEXT.DOCNUM=)
    :DOCPROF. I Attributes supported: APPHD1=, APPHD1X=, BODYHD0=, BODYHD0X=, BODYHD1=, BODYHD1X=, DIALOG=, FBC=, FTSEP=, HEADNUM=, OLSEQ=, PTOC=, QRESET=, SCREEN= and TOC= All supported attributes are also available as individual B2H options.
    :DT. I

    :DTHD. I

    :FIG. I Attributes supported: CONCAT=, FRAME=, ID=, REFID=, SCALE=, SHADE= and WIDTH=PAGE

    When generating HTML 2: 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 or higher: the figure is enclosed within a single-row, single-cell table (with BORDER turned on if FRAME=NONE is not specified)

    BORDERTAG=, DEFTEXT= (DEFTEXT.FIGURE=), FIGCAPLOC=, HRTAG=, SETUPTAG= and SHADE=
    :FIGCAP. I

    :FIGDEF. I Both with and without ID= attribute
    :FIGDESC. S

    :FIGLIST. I Attributes supported: ID= DEFTEXT= (DEFTEXT.FIGLIST=), FBC= 18, FTLINK=, FTSEP= 18, SETUPTAG= and TFIGLISTTAG=
    :FIGREF. I Attributes supported: FORM= and REFID=
    :FILENUM. I Displayed as part of the title page, since HTML has no "back cover" concept
    :FN. I Attributes supported: CALLOUT= and ID=

    All footnotes are displayed at the end of the HTML file. (If the output HTML file is being "split" into multiple output files, footnotes accumulated within each file are shown at the end of that file.)

    DEFTEXT= (DEFTEXT.FOOTNOTES=), FNLINK=, FNTAG=, HRTAG= and SETUPTAG=
    :FNREF. I Attributes supported: FORM= and REFID=
    :FRAGMENT. I

    :FRAGREF. I Attributes supported: OPT and REQ
    :FRONTM. I

    :GD. I

    :GDG. I

    :GDOC. I Attributes supported: COPYR= and SEC=
    :GL. I Attributes supported: COMPACT GLFMT= and GLTAG=
    :GLOSSARY. I Attributes supported: ID= DEFTEXT= (DEFTEXT.GLOSSARY=)
    :GROUP. I Attributes supported: CHOICE, COMPOSITE, DEF, OPT, REQ and SEQ
    :GRPSEP. S

    :GT. I

    :H0., :H1., :H2., :H3., :H4. ... :H18., :H19. and :H20. I Attributes supported: ID=, NUM= and REF=
    If BookManager's RES= attribute is encountered, an HTML "anchor" is also generated using the exact same name as that specified for the RESID attribute.
    BODYHD0= 18, BODYHD0X= 18, BODYHD1= 18, BODYHD1X= 18, FBC= 18, HEADNUM= 18, HTAG=, PTOC= 18, SETUPTAG= and TOC= 18
    :HDREF. I Attributes supported: FORM= and REFID=
    :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
    :IH1. I Attributes supported: CIX1=, CIX2= ... CIX9=, ID=, SEE= and SEEID=
    :IH2. I Attributes supported: ID=, REFID=, SEE= and SEEID=
    :IH3. I Attributes supported: ID= and REFID= INDEXREFLINK= and DEFTEXT= (DEFTEXT.INDEXENTRYL= and DEFTEXT.INDEXENTRYR=)
    :I1. I Attributes supported: CIX1=, CIX2= ... CIX9=, ID= and PG= (PG=END causes the tag to be ignored).
    :I2.-:I3. I Attributes supported: ID=, PG= (PG=END causes the tag to be ignored) and REFID=. INDEXREFLINK= and DEFTEXT= (DEFTEXT.INDEXENTRYL= and DEFTEXT.INDEXENTRYR=)
    :IBMLPS. I Attributes supported: COPYR= and SEC=
    :INDEX. I Attributes supported: ID= DEFTEXT= (DEFTEXT.INDEXxxx=), INDEX=, INDEXTAG=, INDEXTOC= and INDEXTOCTAG=
    :IREF. I Attributes supported: PG= (PG=END causes the tag to be ignored) and REFID=
    :KWD. I Attributes supported: DEF, OPT and REQ
    :L. I Attributes supported: LID=
    See 5.12, "Interdocument linking (BookManager tags)" for more information.

    :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 or higher, a single-cell, two-row table is generated. BORDERTAG=, LINEWIDTH= and SETUPTAG=
    :LDESC. I Attributes supported: DOCID=, OBJECT= and OBJTYPE=

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

    The DOCID= attribute points to the B2H DOCDESC= option, not the :DOCDESC tag. See 5.12, "Interdocument linking (BookManager tags)" for more information.

    DOCDESC=
    :LEDI. I Attributes supported: ID=, TEXT= and all the category-related attributes. DEFTEXT= (DEFTEXT.LERSxxxx)
    :LEGEND. I Attributes supported: ID= DEFTEXT= (DEFTEXT.LEGEND=)
    :LEN. I Attributes supported: ID= HRTAG=
    :LERS. I Attributes supported: LEDIHD=, LEHD=, REFID=, SEP= and all the category-related attributes.

    If SEP=RULE attribute specified, then the value for the HRTAG.10= option (normally <HR>) is inserted prior to each :LEN tag.

    DEFTEXT= (DEFTEXT.LERSxxxx=), HRTAG= and SETUPTAG=
    :LERSDEF. I Both with and without ID= attribute
    :LI. I Attributes supported: ID=
    :LIBRARY. I See also 5.6, "Recognizing and displaying the document's title". TITLE=
    :LINES. I
    LINES= and SETUPTAG=
    :LIREF. I Attributes supported: FORM= and REFID= LIREF=
    :LITDATA I Attributes supported: NAME= SETUPTAG=
    :LP. S

    :LQ. S

    :MATCH. I Attributes supported: ANSID=
    See also 5.11, "Question and Answer tags"

    :MCDEF. I Both with and without ID= attribute
    :MD. S

    :MODULE. I   DEFTEXT= (DEFTEXT.MCMODULE)
    :MSG. I

    :MSGL. I Attributes supported: COMPACT, DEST=, MODULE=, NUMBYTES=, ORESP=, PRESP=, PROBD=, REFID= SCALE= SEVERITY=, SPRESP=, STYLE=, SYSACT=, URESP= and XPL=

    STYLE=RULE causes the value specified for the HRTAG.4= option (normally a <HR>) to be inserted around each :MSG. block.

    BORDERTAG=, DEFTEXT= (DEFTEXT.MCxxx), HRTAG= and SETUPTAG=
    :MSGNO. I

    :MV. S

    :NOTE. I Attributes supported: TEXT= DEFTEXT= (DEFTEXT.NOTE=)
    :NOTEL. I Attributes supported: COMPACT and TEXT= DEFTEXT= (DEFTEXT.NOTEL=), NOTELTAG= and SETUPTAG=
    :NOTICES. S

    :NT. I Attributes supported: TEXT= DEFTEXT= (DEFTEXT.NT=) and SETUPTAG=
    :NUMBYTES. I   DEFTEXT= (DEFTEXT.MCNUMBYTES)
    :OL. I Attributes supported: COMPACT OLSEQ= 18, OLTAG=
    :OPER. I Attributes supported: DEF, OPT and REQ
    :ORESP. I   DEFTEXT= (DEFTEXT.MCORESP)
    :P. S

    :PARML. S Attributes supported: COMPACT.
    Mapped to HTML's <DL> tag.

    :PARTNUM. I Displayed as part of the title page, since HTML has no "back cover" concept
    :PD. S Mapped to HTML's <DD> tag
    :PGMNUM I

    :PK. I Attributes supported: DEF SETUPTAG=
    :PREFACE. I Attributes supported: ID= DEFTEXT= (DEFTEXT.PREFACE=)
    :PRESP. I
    DEFTEXT= (DEFTEXT.MCPRESP)
    :PROBD. I   DEFTEXT= (DEFTEXT.MCPROBD)
    :PRTLOC. I Displayed as part of the title page, since HTML has no "back cover" concept
    :PSC. I Attributes supported: OMIT=, PROC= and XPROC=
    See additional comments in Chapter 6, "Caveats and restrictions (what's supported and what's not!)".
    HTML= and PSC=
    :PT. S Mapped to HTML's <DT> tag
    :PTOC. I Attributes supported: LEVELS=
    The tag is ignored if the MANUAL attribute is specified.
    DEFTEXT= (DEFTEXT.PTOCxx=), PTOC= 18, SETUPTAG=, TOCC=, TOCINDENT=, TOCSUPPRESS= and TOCTAG=
    :PV. S

    :Q. S

    :QITEM. I Attributes supported: ANS= See also 5.11, "Question and Answer tags"
    :QREF. I Attributes supported: FORM= and REFID=
    :QUALIF. I The width of the qualification header and trailer line is defined by the value of the LINEWIDTH= option. LINEWIDTH= and SETUPTAG=
    :QUESTION I Attributes supported: DINGBAT=, FORM= and ID=
    See also 5.11, "Question and Answer tags".
    DEFTEXT= (DEFTEXT.QQREF=), QRESET= 18, QUESTION= and SETUPTAG=
    :RELEASE. I

    :REPSEP. I Attributes supported: OPT and REQ
    :REV. I Attributes supported: REFID= REVTAG=
    :REVISION. I Attributes supported: CHAR=, ID= and RUN= REVTAG=
    :RK. S

    :ROW. I Attributes supported: REFID= and TEMP
    :SAFETY. I Attributes supported: ID= DEFTEXT= (DEFTEXT.SAFETY=)
    :SCHDATE. I Attributes supported: ACTHD=, CMTHD=, CMTSIZE=, LISTREF= and SCALE= BORDERTAG= and SETUPTAG=
    :SCHDEF. I Both with and without ID= attribute
    :SCHEDULE. I Attributes supported: ACTHD=, CMTHD=, CMTSIZE=, LISTREF= and REFID=
    Schedule tables are supported, but not schedule charts
    DEFTEXT= (DEFTEXT.SCHEDACTHD=)
    :SCHI. I Attributes supported: CMT=
    :SCRDEF. I Both with and without ID= attribute
    :SCREEN. I Attributes supported: REFID=, SCALE= and WIDTH=
    The width of the screen image is determined by the WIDTH= attribute, or, if omitted, the value of the LINEWIDTH= option.
    LINEWIDTH=, SETUPTAG= and SHADE= 18
    :SEP. I Attributes supported: OPT and REQ
    :SEVERITY. I   DEFTEXT= (DEFTEXT.MCSEVERITY)
    :SL. I Attributes supported: COMPACT SLTAG=
    :SOA. I Attributes supported: ID= DEFTEXT= (DEFTEXT.SOA=)
    :SPOT. I Attributes supported: ID= and XREFTEXT= DEFTEXT= (DEFTEXT.SPOTx=)
    :SPOTREF. I Attributes supported: FORM= and REFID=
    :SPRESP. I   DEFTEXT= (DEFTEXT.MCSPRESP)
    :SUB. S

    :SUP. S

    :SYNDEF. I Both with and without ID= attribute
    :SYNNT. I Attributes supported: ID= and CALLOUT= DEFTEXT= (DEFTEXT.SYNNT=)
    :SYNNTREF. I Attributes supported: REFID=
    :SYNOPSIS. S

    :SYNTAX. I Attributes supported: REFID=, SCALE=, STYLE= and VIEW= BORDERTAG=, DEFTEXT= (DEFTEXT._xxx=), HRTAG=, SETUPTAG= and SYNFONT=
    :SYS. I

    :SYSACT. I   DEFTEXT= (DEFTEXT.MCSYSACT)
    :TABDATA. I Attributes supported: ALIGN= (including fill-character), CHAR=, COLS=, REFID=, SCALE= and W1=, W2=, ... W9= SETUPTAG=
    :TABDDEF. I Both with and without ID= attribute
    :TABLE. I Attributes supported: ALIGN=, ARRANGE=, COLS=, CONCAT=, CWIDTHS=, FRAME=, HP=, ID=, REFID=, SCALE=, SHADE=, VALIGN= (if generating HTML 3 or higher) and WIDTH=PAGE

    Implementation is dependent on the HTML release being generated. If HTML=2, the width of the table is defined by the value of the LINEWIDTH= option. For more information, see 6.1, "Special information about tables".

    BORDERTAG=, DEFTEXT= (DEFTEXT.TABLE), LINEWIDTH=, SETUPTAG=, SHADE=, and TABLE2=
    :TCAP. I

    :TDEF. I Both with and without ID= attribute
    :TDESC. I

    :TFT. I Attributes supported: REFID= and TEMP
    :THD. I Attributes supported: REFID= and TEMP
    :TIPAGE. I   SETUPTAG=
    :TITLE. I Attributes supported: STITLE=
    See also 5.6, "Recognizing and displaying the document's title".
    TITLE=
    :TITLEP. I Attributes supported: STITLE=
    See also 5.6, "Recognizing and displaying the document's title".
    TITLE=
    :TLINE. S

    :TLIST. I Attributes supported: ID= DEFTEXT= (DEFTEXT.TLIST), FBC= 18, FTLINK=, FTSEP= 18, SETUPTAG=, TFIGLISTTAG= and TLIST=
    :TNOTE. I Attributes supported: TEXT=
    :TOC. I
    DEFTEXT= (DEFTEXT.TOC), HRTAG=, SETUPTAG=, TOCC=, TOCINDENT=, TOCRET=, TOCSUPPRESS= and TOCTAG=
    :TOPIC. I See also 5.6, "Recognizing and displaying the document's title". TITLE=
    :TP. S

    :TREF. I Attributes supported: FORM= and REFID=
    :UL. I Attributes supported: COMPACT ULTAG=
    :URESP. I    DEFTEXT= (DEFTEXT.MCURESP)
    :USER. I

    :USERDOC. I Attributes supported: COPYR=, IBMCOPYR and SEC=
    :VAR. I Attributes supported: DEF, OPT and REQ
    :VENDOR. I Displayed as part of the title page, since HTML has no "back cover" concept
    :VERSION. I

    :VNHD. S

    :VNOTICE. I

    :VOLNUM. I    DEFTEXT= (DEFTEXT.VOLNUM=)
    :WARNING. S

    :WARRANTY I Attributes supported: SUBJECT=,
    :XMP. S Attributes supported: REFID= and SCALE= SETUPTAG=
    :XMPDEF. I Both with and without ID= attribute
    :XPH. S

    :XPL. I   DEFTEXT= (DEFTEXT.MCXPL)
     
     

    Not applicable or not supported; will be ignored

    :AUTOLIK., :CAUSE., :CC. :CI., :CIREF., :CLETTER., :CMT., :COMPANY., :COMPL., :COVER., :CT., :DC., :DF., :DFDEF., :F., :FIGSEG., :FLE., :FROM., :GRID., :GRIDAREA., :GRIDDEF., :GRIDSEG., :IBMX., :INIT., :IZIP., :LOC., :MAP., :MAPDEF., :MAPQFIX., :MARKDESC., :MARKLIST., :MARKNT., :MKACTION., :MKCLASS., :MKINDEX., :NAME., :NETID., :NITEM., :OVERART., :OVERLAY., :PARTSASM., :PC., :PHONE., :PNINDEX., :PROLOG., :QT., :REF., :RETKEY., :REVCW., :REVPF., :REVPP., :REVPT., :REVSLUG., :SCHNOTE., :SEP., :SIG., :SNOTICE., :ST., :STEP., :STEPREF., :SUBJECT., :TCE0., :TCE1., :TCE2., :TCE3., :TCE4., :TCE5., :TCE6., :TCE7., :TCE8., :TCE9., :TCE10., :TCE11., :TCE12., :TCE13., :TCE14., :TCE15., :TCE16., :TCE17., :TCE18., :TCE19., :TCE20., :TLE., :TO., :TPCODE.


    Appendix B. &Symbols pre-defined by B2H

    In addition to the normal &symbols provided by Script/VS, GML and BookMaster, B2H also provides a number of special-use &symbols. These are most often used within header and footer files and in conjunction with certain options, such as SPLITLINK.x= and COMMENT=.
    &symbol 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 as specified by the HTML= option. Contains the number 2, 3 or 4.
    &b2hhtmlid The appropriate value of the HTMLDOCID= option for the HTML release being generated.
    &b2hiall The fully-qualified name of the input file
      AIX:   /path/subdir/hh1.h2.hhh3
      CMS:   fn ft fm
      LINUX: /path/subdir/hh1.h2.hhh3
      MVS:   userid.h1.h2.h3   userid.h1.h2.h3(member)
      OS/2:  c:\dir\subdir\fname.ext
      WIN95: c:\dir\subdir\fname.ext
      WINNT: c:\dir\subdir\fname.ext
      UNIX:  /path/subdir/hh1.h2.hhh3
    
    &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/
      CMS:   (Null string)
      LINUX: /path/subdir/
      MVS:   (Null string)
      OS/2:  c:\dir\subdir\
      WIN95: c:\dir\subdir\
      WINNT: c:\dir\subdir\
      UNIX:  /path/subdir/
    
    &b2hifile The non-path portion of the input file
      AIX:   hh1.h2.hhh3
      CMS:   fn ft
      LINUX: hh1.h2.hhh3
      MVS:   userid.h1.h2.h3   userid.h1.h2.h3(member)
      OS/2:  fname.ext
      WIN95: fname.ext
      WINNT: fname.ext
      UNIX:  hh1.h2.hhh3
    
    &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
      CMS:   fn ft fm
      LINUX: /path/subdir/hh1.h2.hhh3
      MVS:   userid.h1.h2.h3
      OS/2:  c:\dir\subdir\fname.ext
      WIN95: c:\dir\subdir\fname.ext
      WINNT: c:\dir\subdir\fname.ext
      UNIX:  /path/subdir/hh1.h2.hhh3
    
    &b2holpath The path of the logical output file (if appropriate)
      AIX:   /path/subdir/
      CMS:   (Null string)
      LINUX: /path/subdir/
      MVS:   (Null string)
      OS/2:  c:\dir\subdir\
      WIN95: c:\dir\subdir\
      WINNT: c:\dir\subdir\
      UNIX:  /path/subdir/
    
    &b2holfile The non-path portion of the logical output file
      AIX:   hh1.h2.hhh3
      CMS:   fn ft
      LINUX: hh1.h2.hhh3
      MVS:   userid.h1.h2.h3
      OS/2:  fname.ext
      WIN95: fname.ext
      WINNT: fname.ext
      UNIX:  hh1.h2.hhh3
    
    &b2hopall The fully-qualified name of the physical output file
      AIX:   /path/subdir/hh1.h2.hhh3
      CMS:   fn ft fm
      LINUX: /path/subdir/hh1.h2.hhh3
      MVS:   userid.h1.h2.h3
      OS/2:  c:\dir\subdir\fname.ext
      WIN95: c:\dir\subdir\fname.ext
      WINNT: c:\dir\subdir\fname.ext
      UNIX:  /path/subdir/hh1.h2.hhh3
    
    &b2hoppath The path of the physical output file (if appropriate)
      AIX:   /path/subdir/
      CMS:   (Null string)
      LINUX: /path/subdir/
      MVS:   (Null string)
      OS/2:  c:\dir\subdir\
      WIN95: c:\dir\subdir\
      WINNT: c:\dir\subdir\
      UNIX:  /path/subdir/
    
    &b2hopfile The non-path portion of the physical output file
      AIX:   hh1.h2.hhh3
      CMS:   fn ft
      LINUX: hh1.h2.hhh3
      MVS:   userid.h1.h2.h3
      OS/2:  fname.ext
      WIN95: fname.ext
      WINNT: fname.ext
      UNIX:  hh1.h2.hhh3
    
    &b2hparttop The applicable next/prev links for the top of an HTML output file. Normally referenced 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 SPLITLINK.1, SPLITLINK.3, SPLITLINK.5, SPLITLINK.11, SPLITLINK.13 or SPLITLINK.15, depending on the circumstances.
    &b2hpartbot The applicable next/prev links for the bottom of an HTML output file. Normally referenced 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 SPLITLINK.2, SPLITLINK.4, SPLITLINK.6, SPLITLINK.12, SPLITLINK.14 or SPLITLINK.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, CMS, HPFS, Linux, MVS, OS2, WIN95, WINNT, UNIX
    &b2hplatd The name of the destination platform, as specified by the DESTSYS= option
    &b2hrevchar Contains the revision character identifying the .rc control word 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)
      CMS:   BY userid AT node
      LINUX: (Null string)
      MVS:   BY userid AT node
      OS/2:  (Null string)
      WIN95: (Null string)
      WINNT: (Null string)
      UNIX:  (Null string)
    
    Note: The following &symbols are specifically intended to be referenced within a SPLITLINK.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
    &b2hptoc HTML file/label for the start of the most-recent Partial Table-of-Contents (PTOC). Equivalent to &b2htoc if no PTOC yet encountered.
    &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


    Appendix C. B2H Messages

    During a conversion, B2H generates many messages relative to the conversion. The QUIET and NOISY options specify if the messages are displayed on the console and the LOG= option specifies if the messages are written to a disk file. Whether the message numbers are included with the message is specified by the MSGNUM= option (MSGNUM=YES is the default).

    If a message refers to a specific record in a source file, two additional lines are also displayed. For example (assuming MSGNUM=YES):

    B2H455 WARNING: No tag-ending period found         <-- message
    B2H455 WARNING:   :li this is item one             <-- source line
    B2H455 WARNING:   (in line 351 of projdoc.script)  <-- source line location
    



    B2H100CurrSys=sys, DestSys=sys, Input=file

    Explanation: Shown at start of conversion, this displays the current platform, the destination platform and the full name of the input file.
    Severity: Informational



    B2H101PhysicalOut=file, LogicalOut=file

    Explanation: The physical and logical output files being created (see 5.3, "Cross-Platform considerations" for more information). If splitting the output files (AUTOSPLIT= option is not NO), messages 102 and 103 are shown instead of this message.
    Severity: Informational



    B2H102PhysicalOut=file, file2, ...

    Explanation: The physical files being created when splitting the output (see 5.9, "Splitting the output HTML file into multiple files" and 5.3, "Cross-Platform considerations" for more information).
    Severity: Informational



    B2H103LogicalOut=file, file2, ...

    Explanation: The logical files being created when splitting the output (see 5.9, "Splitting the output HTML file into multiple files" and 5.3, "Cross-Platform considerations" for more information).
    Severity: Informational



    B2H104Beginning pass x of y (description)

    Explanation: Shows the progress of the conversion.
    Severity: Informational



    B2H105Conversion started: yyyy-mm-dd hh:mm:ss

    Explanation: Shows the date and time at the start of the conversion.
    Severity: Informational



    B2H106Conversion completed in nn.nn seconds

    Explanation: Shows the duration of the conversion.
    Severity: Informational



    B2H107Highest RC=rc

    Explanation: The highest return code encountered during the conversion (see 3.10, "Return codes" for more information).
    Severity: Informational



    B2H108Setting options using text

    Explanation: B2H options are being set using the text record shown.
    Severity: Informational



    B2H109Setting symbol table entry using text

    Explanation: A B2H symbol table entry is being set using the text record shown.
    Severity: Informational



    B2H112Tracing: routine routine2 ...

    Explanation: Used for problem determination by B2H support. Confirms the names of the routines to be traced as specified using the TRACELIST= option.
    Severity: Informational



    B2H114Generating the index ...

    Explanation: B2H is now generating the index.
    Severity: Informational



    B2H115INDEX requested, but :INDEX tag not found!

    Explanation: The INDEX or INDEX=YES option was specified, but no :INDEX tag was encountered in the source.
    Severity: Normally, Warning (RC set to 4), but this behavior can be overridden using the PROCACT= option.
    System Action: No index is generated.



    B2H118SPLITDIGITS=num too small, dynamically increasing to SPLITDIGITS=num

    Explanation: When splitting the output HTML file, the number of output files exceeds what can be represented by the specified number of suffix digits. See 5.9, "Splitting the output HTML file into multiple files" and SPLITDIGITS= option for more information.
    Severity: Warning (RC set to 4)
    System Action: The number of digits is increased by one.



    B2H120value is an unknown AUTOSPLIT option!

    Explanation: The value shown was encountered within the AUTOSPLIT option, but is unknown.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H121value not an ascending range for option

    Explanation: A hexadecimal range has been specified (e.g. F0-F4), but the second value is not larger than the first.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H122SYSVAR 'A' value not YES or NO!

    Explanation: The value for SYSVAR='A value' must be either YES or NO.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H123option is an unknown option

    Explanation: The displayed value is not recognized as a B2H option.
    Severity: Normally, B2H terminates, but this behavior can be overridden using the PROCACT= option.



    B2H124option option can not be set from within a source file unless prior to the first non-comment record of the main input file (file)!

    Explanation: Some B2H options require special handling, and restrictions apply if included within the source file. See options requiring special handling for more information.
    Severity: Warning (RC set to 4)
    System Action: The option is ignored.



    B2H125value is an invalid value for option

    Explanation: For the displayed option, the specified value is unknown or invalid.
    Severity: Normally, B2H terminates, but this behavior can be overridden using the PROCACT= option.



    B2H126option not available when HTML=2

    Explanation: The option (or specific value for an option) is not available when generating HTML 2 output.
    Severity: Warning (RC set to 4)
    System Action: The option (or value) is ignored.



    B2H128Output stream "x" not defined for LOG=STREAMx

    Explanation: When B2H is running as a Pipeline filter, you have requested that it write its log records to the specified output stream. But the specified output stream is not defined within the pipeline.
    Severity: Normally, B2H terminates, but this behavior can be overridden using the PROCACT= option.



    B2H151Unknown symbol table record

    Explanation: The displayed record was encountered within a symbol table, but is unrecognizable. See Chapter 9, "B2H Symbol Table" for additional information.
    Severity: Normally, B2H terminates, but this behavior can be overridden using the PROCACT= option.



    B2H152Unknown symbol table statement

    Explanation: The previously displayed record (see message 109) encountered within the source file is unrecognizable as a symbol table record. See Chapter 9, "B2H Symbol Table" for the syntax of a symbol table record.
    Severity: Normally, B2H terminates, but this behavior can be overridden using the PROCACT= option.



    B2H160Loading file ...

    Explanation: The specified profile or symbol table file is being processed.
    Severity: Informational



    B2H161file(recno): record

    Explanation: Shows a processed profile record (if SHOWPROF=YES specified) or processed symbol table record (if SHOWSYM=YES specified). Used for problem determination by B2H support.
    Severity: Informational



    B2H162Debug data: text

    Explanation: Shows various problem determination data when DEBUG=YES is specified. Used for problem determination by B2H support.
    Severity: Informational



    B2H200Environment type env unknown!

    Explanation: You are attempting to execute B2H on an unknown or unsupported platform.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H300file not found!

    Explanation: The specified file could not be located. On MVS and VM/CMS, B2H follows the same steps to locate an imbedded file as Script/VS/GML/BookMaster does. On a PC workstation, B2H provides the IMBFT= option, the IMBFTEXT= option and the IMBPATH= options to determine the name and location of an imbedded file.
    Severity: Depends on which file could not be found
    System Action: Depends on which file could not be found



    B2H301Unable to create file

    Explanation: B2H was unable to create the specified file. There are many reasons why this can occur:
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H302Reading file ...

    Explanation: The specified file has been opened and is being read.
    Severity: Informational



    B2H303..Imbedding file ...

    Explanation: The specified source file is being imbedded. The message's indentation corresponds to the "nesting" level of the imbed structure.
    Severity: Informational



    B2H304num lines read from file

    Explanation: Shows how many lines were read from the specified file.
    Severity: Informational



    B2H306num lines written to file

    Explanation: Shows how many lines were written to the specified file.
    Severity: Informational



    B2H310..Reading line num from file ...

    Explanation: Status message showing progress in reading the specified file. See the SHOWLINES= option for controlling whether this message is displayed and how often.
    Severity: Informational



    B2H312Adding lines from file

    Explanation: The lines from the specified file are being added to the HTML output.
    Severity: Informational



    B2H313desc DD=ddname not allocated and unable to locate DSN=dataset-name

    Explanation: Under MVS, the specified B2H system file is neither pre-allocated to the specified DDname, nor can the file be located using the default dataset name.
    Severity: Error (RC set to 8)
    System Action: Loading of the system file is bypassed, but additional errors often occur.



    B2H314DD ddname not allocated

    Explanation: Under MVS, the indicated file was specified using the "DD:ddname" notation, but ddname is not allocated.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H315DD ddname not DSORG={PS|PO}

    Explanation: Under MVS, the format of the "DD" control word does not match the dataset organization of the indicated file. One of the two following situations was detected:
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H316Member member not found in dataset(s) allocated to DD ddname

    Explanation: Under MVS, the input file was specified as "DD:ddname(member)", but the specified member can not be found within the dataset(s) allocated to ddname.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H317RC=rc optdesc writing to dataset RECORD=record

    Explanation: An error was detected while writing to the specified output file. The most common cause is that the output disk (or output allocation) has filled up. record is the record being written when the error occurred.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H318RC=rc allocating DD=ddname Command=alloc-cmd

    Explanation: An error was detected while attempting to allocate a new dataset under MVS. alloc-cmd contains the command attempted. This is usually caused by an invalid value specified for the MVSALLOC.name= option resulting in the TSO ALLOC command failing.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.



    B2H401Not a valid SCRIPT/VS control word

    Explanation: The specified control word is not recognized. Custom control words and macros can be supported by defining them in a symbol table, see 5.14, "Supporting custom tags, control words, macros or symbols" for more information.
    Severity: Normally, Warning (RC set to 4), but this behavior can be overridden using the PROCACT= option.



    B2H403tag not a valid BookMaster/GML tag

    Explanation: The specified tag is not recognized. Custom tags can be supported by defining them in a symbol table, see 5.14, "Supporting custom tags, control words, macros or symbols" for more information.
    Severity: Normally, Warning (RC set to 4), but this behavior can be overridden using the PROCACT= option.



    B2H411tag (in record num of file) never ended

    Explanation: A "start-type" tag was encountered, but no accompanying "end-type" tag was found, e.g. :hp1 missing it's :ehp1 tag. See TAGCHECK= option for suppressing this message.
    Severity: Normally, Warning (RC set to 4), but this behavior can be overridden using the PROCACT= option.



    B2H412Missing :ETITLE. or :ETITLEP. tag!

    Explanation: A start-of-title-page was encountered (a :TITLE, :LIBRARY or :TOPIC tag was found), but the title page was never ended. See TAGCHECK= option for suppressing this message.
    Severity: Normally, Warning (RC set to 4), but this behavior can be overridden using the PROCACT= option.
    System Action: The main document is treated as part of the title. This usually results in only the title-page tags being displayed (the remainder of the document disappears!).



    B2H413tag found outside of a tag-group

    Explanation: A tag was found outside of where it is supposed to be. For example, a :C or :ROW outside of a table, :CHOICE not within a :QUESTION, a :DD outside of a :DL, etc. See TAGCHECK= option for suppressing this message.
    Severity: Warning (RC set to 4)



    B2H414tag out of sequence

    Explanation: A tag is not in the right sequence with it's related tags. For example, within a definition list (:DL), a :DD has no preceding :DT, or multiple :DT tags were encountered with no intervening :DD tags. See TAGCHECK= option for suppressing this message.
    Severity: Warning (RC set to 4)



    B2H415tag already in effect

    Explanation: A "start-tag" (which can not be "nested") was encountered while a previous "start-tag" of the same type is still in effect. For example, a :FIG within a figure, a :TABLE within a table, a :REV within a revision of the same identifier. This situation can also be caused by a missing "end-tag". See TAGCHECK= option for suppressing this message.
    Severity: Warning (RC set to 4)



    B2H416No tag outstanding!

    Explanation: An "end-tag" was encountered, but it's equivalent "start-tag" is not in effect. For example, an :EHP1 with no preceding :HP1 or an :EFIG with no preceding :FIG. See TAGCHECK= option for suppressing this message.
    Severity: Warning (RC set to 4)



    B2H417:SCHEDULE LISTID=id not defined prior to :SCHDATE

    Explanation: The :SCHEDULE tag referenced by :SCHDATE was not physically defined before the :SCHDATE tag was encountered.
    Severity: Warning (RC set to 4)



    B2H418Out-of-sequence .CONFIG

    Explanation: A sequence of .CONFIG statements is improperly nested
    Severity: Error (RC set to 8)



    B2H431Number of columns not specified! Assuming COLS='*'.

    Explanation: A tag (or the referenced definition tag) does not specify the number of desired columns (neither COLS= or CWIDTHS= is specified).
    Severity: Error (RC set to 8)
    System Action: A single column is assumed



    B2H432Out-of-sequence table cell detected

    Explanation: A table cell in non-ascending order was detected. See table cell alignment for more information.
    Severity: Warning (RC set to 4)
    System Action: The cell data is placed into the next ascending cell.



    B2H433Out-of-sequence ARRANGE cell layout detected

    Explanation: The cell numbers in the ARRANGE= attribute are out of sequence. See table cell alignment for more information.
    Severity: Warning (RC set to 4)
    System Action: the cell data is placed into the table in physical order.



    B2H434tag not supported in a table

    Explanation: The specified markup has been identified as not supported within a table. See the description of the TV= attribute in 9.2.2, "Specifying Script/VS control words and BookMaster/GML macros" for more information.
    Severity: Warning (RC set to 4)



    B2H440Reference not found, following ignored: tag

    Explanation: The target for a reference-type tag (e.g. :HDREF, :FIGREF) could not be found.
    Severity: Normally, Error (RC set to 8), but this behavior can be overridden using the PROCACT= option.



    B2H451Invalid "control-word" condition

    Explanation: The expression for an .AN, .IF or .OR is invalid.
    Severity: Error (RC set to 8)
    System Action: The condition is assumed to be false.



    B2H452Invalid or missing category!

    Explanation: The category on the :LEDI tag is either missing or invalid.
    Severity: Error (RC set to 8)



    B2H453Invalid syntax in tag

    Explanation: An internally-generated tag, specific to B2H, contains a syntax error.
    Severity: Termination (RC set to 8)
    System Action: The conversion is halted.
    User Response: Contact the author to report the problem.



    B2H454Invalid arithmetic expression! .SE string Expression resolves to: expression

    Explanation: The arithmetic expression for a .SE control word has generated an error (e.g. divide-by-zero, non-numeric value).
    Severity: Error (RC set to 8)
    System Action: A zero (0) is assigned to the symbol and conversion continues.



    B2H455No tag-ending period found

    Explanation: The period signifying the end of a tag could not be found.
    Severity: Normally, Warning (RC set to 4), but this behavior can be overridden using the PROCACT= option.
    System Action: A period is inserted into what should be the correct position and conversion continues.



    B2H456Syntax error detected in the following: tag string

    Explanation: An invalid or missing value was detected in the specified markup, such as ".CS 1 OOF" instead of ".CS 1 OFF".
    Severity: Error (RC set to 8)



    B2H457xx is an invalid hex value.

    Explanation: A non-hexadecimal character has been detected where only hexadecimal characters (0-9,A-F,a-f) are expected.
    Severity: Error (RC set to 8)



    B2H458type is an invalid GMLTYPE value.

    Explanation: The value specified for GMLTYPE= on the .NAMEIT macro is invalid.
    Severity: Error (RC set to 8)



    B2H459"Backward GoTo" not supported

    Explanation: A ".GO label" control word is attempting to branch to a label defined earlier in the file. B2H supports branching only to a label later in the file.
    Severity: Warning (RC set to 4)
    System Action: The .GO control word is ignored and processing continues with the next physical record.



    B2H460Label "label" not found!

    Explanation: A ".GO label" control word was processed, but the named label could not be located in the current file.
    Severity: Error (RC set to 8)
    System Action: The source lines from the .GO control word to the end of the document are ignored.



    B2H461DD "ddname" not pre-allocated!

    Explanation: A ".DD label DD ddname" control word was processed, but the referenced DDname is not pre-allocated.
    Severity: Error (RC set to 8)
    System Action: The imbed request is bypassed and processing continues.



    B2H462Conflicting attributes!

    Explanation: More than one valid attribute specified where only one is allowed.
    Severity: Error (RC set to 8)
    System Action: The default attribute is assumed.



    B2H463Syntax note reference not defined

    Explanation: A ":SYNNTREF REFID=label." tag was encountered, but the referenced :SYNNT ID=label. was not yet processed.
    Severity: Error (RC set to 8)
    System Action: The reference request is ignored



    B2H481+++code message

    Explanation: The output of the .MG control word.
    Severity: Informational



    B2H482data

    Explanation: This is the data entered by the user in response to the .RV control word.
    Severity: Informational



    B2H483message

    Explanation: The output of the .TY control word.
    Severity: Informational



    B2H484Text for tag being bypassed!

    Explanation: This is the warning message when a tag that has been "mapped" to ":IGNOREW" is encountered. See 9.2.3.1, "Special replacement text values for :TAG." for more information.
    Severity: Warning (RC set to 4)



    B2H485markup has no HTML equivalent!

    Explanation: This is the warning message when a control word, macro or tag that has been "mapped" to "=IGNOREW" is encountered. See 9.2.2.1, "Special replacement text values for :CMD." and 9.2.3.1, "Special replacement text values for :TAG." for more information.
    Severity: Warning (RC set to 4)

    Appendix D. Bibliography


    Appendix E. B2H release history

    For detailed release information, including fixes, see the B2H NEWS file included with the B2H package.


    E.1 Updates for B2H Release 4.7

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

      HTMLATT.tagname='text'              (more tagname values)
    

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.2 Updates for B2H Release 4.6

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

      BORDERTAG='tag'                          (new option)
      BORDERTAG.x='tag'                        (new option)
      HRTAG.x='tag'                            (HRTAG.4 now used)
    

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.3 Updates for B2H Release 4.5

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

      DEFTEXT.name='text'                           (new names)
      FONTTAG='fonttext,efonttext,[PROP|NOPROP]'    (new option)
      H3ADDONS={ NO | YES }                         (removed - obsolete)
      H3TABLE={ COMPLEX | SIMPLE }                  (removed - obsolete)
      INDEXREFLINK={ NO | YES }                     (new option)
      LINENUM={ NO | BEGIN | END | scol-ecol }      (new option)
      PROCACT='...'                                 (additional operand)
    

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.4 Updates for B2H Release 4.4

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.5 Updates for B2H Release 4.3

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.6 Updates for B2H Release 4.2

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

      APPHD1='text'                                     (new option)
      APPHD1X='text'                                    (new option)
      AUTOSPLIT= ...                                    (was "AUTOPART=")
      DEFTEXT.name='text'                               (additional names)
      DEFTEXT.name='text',[width]                       (new operand)
      DIALOG='[LABEL] [FONT] [COLOR]'                   (new option)
      DIALOGTAG.x='ts,te,fs,fe,cs,cs'                   (new option)
      FNTAG='cs,ce,ls,le,lcs,lce,lts,lte,ts,te'         (new option)
      HEADREC.num='text'                                (new option)
      HRTAG='text'                                      (no "x" required)
      HRTAG.x='text'                                    (new "x" values)
      HTAG='hs,he,ss,sr'                                (new option)
      HTAG.num='hs,he,ss,sr'                            (new option)
      HTML={ 2 | 3 | 4 }                                (new operand)
      HTMLDOCID.htmlrel='text'                          (new option)
      REVTAG='revtext,erevtext,[PROP|NOPROP]'           (new operand)
      SETUPTAG.tagname='beforetext','aftertext'         (new option)
      SPLITDIGITS= ...                                  (was "PARTDIGITS=")
      SPLITDIR= ...                                     (was "PARTDIR=")
      SPLITDIR.NEXT= ...                                (new operand)
      SPLITLINK= ...                                    (was "PARTLINK=")
      SPLITLINK.x= ...                                  (was "PARTLINK.x=")
      SPLITNAME.x= ...                                  (was "PARTNAME.x=")
      SPLITNAME.NEXT= ...                               (new operand)
      TOCTAG='ls,le,ie,ie,ts,te'                        (new operands)
    

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.7 Updates for B2H Release 4.1

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

      DESTSYS={AIX|HPFS|LINUX|MVS|OS2|VM|WIN95|WINNT}   (new operand)
      LIREF={ NO | ID | ACTUAL }                        (new operand)
      OLSEQ='sequence codes'                            (new option)
    

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    E.8 Updates for B2H Release 4.0, 4.01 and 4.02

    New or enhanced support of BookMaster/GML/Script markup:

    B2H-specific updates:

    New or updated B2H options: (For information on all B2H options, see 8.2, "Available B2H Options")

      B2HREQ={ YES | NO }                           (new default)
      CHARSET='coded-character-set-name'
      DEFTEXT.name='text'                           (new names) (R4.0 & R4.01)
      DESTSYS=VM                                    (new default for VM/CMS)
      HRTAG.x='tag'                                 (new operand) (R4.01)
      HTMLEXT=html                                  (new default for VM/CMS)
      HTMPEXT=HTML                                  (new default for VM/CMS)
      MVSALLOC.name='ALLOC-command-operands'
      OUTPUTP=physical-output-file                  (new operands for MVS) (R4.01)
      PROCACT='NOINDEX=action ...'                  (new situation)
      SYNFONT={ YES | NO }                          (R4.02)
    

    Updates to the User's Guide:

    System profile updates:

    System symbol table updates:


    Footnotes:

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

    2
    The MVS version of B2H was tested using MVS/ESA 5.2.2 with TSO/E R2.05 and OS/390 2.04 with TSO/E R2.06

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

    4
    On AIX, Linux and Unix, you may need to specify the "-a" option when unzipping to remove the ctrl-M characters.

    5
    Note that the left-parenthesis must be quoted in AIX, Linux and Unix to prevent the shell from interpreting it and causing an error.

    6
    If you will not be installing B2H on a PC workstation, you can discard B2H ZIP.

    7
    Note that the left-parenthesis must be quoted in AIX, Linux and Unix to prevent the shell from interpreting it and causing an error.

    8
    An example of allocating the system files for stand-alone execution:
    ALLOC FI(B2HPRO)  DA(system-profile-dataset)      SHR REUSE
    ALLOC FI(B2HSYM)  DA(system-symbol-table-dataset) SHR REUSE
    ALLOC FI(B2HHELP) DA(system-helpfile-dataset)     SHR REUSE
    

    9
    An example of allocating the system files for pipeline execution:
    ALLOC FI(B2HPRO)  DA(system-profile-dataset)      SHR REUSE
    ALLOC FI(B2HSYM)  DA(system-symbol-table-dataset) SHR REUSE
    

    10
    See 5.9.2, "Specifying the location and file names when splitting the HTML output" for overriding the location and names given to each output HTML file part.

    11
    See 5.9.2, "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.

    12
    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.

    13
    AUTOSPLIT is not available if B2H is running as a CMS pipeline filter or SOURCE=FLAT is specified.

    14
    Extracted from the documents HTML Documents Coded Character Sets Guidelines and HTML 3.2 Guidelines & Style Rules for NLS from the IBM National Language Technical Center.

    15
    The syntax of the specified file must satisfy the naming convention for the platform on which you are running B2H. See 3.2, "Specifying a file" and 3.2.2, "Specifying a dataset under MVS (OS/390)" for more information.

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

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

    18
    This option is also processed when encountered as an attribute on BookMaster's :DOCPROF tag.