Provided by: html-xml-utils_7.7-1_amd64 bug

NAME

       hxincl - expand included HTML or XML files

SYNOPSIS

       hxincl [ -x ] [ -f ] [ -s name=subst ] [ -s name=subst ]...  [ -b base ] [ file-or-URL ]

       hxincl  -M target [ -s name=subst ] [ -s name=subst ]...  [ -b base ] [ -G ] [ file-or-URL
       ]

DESCRIPTION

       Without -M, the hxincl command copies an HTML or XML file to standard output, looking  for
       comments  with  a certain structure.  Such a comment is replaced by the file whose name is
       given as the attribute of the directive. For example:

           ...<!-- include "foo.html" -->...

       will be replaced by the content of the file foo.html.

       The comment is replaced by

           <!-- begin-include "foo.html" -->

       before the included text and

           <!-- end-include "foo.html" -->

       after it. These comments make it possible to run hxincl on the  resulting  file  again  to
       update the inclusions.

       Single  quotes  are  allowed  instead  of  double quotes. And if the file name contains no
       spaces, the quotes may also be omitted.

       With -M, the hxincl command outputs a line of dependencies that is suitable for  inclusion
       in  a  Makefile.  The target is the target of the Makefile rule and hxincl will list after
       the ':' all the files that are included, recursively. E.g., the result of

           hxincl -M myfile.html inputfile

       might be

           myfile.html: foo.html bar.html

OPTIONS

       The following options are supported:

       -x        Use XML conventions: empty elements  are  written  with  a  slash  at  the  end:
                 <IMG />.

       -b base   Sets  the  base  URL  for  resolving relative URLs. By default the file given as
                 argument is the base URL.

       -f        Removes the comments after including the files. This means hxincl cannot be  run
                 on  the  resulting  file  later  to  update the inclusions.  (Mnemonic: final or
                 frozen.)

       -s name=substitution
                 Include a different file than the one mentioned in the directive. If the comment
                 is

                     <!-- include "name" -->

                 the  file  substitution is included instead. And if the file name in the comment
                 includes a variable called name delimited by %, e.g.,

                     <!-- include "xxx-%name%" -->

                 then %name% is replaced by substitution and thus the  file  xxx-substitution  is
                 included.  The  option  -s  may  occur multiple times. %-delimited variables are
                 expanded recursively, i.e., if the substitution text contains a  variable,  that
                 variable  is  expanded,  too.  E.g.,  if the two options -s name=%p1%.rrr and -s
                 p1=subst are given, then the "xxx-%name%" will expand to "xxx-subst.rrr".

       -M target Instead of outputting the input file with all inclusions expanded,  output  just
                 the  list  of  all  files that the input includes, recursively, in the form of a
                 rule that is suitable for a Makefile. The target is printed  as  the  target  of
                 that rule.

       -G        Suppress error messages if a file to include cannot be found. (Only with -M.)

OPERANDS

       The following operand is supported:

       file-or-URL
                 The  name of an HTML or XML file or the URL of one. If absent, standard input is
                 read instead.

EXIT STATUS

       The following exit values are returned:

       0         Successful completion.

       > 0       An error occurred in the parsing of one of the HTML or XML files.

ENVIRONMENT

       To use a proxy to retrieve remote files,  set  the  environment  variables  http_proxy  or
       ftp_proxy.  E.g., http_proxy="http://localhost:8080/"

BUGS

       Assumes  UTF-8 as input. Doesn't expand character entities. Instead pipe the input through
       hxunent(1) and asc2xml(1) to convert it to UTF-8.

       Remote files (specified with a URL) are  currently  only  supported  for  HTTP.  Password-
       protected files or files that depend on HTTP "cookies" are not handled. (You can use tools
       such as curl(1) or wget(1) to retrieve such files.)

SEE ALSO

       asc2xml(1), hxnormalize(1), hxnum(1), hxprune(1), hxtoc(1), hxunent(1), xml2asc(1),  UTF-8
       (RFC 2279)