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]