HXINCL(1) | HTML-XML-utils | HXINCL(1) |
hxincl - expand included HTML or XML files
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 ]
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
The following options are supported:
<!-- 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".
The following operand is supported:
The following exit values are returned:
To use a proxy to retrieve remote files, set the environment variables http_proxy or ftp_proxy. E.g., http_proxy="http://localhost:8080/"
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.)
asc2xml(1), hxnormalize(1), hxnum(1), hxprune(1), hxtoc(1), hxunent(1), xml2asc(1), UTF-8 (RFC 2279)
10 Jul 2011 | 7.x |