Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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  out-
     put,  looking for comments with a certain structure.  Such a comment is re-
     placed 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,  recur-
     sively. 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 inclu-
	       sions.  (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 ex-
	       panded, 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  ex-
	       panded,	output	just  the  list  of all files that the input in-
	       cludes, 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=hxincl&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help