Zulässige HTML-Tags in Javadoc

Lesezeit: 4 Minuten

Die Checkstyle-Regel JavadocStyle lässt das Tag nicht zu <u>. Den Dokumenten zufolge wurden die Überprüfungen den Überprüfungen nachempfunden, die durch das von Sun erhältliche DocCheck-Doclet durchgeführt wurden. Leider habe ich DocCheck nirgendwo gefunden. Ich habe auch keine offizielle Dokumentation zu erlaubten HTML-Tags in Javadoc gefunden. Gibt es irgendwelche?

Benutzer-Avatar
merst

Javadoc erlaubt ab Java 8 nur eine Teilmenge von HTML-Tags.

Die doclint-Komponente von Javadoc erzwingt diese Einschränkung. Sie können alle Doclint-Warnungen deaktivieren, indem Sie bestehen -Xdoclint:none zu javadoc, obwohl Sie erwägen sollten, Ihre Javadoc-Kommentare zu korrigieren, da sonst die generierte HTML-API-Dokumentation möglicherweise schlecht aussieht oder Inhalte auslässt. (Normalerweise benutze ich
-Xdoclint:all,-missing um Warnungen über alles außer fehlendem Javadoc zu erhalten @ Stichworte.)

Ich habe keine öffentliche Dokumentation der Tags gefunden, die doclint zulässt, aber hier ist eine Liste der zulässigen HTML-Tags, die ich aus der Datei von Java 8 entnommen habe langtools/src/share/classes/com/sun/tools/doclint/HtmlTag.java.

A
B
BIG
BLOCKQUOTE
BODY
BR
CAPTION
CENTER
CITE
CODE
DD
DFN
DIV
DL
DT
EM
FONT
FRAME
FRAMESET
H1
H2
H3
H4
H5
H6
HEAD
HR
HTML
I
IMG
LI
LINK
MENU
META
NOFRAMES
NOSCRIPT
OL
P
PRE
SCRIPT
SMALL
SPAN
STRONG
SUB
SUP
TABLE
TBODY
TD
TFOOT
TH
THEAD
TITLE
TR
TT
U
UL
VAR

Update für JDK 9

JDK 9 erlaubt einen anderen Satz von Tags als JDK 8. Hier ist eine Liste der Tags für beide JDKs mit Hinweisen zu den Tags, die nur von einem der JDKs zugelassen werden. Auch hier stammen die Daten aus der HTMLTag.java Datei.

A
BIG       // JDK 8 only
B         // JDK 8 only
BLOCKQUOTE
BODY
BR
CAPTION
CENTER
CITE      // JDK 8 only
CODE
DD
DFN       // JDK 8 only
DIR       // JDK 9 only
DIV
DL
DT
EM
FONT
FOOTER    // JDK 9 only
FRAME     // JDK 8 only
FRAMESET  // JDK 8 only
H1
H2
H3
H4
H5
H6
HEAD
HEADER     // JDK 9 only
HR
HTML
I
IFRAME     // JDK 9 only
IMG
INPUT      // JDK 9 only
LI
LINK
LISTING    // JDK 9 only
MAIN       // JDK 9 only
MENU
META
NAV        // JDK 9 only
NOFRAMES   // JDK 8 only
NOSCRIPT
OL
P
PRE
SCRIPT
SECTION     // JDK 9 only
SMALL
SPAN
STRONG
SUB
SUP         // JDK 8 only
TABLE
TBODY
TD
TFOOT       // JDK 8 only
TH
THEAD       // JDK 8 only
TITLE
TR
TT
U           // JDK 8 only
UL
VAR         // JDK 8 only

  • Wie fügen wir ein Skript-Tag in Javadoc ein? Ich muss eine Javascript-Datei laden, wenn die Javadocs geladen werden (zur Hervorhebung der Codesyntax). Irgendeine Idee, wie man das bewerkstelligt?

    – Alexander Mills

    18. Februar 2019 um 1:26 Uhr

  • @AlexanderMills es hört sich so an, als ob Sie a nicht verwenden sollten <script> -Tag, um die Syntaxhervorhebung zu erreichen, aber verwenden Sie a [Doclet](docs.oracle.com/javase/8/docs/technotes/guides/javadoc/doclet/overview.html), Java-Code, der auf die Java-Doclet-API trifft, “um den Inhalt und das Format der Ausgabe des Javadoc-Tools anzugeben”.

    – George Pantazes

    4. April 2019 um 15:42 Uhr

  • Ich frage mich, ob es Sicherheitsprobleme gibt, Skripte in JavaDoc auszuführen. Aber wahrscheinlich haben sich das schon andere gefragt und sind zu einem negativen Schluss gekommen, das ist normalerweise bei jedem winzigen Detail in Java der Fall.

    – Fabian Röling

    11. Mai 2020 um 15:37 Uhr

Benutzer-Avatar
Barfuin

Es gibt keine wirklichen Einschränkungen für die Verwendung von HTML in Javadoc-Kommentaren. Das Javadoc-Dokumentation Zustände:

Kommentare werden in HTML geschrieben – Der Text muss in HTML geschrieben werden, dh er soll HTML-Entities verwenden und kann HTML-Tags verwenden. Sie können jede HTML-Version verwenden, die Ihr Browser unterstützt; Wir haben das Standard-Doclet geschrieben, um HTML 3.2-kompatiblen Code an anderer Stelle (außerhalb der Dokumentationskommentare) mit der Einbeziehung von Cascading Style Sheets und Frames zu generieren. (Wegen der Framesets stellen wir jeder generierten Datei „HTML 4.0“ voran.)

Die Liste der zulässigen HTML-Tags ist in der fest codiert JavadocStyle Checkstyle check (überprüft durch Betrachten der Checkstyle 5.6-Quellen). Wer also weiterhin auf seine anderen guten Eigenschaften achten will, muss mit dem eingeschränkten Satz an HTML-Tags leben. Eine Problemumgehung für das Unterstreichungsproblem besteht darin, CSS (das zulässig ist) wie folgt zu verwenden:

<span style="text-decoration:underline;">underlined text</span>

  • FYI, die <u> -Element wurde in Checkstyle 5.8 ausdrücklich zur hartcodierten Liste von Tags hinzugefügt. Die Liste kann immer noch nicht geändert werden, aber dieses spezielle Problem ist gelöst.

    – Barfuin

    12. Februar 2015 um 17:04 Uhr

  • für mich habe ich es versucht <del> hat aber nicht funktioniert, <s> hat es geschafft, dank deines Kommentars

    – Basheer AL-MOMANI

    9. Januar um 15:02 Uhr

1379370cookie-checkZulässige HTML-Tags in Javadoc

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy