HXINCL(1) HTML-XML-utils HXINCL(1)
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:
......
will be replaced by the content of the file foo.html.
The comment is replaced by
before the included text and
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:
.
-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
the file substitution is included instead. And if the file
name in the comment includes a variable called name delimited
by %, e.g.,
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)
7.x 10 Jul 2011 HXINCL(1)