OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: DOCBOOK: customizing docbook xsl


On Tue, Apr 02, 2002 at 10:17:18AM -0500, Stefan Seefeld wrote:
> hi there,
> 
> I'd like to modify the html generating xsl a bit so I'm
> looking for advice on where to look for the templates I
> need to override:
> 
> I want to generate a framed html, similar to this picture:
> 
> http://d3e.sourceforge.net/screens/d3e-ui.jpg,
> 
> with the main document in one frame (chunked, probably),
> and the toc and some other meta info in separate frames
> (the main new thing being some embedded cgi to attach
> issues (commands for now) to sections of the document.
> 
> Any advice or comment is highly appreciated !

You'll need to look at several templates to do this:

1.  In autotoc.xsl, the "subtoc" named template 
is the one that generates the actual HTML list elements
for a TOC.  There you will want to add the TARGET attribute
to the generated TOC <a> anchor elements to point to your
main document window.  It looks like you will want
to modify the look of the TOC as well.

2.  In chunk.xsl, modify the "process.root" template
to generate the frameset document before any chunking takes
place.

3.  You'll probably want to turn off the navigation headers
and footers that appear on each page, since the left frame
provides much of that.  That way you don't have to worry
about trying to link the Home back to the left frame.
You can do that by making new "footer.navigation" and
"header.navigation" templates that are no-ops.

4.  For your links within your pages to other frames,
you could add a role attribute on those
<xref> or <link> elements, and then modify the
templates in xref.xsl to add the HTML TARGET attribute
accordingly..

5.  If your cgi links are all to the same frame, then you
could use or generate <ulink>s and set the 'ulink.target'
stylesheet parameter to that frame name.  But that's a
single global name, and may not work for your purposes.

Hope this helps.  I'd be curious to see it working,
and maybe you could contribute a FAQ based on your
experience.
-- 

Bob Stayton                                 400 Encinal Street
Publications Architect                      Santa Cruz, CA  95060
Technical Publications                      voice: (831) 427-7796
Caldera International, Inc.                 fax:   (831) 429-1887
                                            email: bobs@caldera.com


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC