Description of B2H

Download count: 6 this month, 22123 altogether.
Downloads for B2H :
  VMARC archive: v-2894K
  zip archive: z-576K

B2H - Convert BookMaster, GML, Script/VS and "flat" files to HTML

B2H - Convert BookMaster, GML, Script/VS and "flat" files to HTML

Release 4.7 - May 20, 2002


If your organization is like mine, establishing a presence on the Internet by using a World-Wide-Web server and defining a home page is the "thing to do". You can either use someone else's webserver or install your own.

We had plenty of mainframe-type documents to place on the server. Some were written using BookMaster, GML and Script/VS markup, while others existed as normal "flat" files. Even though the WEB's HTML language is conceptually simple, the thought of manually converting the desired files from their source format to HTML was daunting.

Although there are a few HTML converters around, none met all our major requirements. So we ended up writing our own, called it B2H, and are making it available for other organizations.

Gary L. Richtmeyer
AT&T Labs
3101 W. Dr. Martin Luther King, Jr. Blvd
Tampa, Florida 33607

What's new and different?

Updates to this document for Release 4.7 are colored red.

What does B2H do?

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

  • Converts most commonly-used tags, control words, macros and symbols of BookMaster, GML and Script/VS (DCF)

  • Supports conversion of "flat" files

  • Output conforms to HTML Release 2, 3 or 4, as specified at execution time

  • Can generate full and partial tables-of-contents; and if generated, options are available for specifying the table-of-content's format

  • Can generate an index; and if generated, options are available for specifying the index's format

  • Can generate figure and table lists

  • Can automatically generate hypertext links within the file itself:
    • Table-of-Contents (TOC):
      • From the TOC to each section
      • From each section back to the main TOC
      • If a partial TOC is available:
        • From a partial TOC to each associated section
        • From each section back to the most-recent partial TOC
        • From each partial TOC back to the main TOC
    • Figure Lists and Table Lists:
      • From the List of Figures to each figure
      • From the List of Tables to each table
      • From each figure or table back to it's associated list
    • Footnotes:
      • From a footnote's reference to it's definition
      • From each footnote definition back to it's initial reference
    • Index (if generated):
      • From the index back to each referenced item
      • An optional Index TOC for the index itself can be generated
    • Cross-references (e.g. :hdref, :figref) are converted into a hypertext link to the target
    • From a question's answer back to the original question

  • Supports cross-referencing of multi-volume documents

  • "Boilerplate" records can be automatically inserted into the beginning and/or end of the output HTML file (which could be used to ensure that the standard home page navigational links are at the bottom of all files)

  • "Mast Head" information can be included in the output

  • Explicit HTML statements can be included in the source file to support specialized requirements

  • The output HTML file can be split into multiple HTML files, useful for large source files -- allowing the reader to retrieve only those sections which are of interest, reducing document load time

  • Bookmaster tables are supported. If HTML 3 (or higher) output is generated, HTML table tags are used (this is the default); for HTML 2 output, B2H switches to a monospaced font and builds the table manually

  • Supports line drawings created by XEDITG and CHARGES

  • Supports syntax ("railroad") diagrams

  • Supports Script's conditional sections (.cs) and BookMaster's "vanilla" DVCF macros (.config and .when) and process controls (:PSC) for dynamically altering the content of the document

  • Supports BookMaster Question and Answer tags and can generate either textual output (as Bookmaster does) or interactive HTML FORMs which can be used with an installation-provided CGI program to verify the user's answers

  • 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 is Year2000 ready

  • Conversion can be performed on one platform (e.g. VM/ESA) and the output transferred, stored and used on another platform (e.g. AIX or Windows NT)

  • On MVS, the HTML output can be either sequential files or members of a partitioned data set (PDS); if using OpenExtensions, the files can then optionally be transferred to a Hierarchical File System (HFS) directory

  • A symbol control file defines how symbols, control words, macros and tags are handled. User-provided symbol control files can be used to support installation-specific symbols, control words, macros and tags.

  • Installation-provided exit routines can be invoked to provide custom processing for designated control words, macros and tags

  • The output HTML file can contain many META-type statements to support HTTP search queries (e.g. keywords, owner, contact, document review and expiration dates)

  • Execution can be customized by use of profiles; options can be assigned based on the platform

  • Large number of options available for controlling the conversion and customizing the output



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:

  • IBM's REXX
    IBM provides REXX for a variety of platforms.
    • On VM and MVS (OS/390), a REXX interpreter is "built-in". An optional REXX compiler is available for a fee.
    • For PC platforms, IBM has a variety of Object REXX fee products available. Each PC operating system requires its own REXX product. More information on these is available at

  • Regina REXX
    Regina is a free REXX interpreter that has been ported to most Unix platforms (Linux, FreeBSD, Solaris, AIX, HP-UX, etc.) and also to OS/2, eCS, DOS, Win9x/Me/NT/2k/XP, Amiga, QNX, BeOS, MacOS X, EPOC32, AtheOS, OpenVMS and OpenExtensions. More information on Regina REXX is available at


