Forum Bugs

Page 0/zero index entries

rlpowell
I have a very large (6.8MiB) html file with a bunch of index links; it's generated via docbook. The vast majority of the index entries work, but some show up as "foo: 0" in the index.

An example. Somewhere in the middle we have:

          <p><a id="idm216985333600" class="indexterm"></a><a id="idm216985332608" class="indexterm"></a><a id="idm216985331616" class="indexterm"></a> Lojban regards four of these 16 truth functions as fundamenta
l, and assigns them the four vowels
    <span class="logical-vowel">A</span>,
    <span class="logical-vowel">E</span>,
    <span class="logical-vowel">O</span>, and
    <span class="logical-vowel">U</span>. These letters do not represent actual cmavo or selma'o, but rather a component vowel from which actual logical-connective cmavo are built up, as explained in the next sect
ion. Here are the four vowels, their truth tables, and rough English equivalents:</p>
          <p>
            <a id="idm216985326736" class="indexterm"></a>
            <a id="idm216985324944" class="indexterm"></a>
            <a id="idm216985323424" class="indexterm"></a>
            <a id="idm216985321664" class="indexterm"></a>
            <a id="idm216985320144" class="indexterm"></a>
          </p>
          <div class="informaltable">
            <table>
              <tr>
                <td>
                  <span class="logical-vowel">A</span>
                </td>
                <td>TTTF</td>
                <td>or, and/or</td>
              </tr>
              <tr>
                <td>
                  <span class="logical-vowel">E</span>
                </td>
                <td>TFFF</td>
                <td>and</td>
              </tr>
              <tr>
                <td>
                  <span class="logical-vowel">O</span>
                </td>
                <td>TFFT</td>
                <td>if and only if</td>
              </tr>
              <tr>
                <td>
                  <span class="logical-vowel">U</span>
                </td>
                <td>TTFF</td>
                <td>whether or not</td>
              </tr>
            </table>
          </div>
          <p>
      </p>


(Included a lt because I don't know what's important).

And in the index we have:

              <dt>truth tables</dt>
              <dd>
                <dl>
                  <dt>abbreviated format: <a class="indexterm" href="#idm216985364208">Logical connection and truth tables</a></dt>
                  <dt>for 4 fundamental Lojban truth functions: <a class="indexterm" href="#idm216985320144">The Four basic vowels</a></dt>
                  <dt>list of 16 in abbreviated form: <a class="indexterm" href="#idm216985359856">Logical connection and truth tables</a></dt>
                  <dt>notation convention: <a class="indexterm" href="#idm216985364336">Logical connection and truth tables</a></dt>
                </dl>
              </dd>


All of those "a" elements work *except* #idm216985320144 , which shows up as "for 4 fundamental Lojban truth functions: 0".

Any idea what's up?
mikeday
Empty elements in an inline context can be ignored, breaking links. Does the behaviour change if you add some text inside the <a> element?
rlpowell
It does, yes. That's unfortunate, and still feels bug-ish to me, but gives me a way to fix it, at some difficulty.
mikeday
Yes it's not ideal, and we do hope to fix this one day.

Using a CSS pseudo-element to add an invisible non-breaking space character might be one trick with minimal impact on the source document:
a[name]::before { content: '\a0' }