Next: HTML Xref Command Expansion, Previous: HTML Xref Link Basics, Up: HTML Xref
As mentioned in the previous section, the key part of the HTML cross-reference algorithm is the conversion of node names in the Texinfo source into strings suitable for XHTML identifiers and filenames. The restrictions are similar for each: plain ASCII letters, numbers, and the `-' and `_' characters are all that can be used. (Although HTML anchors can contain most characters, XHTML is more restrictive.)
Cross-references in Texinfo can actually refer either to nodes or anchors (see anchor), but anchors are treated identically to nodes in this context, so we'll continue to say “node” names for simplicity.
(@-commands and 8-bit characters are not presently handled by makeinfo for HTML cross-references. See the next section.)
A special exception: the Top node (see The Top Node) is always mapped to the file index.html, to match web server software. However, the HTML target is `Top'. Thus (in the split case):
@xref{Top, Introduction,, emacs, The GNU Emacs Manual}. => <a href="emacs/index.html#Top">
For example:
@node A node --- with _'% => A-node-_002d_002d_002d-with-_005f_0027_0025
Notice in particular:
On case-folding computer systems, nodes differing only by case will be mapped to the same file.
In particular, as mentioned above, Top always maps to the file index.html. Thus, on a case-folding system, Top and a node named `Index' will both be written to index.html.
Fortunately, the targets serve to distinguish these cases, since HTML target names are always case-sensitive, independent of operating system.