One or more of the following platforms on which to run B2H:

  • AIX

    AIX support requires REXX to be installed. For IBM's Object REXX for AIX, check out the Object REXX home page at For Regina REXX, check out the Regina REXX home page at

  • Linux

    Linux support requires REXX to be installed. For IBM's Object REXX for Linux., check out the Object REXX home page at For Regina REXX, check out the Regina REXX home page at

  • TSO/E under MVS or OS/390

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

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

  • OS/2 2.1 or OS/2 Warp using either the FAT or HPFS file systems

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

    You can either use IBM's REXX provided with OS/2 or you can use Regina REXX. For Regina REXX, check out its home page at

  • VM/ESA

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

  • Windows 95/98/ME or Windows NT/2000/XP

    Support for Windows 95/98/ME and Windows NT/2000/XP requires REXX to be installed. For IBM's Object REXX for Windows 95/NT, check out the Object REXX home page at For Regina REXX, check out the Regina REXX home page at

  • Unix

    Support for Unix requires REXX to be installed. For Regina REXX, check out the Regina REXX home page at

The Download Files

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

  • If you will be using B2H on a PC workstation, download the ZIP file
  • If you will be using B2H on VM, download the VMARC file. Follow the instructions on the download page about uploading it to VM and extracting the files
  • If you will be using B2H on MVS:
    • If you have access to VM, download the VMARC file (because it contains a copy of B2H compiled for MVS) and follow the instructions on the download page about uploading it to VM and extracting the files; then send the files to the desired TSO user ID
    • If you do not have access to VM, download the ZIP file, extract the files and then upload them to the desired TSO user ID

Updates for B2H Release 4.7

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

  • None

B2H-specific updates:

  • B2H will now run under Regina Rexx (Release 3.0 or higher). Regina is a free Rexx implementation which can be used as an alternative to IBM's Object Rexx and is available at
  • B2H will now support and run in Unix when run under Regina Rexx
  • Multiple lines generated by ".sk" or ".sp" are being ignored by modern web browsers due to their suppressing multiple blank lines. Output created by B2H altered to prevent this suppression.
  • When run on Windows or OS/2, a filename enclosed in double-quote characters is now accepted on the command line. This to ensure consistency with other filename handling routines in Windows and OS/2.
  • Additional HTML tags can now be customized. The HTMLATT= option was enhanced to support customization of the <A>, <DD>, <DT>, <FORM>, <IMG> and <INPUT> HTML tags.

New or updated B2H options:

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

Updates to the User's Guide:

  • Section added regarding the REXX versions under which B2H will run
  • Many updates to reflect the UNIX platform

System profile updates:

  • Various default definitions added for UNIX support

System symbol table updates:

  • Definition for ".sk" and ".sp"

