Scroll to navigation



hxref - generate cross-references inside and between HTML files


hxref [ -x ] [ -l ] [ -b base ] [ -i index ] [ -- ] [ input [ output ] ]


The hxref command links inline elements to DFN elements with the same content. It adds ID attributes where necessary. If the content of a DFN or other element isn't suitable, the TITLE attribute may be used to provide the term to use for comparisons.

Here is an example:

<p>A <dfn>b-box</dfn> is defined to be...
<p>For every b there is a <em>b-box</em>...

The output of hxref will be similar to this:

<p>A <dfn id="b-box">b-box</dfn> is defined to be...
<p>For every b there is a <a href="#b-box"><em>b-box</em></a>...


The following options are supported:

Use XML conventions: empty elements are written with a slash at the end: <IMG />
Sets the prefix for the generated URLs. By default base is empty, which generates URLs like "#b-box" above. If base is set to, e.g., "http://xyz/", the URLs will look like "http://xyz/#b-box".
Directs hxref to read terms from a database file before looking for them in the document and afterwards store the terms that were found in the same file. DFN element in the document override terms found in index. This allows hxref to be run multiple times on different files, to make the files refer to each other. It may be necessary to run the commands twice, to resolve all cross-references.
Try to use language-specific information to match instances to their definitions. Currently, only English is supported and the only rules applied are to search without a final "s" ("trees" matches "tree"), without a final "es" ("bosses" matches "boss") and with a "y" replacing a final "ies" ("bounties" matches "bounty"). hxref determines the language from "lang" and "xml:lang" attributes in the document.


The following operands are supported:

The name of an HTML file. If absent, standard input is read instead. The special name "-" also indicates standard input. The input may be an URL.
The file to write to. If absent, standard output is used. This may not be a URL.


The following exit values are returned:

Successful completion.
> 0
An error occurred in the parsing of the HTML file. hxref will try to correct the error and produce output anyway.


asc2xml(1), hxindex(1), hxnormalize(1), hxnum(1), hxtoc(1), xml2asc(1)


The error recovery for incorrect HTML is primitive.

The program generates ID attributes, but doesn't generate <a name=...> tags, so the links only work in browsers that recognize ID attributes.

The rules for matching English plurals are primitive. No dictionary is used. E.g., "bees" will be considered a plural of "be".

There is currently no way to set the default language for a document for when the root element has no "lang" or "xml:lang" attribute.

hxref tries first to generate "readable" ID attributes, by forming the ID out of the letters and digits found in the content of the element and falls back to generating arbitrary IDs if it doesn't find enough. However, the algorithm in this version is primitive and only gives reasonable results for ASCII letters and digits.

10 Jul 2011 7.x