This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [docbook-apps] Website: indexterm, index?


Well I'm now generating an index for my Web site - it's actually a hybrid of Website and DocBook indexing. If you're curious, you can see my working example at www.ivanmoravec.net/siteindex.html .

Since my name is not Jeni, I quickly hit a wall trying to do a pure xsl solution (merging the indexes from the different Web pages.) Also, my site is cobbled together from several Website layouts, so a solution based on a single layout would not work.

My strategy was to include all the pages in a DocBook file and transform it. Voila, the index structure for my entire site! Of course, the links don't work on my WebSite pages, because each transformation generates different ids. I was able to fix the Docbook link targets in place, after matching each Docbook index term to its WebSite counterpart. I automated all this with a small chain of make, perl, and xsl scripts. It takes 1.5 - 3 minutes to rebuild my site and index, depending on the number of changes.

I've been running it for several weeks now for a while without a hitch, but I won't post the gory details because it's a hack. I'm not even sure how useful others think it is to index a web site. But the general problem of merging docbook indexes might be of interest to some, and who knows, the ugliness of my approach might inspire a more elegant solution.

Bob Stayton wrote:

Well, there's good news and there's bad news.

The good news is that index and indexterm are permitted inside a webpage
element whose DOCTYPE is website-full.dtd, and they do validate.  I just
tested it.  I'm not sure what's going wrong when you try it.

The bad news is that they don't do what you want them to do, which is create
an index for your website. You have to keep in mind that each webpage
document is a separate XML document, and it is processed as a separate
document. That means the scope of an index can be no larger than one
webpage document. In order for the index to cover all your webpages, they
would have to be included as children of a larger container document that is
processed all at once. But that isn't how Website works.


As it currently ships, Website can't collect index entries from the set of
webpage documents and generate a sorted index.


Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs@sagehill.net


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]