Problems fixed in Release 4.7:

  • Some system-type &symbols were not defined, including '&$ASCI', '&$FNAM', '&$PDEV' and '&b2hrevchar'
  • Text after ":lp." discarded when ":lp." not within a table
  • On the mainframe, referencing a single "&" returns the current page number, but B2H was returning a "&" causing arithmetic errors when used in a numeric expression. B2H now returns a "1" (because the web is a "pageless" environment).
  • Message B2H306 showing lines written to the log file is sometimes too low

Updates for B2H Release 4.6

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

  • Support &X'hhhh symbol value attribute (convert hex characters)
  • Additional DCF symbols defined to more closely emulate the mainframe environment
  • "ON/OFF" option of the ".rc" control word now supported (e.g. ".rc 1 on/off")
  • FRAME=RULES now recognized and supported on the :FIG tag

B2H-specific updates:

  • Tag delimiter character(s) may be changed using the .DC control word. Tag delimiters can even be turned off (e.g. ".DC GML OFF")
  • If :TDESC is encountered in a table, but not ended using :ETDESC, the :ETABLE tag will end the :TDESC. (the :ETDESC tag is not required in all "flavors" of GML/Bookmaster.)
  • If :ADDRESS is encountered, but not ended using :EADDRESS, either the :ETITLE or :ETITLEP tag will end the :ADDRESS. If neither :ETITLE or :ETITLEP is encountered, a "missing :EADDRESS" message is issued.

New or updated B2H options:

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

Updates to the User's Guide:

  • New appendix section documenting the supported system-type &symbols (e.g. &SYSYEAR, &$INDX, &$PDEV).

System profile updates:

  • None

System symbol table updates:

  • None

Problems fixed in Release 4.6:

  • Abend when using :XLATEO. symbol table statement
  • :LITDATA with NAME= attribute not always handled correctly
  • .MG doesn't recognize delimiter characters other than '/'
  • Symbols starting with '$' not always upper-cased before use
  • Trailing period after a "&cont" or "&$CONT" not supposed to be required
  • When running B2H as a pipeline filter on MVS or VM and specifying LOG=STREAMx, log records are not written to the specified pipeline output stream.
  • Multiple occurances of "&TEXT" or "&TEXTALL" not being substituted within a symbol table definition
  • Value used for .SE assignment not taken "as-is" when equal sign omitted.
    Example:  .SE abc 'Mrs. O'Leary's cow
      "abc" was set to:  Mrs. O                 (incorrect)
      "abc" now set to:  Mrs. O'Leary's cow     (correct)  
  • When "splitting" the HTML output, if the tag causing the split is immediately preceded by an :exmp tag, the "</PRE>" is inadvertently inserted at the beginning of the new output file instead of at the end of the current output file

Updates for B2H Release 4.5

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

  • .DC control word with CW and GML options now supported
  • .BF, .PF and .PI control words are now supported
  • Multiple :AUTHOR tags now supported

B2H-specific updates:

  • The parser has been updated which allows the following enhancements:
    • "Splitting" of the output HTML is now supported for SOURCE=SCRIPTONLY
    • When SOURCE=SCRIPTONLY, all control words "mapped" to Bookmaster/GML tags are now supported. Prior to R4.5, control words that were normally handled by simply "mapping" them to their Bookmaster/GML equivalent (e.g. .FN to :FN., .Hx to :Hx.) were not supported when SOURCE=SCRIPTONLY.
    • Tag delimiter character(s) may be changed using the .DC control word
  • Symbol table records can now be imbedded within the source document using the new ".*B2H SYMBOL" statement
  • Improved support for character set translations:
    • New :XLATEO. symbol table statement allows translations specific to output HTML records
    • :XLATEI. symbol table statement (was :XLATE.) allows translations specific to input source records
    • Improved handling of .TI and .TR
  • New LINENUM= option allows B2H to recognize and ignore line numbers in source records
  • A label cell is no longer generated for :SYNTAX STYLE=LBLBOX if no label data has been provided
  • Empty syntax diagrams are now suppressed
  • If a .RE (restore environment) control word changes the pre-formatting status of the output, the appropriate HTML tags are now generated to automatically compensate
  • The DLFMT= and GLFMT= options now default to TABLE if generating HTML 3 (or higher); if generating HTML 2, both default to DL
  • Additional diagnostics provided for I/O and allocation errors under MVS
  • To show a vertical bar, such as those used for syntax diagrams and the :SCREEN tag, B2H now generates "&#124;" instead of a physical vertical bar. (This circumvents a problem experienced by some users where their upload/download process was translating a vertical bar into something else.)
  • In a profile file, comments may now be placed after any option(s) by preceding the comment with two dashes (--). This capability was already available for the symbol table file.
  • Indentation of multi-line messages within the B2H log was changed to improve readability

