我正在编写一个自定义标记,用于在javadoc html文件中包含mathML文件。我想将所有* .mml文件存储在同一个文件夹中,可能在
中{@docroot}/doc-files
文件夹。我的问题是:如何知道Taglet对象中的@docRoot字符串的值(更具体地说,在toString(com.sun.javadoc.Tag tag)
方法中?
非常感谢!
答案 0 :(得分:1)
我还需要在我的javadoc中显示MathML。我写了一篇关于我如何在这里解决它的博客文章:http://chadretz.wordpress.com/2010/12/19/mathml-inside-javadoc-using-mathjax-and-a-custom-taglet/
更具体地说,对于你的问题,如果你查看我在那里发布的Taglet源代码(默认情况下已折叠),你可以看到我在哪里获得Tag.holder()的顶级ClassDoc来获取目录深度I我在这,我可以走了。如果您需要相对HTML根,这会有所帮助。如果您在Taglet运行时需要知道MML的位置,我建议您将它们放在类路径上并作为资源访问它们。
答案 1 :(得分:0)
从@ChadRetz's blog的getPackageDoc
函数开始,我创建了一个实用程序类,其中包含一个可以执行所需操作的函数:给定com.sun.javadoc.Tag
,它返回相对值url从其封闭文件(包含该标记的文件)到JavaDoc根目录 - 这相当于{@docRoot}
。
该类名为ComSunJavaDocUtil
,函数名称为getRelativeUrlToDocRoot
。
示例标记的toString()
函数:
public String toString(Tag tag) {
return "Relative url to DOC ROOT for this tag's enclosing file is \"" +
ComSunJavaDocUtil.getRelativeUrlToDocRoot(tag) + "\"";
}
此实用程序类是Codelet的一部分。安装说明为here。如果您要使用此实用程序类,那么您在类路径中所需的唯一jar包是codelet
和xbnjava
...当然还有com.sun.javadoc
。