Bertrand Delacretaz wrote: > > Some form of topic map would be useful to build "what's > related" info > > though, which helps navigation and discovery a lot.
Stefano Mazzocchi wrote: > Yes, but such a topic maps would have to be human edited. > this is what > scares me. tools for ontology creation (like Protege, > http://protege.stanford.edu/ for example) are available but are > *incredibly* complex to to use. Certainly some, but not all of this topic map needs to be human-edited. I think a basic ontology could be written by hand in a text editor and still be large enough to be usable. NB there are other sytaxes for authoring topic maps which are simpler than XTM, too. To be useful, a hand-written ontology would only need to cover some of the core concepts such as "namespace", "component", "block", "howto", "generator", "transformer". The bulk of the topics and relationships are implicit in the docs, and could be automatically harvested into XTM with a bunch of XML stylesheets, and linked to the underlying ontology. For instance, references to java classes, XML namespaces, etc could be automatically harvested from xdocs: <xsl:template match="source[contains(.,'http://apache.org/cocoon/request/2.0')]" mode="harvest-namespace-topics"> <!-- This document contains a reference to the request namespace, so it can be harvested as an occurrence of the namespace's topic --> <xtm:topic> <!-- topic for the request namespace --> <xtm:subjectIdentity> <xtm:subjectIndicatorRef xlink:href="http://apache.org/cocoon/request/2.0"/> </xtm:subjectIdentity> <!-- this occurrence --> <xtm:occurrence> <xtm:resourceRef xlink:href="{$current-page-url}"/> </xtm:occurrence> </xsl:template> <xsl:template match="source[contains(.,'org.apache.cocoon.')]"> <!-- reference to a cocoon class: --> <!-- harvest the class-name and link this resource to the topic reifying that class --> etc. </xsl:template> A topic map layer could be harvested not just from the docs, but also from the Wiki, the javadoc, the cvs, etc, etc, and the resulting topics merged to reveal the relationships which are currently produced by hand. Then you can define a website FROM the topic map. Also, of course, you can use other TM tools such as the tm-visualiser "tmnav" which displays the topic map using the TouchGraph component. Cheers Con