Bart Guijt wrote:
Hi there,

As a result of gaining some hands-on Cocoon experience, I created a
JavadocSource and -SourceFactory which largely complies to what you are
discussing here.

Here are some feature hilights:
- uses the QDox parser;
- uses the Excalibur SourceResolver to resolve the source files;
- may be configured using multiple source root (uri's), like
<jar:file:///D:/java/jdk1.4.1/src.zip!> and
<cvs:pserver:[EMAIL PROTECTED]:/home/cvspublic/xml-cocoon2/
www/api>
- creates inheritance information in the generated XML doc;
- comes with an XSLT stylesheet which creates a Class or Interface Javadoc
document (no package, overview, uses or index yet!) *exactly* like the JDK
javadoc;
- supports separately doc'ed inner classes;
- documents private members;
- the code has alpha status, but seems to works fine.


The JavadocSource is configured like this in cocoon.xconf:

  <source-factories>
    <component-instance
class="info.guijt.cocoon.source.JavadocSourceFactory" name="javadoc">
      <include-inheritance value="yes" />
      <source-roots group="JDK">
        <source-root uri="jar:file:///D:/java/jdk1.4.1/src.zip!" />
      </source-roots>
      <source-roots group="Avalon">
        <source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon/src/java" />
        <source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-logkit/src/java" />
        <source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/component/src/
java" />
        <source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/sourceresolve/
src/java" />
        <source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/pool/src/java"
/>
        <source-root
uri="file://D:/cvs-workspaces/apache/jakarta-avalon-excalibur/xmlutil/src/ja
va" />
      </source-roots>
      <source-roots group="Cocoon">
        <source-root
uri="file://D:/cvs-workspaces/apache/xml-cocoon2/src/java" />
        <source-root
uri="file://D:/cvs-workspaces/apache/xml-cocoon2/src/deprecated/java" />
      </source-roots>
    </component-instance>
  </source-factories>


If the following is put in the sitemap:

    <map:match pattern="javadoc/*">
      <map:generate src="javadoc:{1}" />
      <map:transform src="javadoc2html.xsl" />
      <map:serialize type="html" />
    </map:match>


you can request live Javadoc with a URL like

    http://localhost:8080/javadoc/java.util.HashMap


Would you like it as a donation to the Cocoon community?
I would!

Send it on or tell me where to get it.

--
Stefano Mazzocchi                               <[EMAIL PROTECTED]>
--------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to