JezK
Edit File: HTML-Xref-Mismatch.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- This manual is for GNU Texinfo (version 6.8, 8 June 2021), a documentation system that can produce both online information and a printed manual from a single source using semantic markup. Copyright (C) 1988, 1990-1993, 1995-1999, 2001-2021 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". --> <title>HTML Xref Mismatch (GNU Texinfo 6.8)</title> <meta name="description" content="HTML Xref Mismatch (GNU Texinfo 6.8)"> <meta name="keywords" content="HTML Xref Mismatch (GNU Texinfo 6.8)"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2any"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link href="index.html" rel="start" title="Top"> <link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index"> <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="HTML-Xref.html" rel="up" title="HTML Xref"> <link href="HTML-Xref-Configuration.html" rel="next" title="HTML Xref Configuration"> <link href="HTML-Xref-8_002dbit-Character-Expansion.html" rel="prev" title="HTML Xref 8-bit Character Expansion"> <style type="text/css"> <!-- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} span:hover a.copiable-anchor {visibility: visible} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <div class="subsection" id="HTML-Xref-Mismatch"> <div class="header"> <p> Next: <a href="HTML-Xref-Configuration.html" accesskey="n" rel="next">HTML Cross-reference Configuration: <samp>htmlxref.cnf</samp></a>, Previous: <a href="HTML-Xref-8_002dbit-Character-Expansion.html" accesskey="p" rel="prev">HTML Cross-reference 8-bit Character Expansion</a>, Up: <a href="HTML-Xref.html" accesskey="u" rel="up">HTML Cross-references</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p> </div> <hr> <span id="HTML-Cross_002dreference-Mismatch"></span><h4 class="subsection">21.4.5 HTML Cross-reference Mismatch</h4> <span id="index-HTML-cross_002dreferences-5"></span> <span id="index-Mismatched-HTML-cross_002dreference-source-and-target"></span> <p>As mentioned earlier (see <a href="HTML-Xref-Link-Basics.html">HTML Cross-reference Link Basics</a>), the generating software may need to guess whether a given manual being cross-referenced is available in split or monolithic form—and, inevitably, it might guess wrong. However, when the <em>referent</em> manual is generated, it is possible to handle at least some mismatches. </p> <p>In the case where we assume the referent is split, but it is actually available in mono, the only recourse would be to generate a <samp>manual/</samp> subdirectory full of HTML files which redirect back to the monolithic <samp>manual.html</samp>. Since this is essentially the same as a split manual in the first place, it’s not very appealing. </p> <p>On the other hand, in the case where we assume the referent is mono, but it is actually available in split, it is possible to use JavaScript to redirect from the putatively monolithic <samp>manual.html</samp> to the different <samp>manual/node.html</samp> files. Here’s an example: </p> <div class="example"> <pre class="example">function redirect() { switch (location.hash) { case "#Node1": location.replace("manual/Node1.html#Node1"); break; case "#Node2" : location.replace("manual/Node2.html#Node2"); break; … default:; } } </pre></div> <p>Then, in the <code><body></code> tag of <samp>manual.html</samp>: </p> <div class="example"> <pre class="example"><body onLoad="redirect();"> </pre></div> <p>Once again, this is something the software which generated the <em>referent</em> manual has to do in advance, it’s not something the software generating the cross-reference in the present manual can control. </p> </div> </body> </html>