2010-11-02 1 views
1

Я пишу пользовательский теглет для включения файла mathML в html-файл javadoc. Я хотел бы сохранить все мои файлы * .mml в одной папке, возможно, вКак получить значение {@docroot} в com.sun.javadoc.Taglet?

{@docroot}/doc-files 

папка. Мой вопрос:!., Как я могу знать значение строки @docRoot в объекте Taglet (более конкретно, в рамках метода toString(com.sun.javadoc.Tag tag) Большое спасибо

ответ

1

Я также необходим для отображения MathML в моем Javadoc я написал блог Сообщение о том, как я решил его здесь: http://chadretz.wordpress.com/2010/12/19/mathml-inside-javadoc-using-mathjax-and-a-custom-taglet/

Более конкретно, если вы посмотрите на исходный код Taglet, который я разместил там (по умолчанию упал), вы можете увидеть, где я получаю ClassDoc верхнего уровня Tag .holder(), чтобы получить глубину каталога, на которой я нахожусь, чтобы я мог пройти. Это помогает, если вам нужен относительный корневой HTML. Если вам нужно знать местоположение вашего MML в то время как Taglet работает, я предлагаю вам поставить их на путь к классам и получить к ним доступ Ресурсы.

0

Начиная с функцией getPackageDoc от @ChadRetz's blog, я создал класс, который содержит функцию, которая делает то, что вы хотите: Дан в com.sun.javadoc.Tag, она возвращает относительный URL из его файла ограждающего (файл, содержащий этот тег), в корневой каталог JavaDoc - это эквивалент {@docRoot}.

Класс называется ComSunJavaDocUtil, а имя функции getRelativeUrlToDocRoot.

toString() функции В качестве примера taglet в:

public String toString(Tag tag) { 
    return "Relative url to DOC ROOT for this tag's enclosing file is \"" + 
     ComSunJavaDocUtil.getRelativeUrlToDocRoot(tag) + "\""; 
} 

Эта утилита класса является частью Codelet. Инструкции по установке: here. Если этот класс утилиты - это все, что вы собираетесь использовать, то единственные банки, которые вам нужны на пути к классу, - codelet и xbnjava ... и, конечно, com.sun.javadoc.

Смежные вопросы