/ .. / / -> download
s1kd-fmgen(1)                     s1kd-tools                     s1kd-fmgen(1)

NAME
       s1kd-fmgen - Generate front matter data module contents

SYNOPSIS
              s1kd-fmgen [-D <TYPE>] [-F <FMTYPES>] [-I <date>] [-P <PM>]
                         [-p <name>=<val> ...] [-t <TYPE>] [-x <XSL>]
                         [-,.flqvh?] [<DM>...]

DESCRIPTION
       The s1kd-fmgen tool generates the content section for front matter data
       modules from either a standard publication module, or the combined for‐
       mat  of  the s1kd-flatten(1) tool.  Some front matter types require the
       use of the combined format, particularly those  that  list  information
       not  directly  found  in the publication module, such as the highlights
       (HIGH) type.

OPTIONS
       -,, --dump-fmtypes-xml
              Dump the built-in .fmtypes XML format.

       -., --dump-fmtypes
              Dump the built-in .fmtypes simple text format.

       -D, --dump-xsl <TYPE>
              Dump the built-in XSLT used to generate the  specified  type  of
              front matter.

       -F, --fmtypes <FMTYPES>
              Specify a custom .fmtypes file.

       -f, --overwrite
              Overwrite  the  specified  front  matter data module files after
              generating their content.

       -h, -?, --help
              Show usage message.

       -I, --date <date>
              Set the issue date of the generated front matter  data  modules.
              This can be a specific date in the form of "YYYY-MM-DD", "-" for
              the current date, or "pm" to use the issue date of the  publica‐
              tion module.

       -l, --list
              Treat  input  (stdin or arguments) as lists of front matter data
              modules to generate content for, rather than data modules  them‐
              selves.   If reading list from stdin, the -P option must be used
              to specify the publication module.

       -P, --pm <PM>
              Publication module or s1kd-flatten(1) PM format file to generate
              contents  from.   If  none is specified, the tool will read from
              stdin.

       -p, --param <name>=<value>
              Pass a parameter to the XSLT stylesheets used  to  generate  the
              front  matter  content.  Multiple parameters can be specified by
              using this option multiple times.

              The following  parameters  are  automatically  supplied  to  any
              stylesheet,  and  therefore their names should be considered re‐
              served:

              · "type" - The front matter type  name  (e.g.,  HIGH)  that  was
                matched in the .fmtypes file or specified by the user with the
                -t option.

       -q, --quiet
              Quiet mode.  Do not print errors.

       -t, --type <TYPE>
              Generate content for this type of front matter.  Supported types
              are:

              · HIGH - Highlights

              · LOA - List of abbreviations

              · LOASD - List of applicable specifications and documentation

              · LOEDM - List of effective data modules

              · LOI - List of illustrations

              · LOS - List of symbols

              · LOT - List of terms

              · LOTBL - List of tables

              · TOC - Table of contents

              · TP - Title page

       -v, --verbose
              Verbose output.  Specify multiple times to increase the verbosi‐
              ty.

       -x, --xsl <XSL>
              Use the specified XSLT script to generate the front matter  con‐
              tents  instead  of the built-in XSLT or the user-configured XSLT
              from the .fmtypes file.

       --version
              Show version information.

       <DM>...
              Front matter data modules to generate content for.  If no  front
              matter  type can be determined for a data module, it will be ig‐
              nored.

       In addition, the following options allow configuration of the XML pars‐
       er:

       --dtdload
              Load the external DTD.

       --huge Remove any internal arbitrary parser limits.

       --net  Allow network access to load external DTD and entities.

       --noent
              Resolve entities.

       --parser-errors
              Emit errors from parser.

       --parser-warnings
              Emit warnings from parser.

       --xinclude
              Do XInclude processing.

       --xml-catalog <file>
              Use  an  XML catalog when resolving entities.  Multiple catalogs
              may be loaded by specifying this option multiple times.

   .fmtypes file
       This file specifies a list of info codes to associate with a particular
       type of front matter.

       Optionally,  a  path to an XSLT script can be given for each info code,
       which will be used to generate the front matter instead of the built-in
       XSLT.   The  path to an XSLT script will be interpreted relative to the
       location of the .fmtypes file (typically, the top directory of the  CS‐
       DB).  The -D option can be used to dump the built-in XSLT for a type of
       front matter as a starting point for a custom script.

       Optionally, in the XML format, the attribute ignoreDel may be specified
       to  control  whether deleted data modules and elements are ignored when
       generating front matter contents.  These are data modules with an issue
       type of "deleted" and elements with a change type of "delete".  A value
       of "yes" means deleted content will not be included, while  "no"  means
       it will.  If this attribute is not specified, then a default value will
       be used based on the type of front matter.  The  following  types  will
       ignore deleted content by default:

       · LOA

       · LOASD

       · LOI

       · LOS

       · LOTBL

       · TOC

       · TP

       By  default,  the  program will search for a file named .fmtypes in the
       current directory and parent directories, but any file can be specified
       using the -F option.

       Example of simple text format:

              001    TP
              005    LOA
              006    LOT
              007    LOS
              009    TOC
              00A    LOA
              00S    LOEDM
              00U    HIGH    fm/high.xsl
              00V    LOASD
              00Z    LOTBL

       Example of XML format:

              <fmtypes>
              <fm infoCode="001" type="TP"/>
              <fm infoCode="005" type="LOA"/>
              <fm infoCode="006" type="LOT"/>
              <fm infoCode="007" type="LOS"/>
              <fm infoCode="009" type="TOC"/>
              <fm infoCode="00A" type="LOI"/>
              <fm infoCode="00S" type="LOEDM"/>
              <fm infoCode="00U" type="HIGH" xsl="fm/high.xsl"/>
              <fm infoCode="00V" type="LOASD"/>
              <fm infoCode="00Z" type="LOTBL"/>
              </fmtypes>

       The  info  code  of each entry in the .fmtypes file may also include an
       info code variant.  This allows different transformations  to  be  used
       based on the variant:

              <fmtypes>
              <fm infoCode="00UA" type="HIGH" xsl="fm/high.xsl"/>
              <fm infoCode="00UB" type="HIGH" xsl="fm/high-updates.xsl"/>
              <fm infoCode="00U"  type="HIGH"/>
              </fmtypes>

       In  the  example  above,  a highlights data module (00U) with info code
       variant A will use an XSL transformation that creates  a  simple  high‐
       lights,  while  a  highlights data module with info code variant B will
       use an XSL transformation that creates a  highlights  with  update  in‐
       structions.  All other variants will use the built-in XSLT.

       Entries  are  chosen in the order they are listed in the .fmtypes file.
       An info code which does not specify  a  variant  matches  all  possible
       variants.

   Optional title page elements
       When  re-generating the front matter content for a title page data mod‐
       ule, optional elements which cannot be  derived  from  the  publication
       module  (such  as  the product illustration or bar code) will be copied
       from the source data module when updating it.

   Multi-pass transforms
       Rather than a literal XSLT file, the path specified  for  the  xsl  at‐
       tribute  in  the .fmtypes file or the -x (--xsl) option may be an XProc
       file which contains a pipeline with multiple stylesheets.  This  allows
       for multi-pass transformations.

       Only a small subset of XProc is supported at this time.

       Example:

              <p:pipeline
              xmlns:p="http://www.w3.org/ns/xproc"
              xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
              version="1.0">
              <p:xslt name="Pass 1">
              <p:input port="stylesheet">
              <p:document href="pass1.xsl"/>
              </p:input>
              <p:with-param name="update-instr" select="true()"/>
              </p:xslt>
              <p:xslt name="Pass 2">
              <p:input port="stylesheet">
              <p:inline>
              <xsl:transform version="1.0">
              ...
              </xsl:transform>
              </p:inline>
              </p:input>
              </p:xslt>
              </p:pipeline>

EXIT STATUS
       0      No errors.

       1      The date specified with -I is invalid.

       2      No front matter types were specified.

       3      An unknown front matter type was specified.

       4      The  resulting  front matter content could not be merged in to a
              data module.

       5      The stylesheet specified for a type of front matter was invalid.

EXAMPLE
       Generate the content for a title page  front  matter  data  module  and
       overwrite the file:

              $ s1kd-flatten PMC-EX-12345-00001-00_001-00_EN-CA.XML |
              > s1kd-fmgen -f DMC-EX-A-00-00-00-00A-001A-D_001-00_EN-CA.XML

AUTHORS
       khzae.net.

                                  2021-04-16                     s1kd-fmgen(1)


/ gopher://khzae.net/0/s1kd/s1kd-tools/docs/publishing/s1kd-fmgen.txt
Styles: Light Dark Classic