Constructing HTML links in -t sgml

Subject: Constructing HTML links in -t sgml
From: Norman Walsh <norm@xxxxxxxxxxxxx>
Date: Tue, 17 Jun 1997 18:28:08 -0400
Ok, with the mode fixes in 0.8, and the (make entity)
functionality, and the (data (current-node)) function, I'm
finally trying to get my DocBook RefEntry to HTML stylesheet
working.

I've got it to the point where I can produce individual files
for each of the RefEntry pages (by using the content of the
first RefName as the base name for the HTML file).  I'm also
pretty sure I can produce <A NAME="%generated-xptr"></A> tags on
elements which have IDs by hacking at some clever stuff that
James posted a while back.

What I don't see myself figuring out in the short run is how to
contruct the links when there's a cross reference between
elements in the original source.

There are a few of the cases.  Any hints on any of them would be
appreciated.

<!doctype reference public "-//Davenport//DTD DocBook V3.0//EN">
<reference><title>title</title>
...<refentrytitle>Something Fancy about Whatever</refentrytitle>...
...<refname>Whatever</refname>...
<refentry id="foo">
...
<refsect2 id="bar"><title>Processing Expectations of Whatever</title>
...
</refentry>
<refentry>
...
<para>See also <xref linkend="foo">.</para>
<para>See also <link linkend="foo">Whatever</link>.</para>
<para>Blah de blah <xref linkend="bar">
...
</refentry>
</reference>

For <xref linkend="foo">, I'd ideally like to generate

  <a href="Whatever.htm">Something Fancy about Whatever</a>

For <link linkend="foo">, I need only the 

  <a href="Whatever.htm"> 

part, not the generated text.

Finally, for <xref linkend="bar>, I need

  <a href="Whatever.htm#bar-fragment-id">Processing Expectations 
     of Whatever</a>

It's really two problems, getting the right anchor values for
the HREF attributes even when the output has gone to different
entities and getting the right generated text even though that
depends on the element referenced.

I've either devised too hard a problem for my current level of
DSSSL ignorance or I must be missing something fairly obvious
since I can't see where to start on either of these problems.

Hints?

--norm




 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread