Ross Gardler wrote:
Let us know if you get anywhere, a patch would be welcome if you make this work.

Hello again,

Here is how I solved the problem. This is not a perfectly clean hack but it works for me ;-)
I used this piece of site.xml code:
      <release type="leaf" label="Release notes" href="releases/"
               description="Latest release notes">
        <index type="hidden" label="Release notes" href="index.html"/>
        <release2 type="hidden" label="Release 0.9.1"
                  href="release_0.9.1.html"/>
        <release1 type="hidden" label="Release 0.9"
                  href="release_0.9.html"/>
      </release>

The "hidden" element are properly placed in the site hierarchy, whereas element with no label are ignored. Then I use the type tag to force the rendering of elements that would be considered as menu to menu-item (clickable). The element is thus render as a "leaf", while having children element (all are hidden).

And I had to modify the file /src/core/context/resources/stylesheets/site2book.xsl to:

  <xsl:template match="*/*">
    <xsl:choose>
      <!-- No label, abandon the whole subtree -->
      <xsl:when test="not(@label)">
      </xsl:when>
<!-- Below here, everything has a label, and is therefore considered "for display" -->

      <!-- No children -> must be a menu item -->
      <!-- Has children, but they are not for display -> menu item -->
      <xsl:when test="count(*) = 0 or count(*) > 0 and (not(*/@label))">
        <menu-item>
          <xsl:copy-of select="@*"/>
        </menu-item>
      </xsl:when>
      <xsl:when test="@type='leaf'">
         <menu-item>
            <xsl:copy-of select="@*"/>
         </menu-item>
      </xsl:when>
      <!-- Anything else is considered a menu -->
      <xsl:otherwise>
        <menu>
          <xsl:copy-of select="@*"/>
          <xsl:apply-templates/>
        </menu>
      </xsl:otherwise>
    </xsl:choose>
  </xsl:template>

I have only added the "leaf" test, in this piece of code.

On problem remains, that I will solve later: The forced leaf element is not rendered as selected when I select it directly. It should not be hightlighted when a hidden child is selected however.
An example result is here:
http://www.process-one.net/en/projects/ejabberd/releases/release_0.9.1.html

I will fix that after the vacation break.

Thank you all for your help.

--
Mickaël Rémond
 http://www.3pblog.net/