New or updated B2H options:'text'                               (additional 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 | startcol-endcol }    (new option)
  PROCACT='...'                                     (additional operand)

Updates to the User's Guide:

  • Section added on how to use only Script/VS control words to include/exclude text when converting to HTML
  • "Using Cascading Style Sheets (CSS)", "Creating a 'clickable' web link" and "Ignoring source record line numbers" added to Frequently-Asked-Questions section
  • Document new message numbers 109, 152, 317 and 318
  • Miscellaneous updates to reflect the changes for R4.5

System profile updates:

  • Show defaults for new options
  • Change vertical bars to "&#124;"

System symbol table updates:

  • :XLATE. statement renamed to :XLATEI. (:XLATE. still supported, but :XLATEI. preferred)
  • .SD Script/VS control word defined as being ignored
  • Change definition of .BF, .DC, .PF and .PI from ignored to handled internally

Problems fixed in Release 4.5:

  • When B2H is run on a platform other than MVS, file(s) specified for the HEADER= and FOOTER= options are not found due to B2H enclosing the name within single-quote characters.
  • When running B2H as a pipeline filter on MVS or VM and specifying LOG=STREAMx, log records are not written to the specified pipeline output stream.
  • .SE arithmetic expression is incorrectly evaluated as a string when the expression's elements are not separated by blanks.
    .se abc = 2 + &xyz * 1    correctly handled
    .se abc = 2+&xyz*1        was incorrectly handled
  • The HTML generated for :LBLBOX and :SYNTAX STYLE=LBLBOX missing a </TR>. (This is mostly a cosmetic fix as the user's browser will normally assume end-of-row.)
  • Trailing blanks in fixed-length source records are not being ignored and may cause extra lines within pre-formatted output (e.g. :LINES, :XMP)
  • Within :LITDATA/:ELITDATA, all records are supposed to be handled "as-is", however if B2H encounters a valid Bookmaster tag, the tag's syntax is checked and warning messages issued if the syntax is incorrect.
  • If a table of contents (TOC) is generated without a :TOC. tag explicitly specified in the source file, the first :Hx tag may have an invalid hotlink target of HREF="&b2htoc_1".
  • Tag names containing '@' (at sign), '#' (number sign) or '$' (dollar sign) were not handled correctly
  • PG= attribute ignored on the :I1, :I2, :I3 and :IREF tags
  • If within a <PRE> and </PRE>, an extra blank line is generated for the .SX control word and the :Ix, :IHx, :LBLBOX, :QUALIF and :SYNTAX tags
  • In the index, every 5th reference for an index entry contains an extraneous blank
  • For .TI and .TR, specifying a translation does not override a previous specification for the same source value

Updates for B2H Release 4.4

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

  • :LP now properly left-aligned when within a :DL or :GL and a table is being generated (e.g. DLFMT=TABLE or GLFMT=TABLE)
  • .EF now fully supported with or without the CLOSE operand
  • Script/VS &$CONT. and &$TAB. symbols now supported

B2H-specific updates:

  • When B2H is run on MVS (OS/390), if the physical output file is DSORG=PS and is also pre-allocated, B2H will no longer delete and reallocate it, improving efficiency

New or updated B2H options:

  FOOTER={ NO | file }
  FOOTER={ NO | file | DD:ddname }                  (MVS only)
  HEADER={ NO | file }
  HEADER={ NO | file | DD:ddname }                  (MVS only)

Updates to the User's Guide:

  • Clarify that the .EF control word is treated as .EF CLOSE

System profile updates:

  • None

System symbol table updates:

  • :COVER definition updated to correct "missing period" error messages
  • &divide symbol added in addition to &divid
  • &florin symbol added and mapped to &#402;

Problems fixed in Release 4.4:

  • Attributes coded on a :COVER tag cause erroneous warning message and included in the output HTML
  • .SE value sometimes treated as arithmetic expression when it's really a text string
  • Font changes (e.g. :REV, .RC) within an example (:XMP/:EXMP) generate blank lines
  • Abend under MVS (OS/390) when evaluating a previously-allocated concatenated DD card

Updates for B2H Release 4.3

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

  • If an :ADDRESS tag is encountered within :PROLOG/:EPROLOG, hold the text until the formal title page is generated; otherwise display the address text as encountered.
  • :COVER now treated as a synonym of :TIPAGE; both tags now generate a formal title page

B2H-specific updates:

  • LOG= option now accepts an asterisk (*), which is dynamically replaced by the input filename.
  • When running as a Pipeline filter, B2H now supports writing log records to a pipeline output stream

New or updated B2H options:

  • New LOG= capabilities as mentioned above

Updates to the User's Guide:

  • Describe new B2H128 message
  • Minor updates to reflect R4.3 changes

System profile updates:

  • None

System symbol table updates:

  • Change definition of &OELIG to &OElig
  • Defined :ETOC and :EDOCPROF as ignored tags
  • Recognize &$RB. as meaning a blank
  • Define :COVER, :PROLOG/:EPROLOG as internal tags

Problems fixed in Release 4.3:

  • When creating HTML 3, SCALE= values less than one (1) (e.g. SCALE='0.9') generate a much-too-small font size (often <FONT SIZE="0">)
  • When run on AIX, B2H does not always recognize the platform as being AIX
  • Splitting the output HTML file in the middle of a Messages & Code list when a message has only a :MSG and (optional) :MSGNO tag results in incorrect HTML output
  • Integer arithmetic not used within .SE expressions
  • An .OR on the same physical record as an .IF is inadvertently not processed if the .IF condition is false
  • Within a :TFT/:ETFT (table footer): text on same line after a Script/VS control word shows after the entire table instead of within the table's footer
  • :TOC tag processed as an <H2> tag instead of <H1>
  • ID= attribute on a :TOC tag not handled correctly
  • Under MVS: concatenated pre-allocated DD cards not always found

Updates for B2H Release 4.2

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

  • :CGDEF and :XMPDEF tags now supported
  • APPHD1=, APPHD1X= and DIALOG= attributes now supported on the :DOCPROF tag
  • SCALE= attribute now supported on the following tags: :CGRAPHIC, :CODEL, :DIALOG, :DIRECT, :FIG, :MSGL, :SCHDATE, :SCREEN, :SYNTAX, :TABDATA, :TABLE and :XMP
  • TEXT= attribute now supported on the :AUTHOR tag
  • LEVEL= attribute now supported on the :DOCNUM tag
  • Within a table, when too many :C tags are encountered for a logical row, a :ROW tag is automatically inserted to force a new row
  • The IBM-internal CAPBC=, EQBC= and FNBC= attributes on the :DOCPROF tag no longer cause a warning message to be issued
  • The IBM-internal :DFREF tag no longer causes a warning message to be issued

B2H-specific updates:

  • HTML 4 output can now be specified
  • Layout of formal title page now corresponds more closely to the BookMaster standard
  • Appearance of :H5 though :H20 now corresponds more closely to the BookMaster's default layout (see new HTAG= option)
  • Propagation of font color changes used with .RC/:REV/:EREV can be enabled/disabled on a per-revision code basis
  • Footnote appearance can now be customized using the new FNTAG= option. (Thanks to Mark Gaubatz for his code update that led to this enhancement!) Default footnote id now displayed as a superscript instead of normal text enclosed in parentheses.
  • Improved HTML output for BookMaster tables which use ARRANGE=
  • Improved HTML output for BookMaster's Messages and Codes tags
  • Improved HTML output for BookMaster's Dialog tags
  • Improved appearance and customization capability for syntax diagrams
  • The ability to selectively process profile records, symbol table records and ".*B2H" statements has been enhanced by allowing the HTML release level being generated to also be a selection criteria
  • The new "SETUPTAG.tagname=" option allows you to define HTML statements to precede/follow the output generated for a particular GML/BookMaster tag. For example, you could specify that a certain font be loaded specifically for :CGRAPHIC. diagrams or cause the entire title page to be centered or right-justified.
  • New "HTMLDOCID.rel=" option allows you to explicitly specify the Document Type Definition value for the first record of the HTML output -- the "xxx" in the following:

    The new &b2hhtmlid symbol is defined to contain the appropriate value of this option for the HTML release being generated.

  • Additional process names "HTML2+", "HTML3+" and "HTML4+" for use with :PSC allow more generalized selection of text
  • New ".*B2H MSG" statement added to allow messages to be issued (and the return code set) from within the document. Can also be returned from a user program to show messages and set return codes.
  • New "HEADREC=" option provides the ability to insert records into the header section of the output HTML file. Most commonly used to include JavaScript code.
  • All options, statements and text regarding "splitting" of the output HTML file have been renamed for consistency. The use of "BREAK" and "PART" have been changed to "SPLIT":
    • "AUTOPART=" is now "AUTOSPLIT=",
    • "PARTDIGITS=" is now "SPLITDIGITS=",
    • "PARTDIR=" is now "SPLITDIR=",
    • "PARTLINK=" is now "SPLITLINK=" and
    • "PARTNAMES=" is now "SPLITNAMES="
    • The ".*B2H BREAK" statement is now ".*B2H SPLIT"
    For downward compatibility, all the old names are still recognized as aliases of their new official names.
  • Both the "SPLITDIR.x=" and "SPLITNAME.x=" options now allow the "x" value to be specified as "NEXT", which allows you to name the next split file, wherever and whenever it occurs.

New or updated B2H options:

  APPHD1='text'                                     (new option)
  APPHD1X='text'                                    (new option)
  AUTOSPLIT= ...                                    (was "AUTOPART=")'text'                               (additional names)'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:

  • Added a section describing the overall structure of each output HTML file and what is used to build it
  • Document the support for :LEGEND, :SAFETY, SYNDEF, :SYNNT and :SYNNTREF tags which previously were either inadvertently missing or incorrectly listed as unsupported.
  • Restructure Appendix A.3 and A.5 to show any related B2H options for each control word and tag
  • Update the caveat section to show that BookMaster "style" files are not processed
  • Document all the other miscellaneous changes for R4.2

System profile updates:

  • Update default DEFTEXT values for syntax diagrams
  • Set defaults for DIALOGTAG.x, FNTAG=, HTAG.num=, HTMLDOCID.x= and TOCTAG= options
  • Change the "PART"-type option names to "SPLIT"-type names

System symbol table updates:

  • Change definition of "&invellip" to precede it with two blanks
  • Show the following tags are now handled internally: Dialog tags, Messages and Codes tags, various title page tags and :CGRAPHIC/:ECGRAPHIC tags
  • Other miscellaneous changes

Problems fixed in Release 4.2:

  • B2H does not always terminate cleanly under AIX/LINUX when using a shell other than "ksh"
  • If a ".GO" and it's "...label" both exist within a user macro, then macro invocations after the first cause "Backward GOTO not supported"
  • Text specified for the "REVTAG=" option not always propagated into HTML tables generated "under the covers" for the following Bookmaster tags: :FIG, :LBLBOX, :NT, :SCREEN and :SYNTAX
  • Various errors when a user macro was referenced from within another user macro
  • <BR> should not be inserted following a </PRE>
  • An HP= value of "0" not always handled correctly in a :TABLE
  • ':ARTWORK RULE.' not always generating a horizontal rule
  • ':TABLE WIDTH=PAGE' generating '<TABLE>' instead of '<TABLE WIDTH="100%">'
  • Directory lists (:DIRECT) specifying relative column widths (e.g. COLS="3* * 4*") generated extremely wide columns
  • Various appearance problems with directory lists (:DIRECT) depending on the user's browser
  • On VM/CMS, work disk always the "A" disk if user has "SET ABBREV OFF"
  • Empty table cell may not appear correctly if a revision is active
  • Abend when "&*0" referenced within a user macro
  • ".*B2H" statements not saved within a user macro
  • Output from user program sometimes reversed with existing text
  • Abend if "NUM=0" specified for an :H1
  • "NUM=NONE" ignored for an :H1 in the appendix
  • Syntax diagrams using "DEFTEXT._CROSS" instead of "DEFTEXT._TEEUP" and "DEFTEXT._TEEDOWN" for certain connectors
  • Syntax diagrams with :REPSEP not connecting the repeat line to the "base" line
  • Text for syntax note tag (:SYNNT) not shown if "ID=name" attribute is omitted
  • Incorrect output for :Hx with certain combinations of FBC=, HEADNUM= and ":Hx NUM=" attribute

Updates for B2H Release 4.1

B2H-specific updates:

  • Year2000 support added
  • B2H now supports execution on the LINUX platform
  • Font color changes used with .RC/:REV/:EREV are now propagated into HTML 3 tables
  • For ordered lists, B2H now generates the appropriate <OL TYPE=x> tag to allow different numbering schemes based on the "nesting" of the list. This means the main list will be numbered, the first sub-list will have alphabetic indices, and so on. The OLSEQ= option (also recognized on Bookmaster's :DOCPROF tag) can be used to override this behavior. The list item reference generated for :LIREF now reflects the actual indice.
  • The SYNFONT= option now also affects how the :SYNNTREF tag is shown
  • Support added for abbreviations of various tag attributes (e.g. "COL" for "COLS", "RETCODE" for "RETCODES")

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

  • OLSEQ= attribute now recognized on the :DOCPROF tag
  • ".NF" and ".PP" control words now recognized

New or updated B2H options:

  DESTSYS={AIX|HPFS|LINUX|MVS|OS2|VM|WIN95|WINNT}       (new operand)
  LIREF={ NO | ID | ACTUAL }                            (new operand)
  OLSEQ='AaxRryNn'                                      (new option)
    Allows definition of the 'dingbat' for sequencing ordered lists.
    Recognized as both a B2H option and also as an attribute on the
    :DOCPROF tag.

Updates to the User's Guide:

  • Document changes for Releasee 4.1

System profile updates:

  • Add LINUX-awareness
  • Add default value for DEFTEXT.ARTLABEL=

System symbol table updates:

  • Define ".GOTO" as a valid control word
  • Define subscript symbols &sub0-&sub9 and superscript symbols &sup0-&sup9
  • Any text on the :MINDEX tag is now totally ignored

Problems fixed in Release 4.1:

  • Text after a tag possibly dropped if tag on same physical line as :FIGLIST, :INDEX, :TDESC, :TNOTE or :TLIST
  • Error in HTML generated for a :GT. after a :GRPSEP. if GLFMT=DL
  • On MVS, DD allocations to "NULLFILE" not ignored
  • On MVS, imbeds from a multi-dataset allocation not handled correctly
  • ".GOTO" and ".GO TO" (alternative forms of ".GO") not recognized
  • Abend if ":H" coded with no character at all after the "H"
  • ".GR" and ".NV" Script control words causing "Unknown control word" error message
  • Abend under VM/CMS with "SET DATEFORMAT ISODATE"
  • Consecutive tags with missing periods and no blanks between them (e.g. :p:ul:li:hp2.some text:ehp2:eul) causes erroneous "B2H403W Not a valid Bookmaster/GML tag" message
  • :H1-type headers after a :BACKM. showing "Chapter x."
  • "...label" statement ignored if within a user macro definition
  • ".TI" control word not accumulating changes; only a ".TI" with no operands is supposed to clear previous translation definitions