2012-04-02 3 views
0

Doxygen noob hier. Ich habe gesucht und versucht, dies für mehrere Stunden jetzt ohne Glück zu lösen. Die Antwort ist wahrscheinlich etwas Offensichtliches, das ich nicht kenne, um es zu sehen.doxygen @par Befehl bricht HTML-Ausgabe mit fehlenden <b>oder fehlerhaften</b> Tags

EDIT: Doxygen der @par Befehl unterbricht die HTML Ausgabeseite (doxy 1.8.0 über GUI Assistenten ausgeführt wird), entweder durch einen Fehler im Innern der <b><dt> einzufügen, oder durch eine fehlgeleitete </b> innerhalb der </dt> Einfügen, während ähnlicher Befehle (wie @return und @note, zum Beispiel) nicht. Beispiel Kommentar (Kommentar ist auf eine Funktion, wenn dies wichtig ist ...):

/** 
Register a new exit to the room object. Adds the exit to our exit_hash map with some safety checks for whether we've been passed an array of exits or just one. 

New practice; there's now an exit hash map ([direction:hash]) 
and we add exits into our hash map as they're created. This is how guards 
are now identified: they're assigned the hashes they guard as IDs. 

@code 
OH JESUS GOD PLEASE WORK 
@endcode 

@return hrm 

\note 
This note consists of two paragraphs. 
This is the first paragraph. 

\par User defined paragraph: 
Contents of the paragraph. 

\par 
New paragraph under the same heading. 

\par 
And this is the second paragraph. 

More normal text. 


*/ 

Sie können einen Teil des Kommentars erkennen, wie ich es von der doxygen Demonstration der Verwendung des Befehls angehoben haben. Dies erzeugt eine HTML-Ausgabe, die bei "Dies ist der erste Absatz" endet. unter dem \ note Befehl (alle Abschnitte vor diesem machen richtig), und der obere Teil der doxygen Seite zitiert den Fehler:

This page contains the following errors: error on line 422 at column 42: Opening and ending tag mismatch: dt line 0 and b Below is a rendering of the page up to the first error.

Die XML macht (oder scheint mir zumindest) richtig und ist wie folgt:

<detaileddescription> 
    <para>Adds the exit to our exit_hash map with some safety checks for whether we&apos;ve been passed an array of exits or just one.</para> 
    <para>New practice; there&apos;s now an exit hash map ([direction:hash]) and we add exits into our hash map as they&apos;re created. This is how guards are now identified: they&apos;re assigned the hashes they guard as IDs.</para> 
    <para><programlisting><codeline><highlight class="normal">OH<sp/>JESUS<sp/>GOD<sp/>PLEASE<sp/>WORK</highlight></codeline></programlisting></para> 
    <para> 
     <simplesect kind="return"><para>hrm</para></simplesect> 
     <simplesect kind="note"><para>This note consists of two paragraphs. This is the first paragraph.</para></simplesect> 
     <simplesect kind="par"><title>User defined paragraph:</title><para>Contents of the paragraph.</para></simplesect> 
     <simplesect kind="par"><title></title><para>New paragraph under the same heading.</para></simplesect> 
     <simplesect kind="par"><title></title><para>And this is the second paragraph.</para></simplesect> 
More normal text. 
    </para> 
</detaileddescription> 

HTML-Ausgabe an der Fehlerseite:

<p>Register a new exit to the room object. </p> 
<p>Adds the exit to our exit_hash map with some safety checks for whether we've been passed an array of exits or just one.</p> 
<p>New practice; there's now an exit hash map ([direction:hash]) and we add exits into our hash map as they're created. This is how guards are now identified: they're assigned the hashes they guard as IDs.</p> 
<div class="fragment"><pre class="fragment">OH JESUS GOD PLEASE WORK 
</pre></div><dl class="section return"><dt>Returns:</dt><dd>hrm</dd></dl> 
<dl class="section note"><dt>Note:</dt><dd>This note consists of two paragraphs. This is the first paragraph.</dd></dl> 
<dl class="section user"><dt></b></dt><dd>And this is the second paragraph.</dd></dl> 
<dl class="section user"><dt>User defined paragraph:</b></dt><dd>Contents of the paragraph.</dd></dl> 
<dl class="section user"><dt></b></dt><dd>New paragraph under the same heading.</dd></dl> 
<dl class="section user"><dt></b></dt><dd>And this is the second paragraph.</dd></dl> 
<p>More normal text. </p> 

Antwort

0

Ich habe Makel Optionen/Tage für Fehler in dem Kommentar-Format suchen und es sieht aus wie ich endlich das Problem isoliert habe, die ich hier suchen sollte jemand anderes kommt dokumentieren werden:

Ich hatte stellen sie die HTML_FILE_EXTENSION Option .xhtml wie in der Dokumentation für die DOT_IMAGE_FORMAT Einstellung empfohlen:

The DOT_IMAGE_FORMAT tag can be used to set the image format of the images generated by dot. Possible values are svg, png, jpg, or gif. If left blank png will be used. Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files visible in IE 9+ (other browsers do not have this requirement).

Diese Einstellung ist nicht die Ursache ist des Fehlers (Fehlerbericht: https://bugzilla.gnome.org/show_bug.cgi?id=672472), aber die Einstellung verursacht wurde, es zu verhindern die p Alter aufgrund der ungepaarten Tags. Wenn Sie diese Einstellung auf .html zurücksetzen, wird das Problem des zusätzlichen Tags </b> nicht gelöst, aber es funktioniert als Workaround, damit die Seite vorerst nicht unterbrochen wird.

1

ich bin nicht sicher, aber ein Teil des Problems sein kann, dass Sie in Ihrem \note einen Absatz Titel auf einem der Absätze verwenden . Von der doxygen Manpage \par:

If no paragraph title is given this command will start a new paragraph. This will also work inside other paragraph commands (like \param or \warning) without ending that command.

Welche, dass ein Titel schon sagt das Hinzufügen jeweils frühere Befehlsblock beenden. Versuchen Sie, die Dokumentation neu zu sortieren, damit sie dem Beispieldokument \par entspricht, und prüfen Sie, ob dies die erwarteten Ergebnisse liefert.

Auch was ist in Zeile 422?

+0

Danke, Chris - Ich habe die ursprüngliche Frage mit der HTML-Ausgabe aktualisiert. Ich war ein Tölpel gewesen und hatte den Chrome-Element-Inspector darauf verwendet, der einfach am Fehlerpunkt aufhörte; Jetzt, wo ich sehe, dass es ein "" -Tag enthält, zu dem kein '' existiert (und das angesichts der Formatierung der @ return/@ note-Befehle völlig fehlerhaft aussieht ...) Ich habe die Frage aktualisiert, um genauer zu sein Was ist los. Ich werde auch feststellen, dass ich den Kommentar nur mit den kurzen/detaillierten Beschreibungen für java_autodoc und den genauen Text der @ @ @ Dokumentation Beispiel ersetzt und der Fehler immer noch konsequent erscheint. – abathur

1

Ich bin in der gleichen Situation. Habe .xhtml als meine Erweiterung wegen .svg Punktdiagramme.Ich habe festgestellt, dass, wenn Sie eine zusätzliche neue Zeile setzen vor und nach @code blockiert es eine Menge Probleme zu lösen scheint:

/** 
* @par Example: 
* This is an example: 
* @code 
* // Some code 
* @endcode 
* The above example is AWESOME! 
*/ 

Die obige XHTML Fehler erzeugt, aber wenn ich es ändern:

/** 
* @par Example: 
* This is an example: 
* 
* @code 
* // Some code 
* @endcode 
* 
* The above example is AWESOME! 
*/ 

Alles ist wieder in Ordnung. Dies mag eine Lösung für Ihr Problem sein oder auch nicht, hat es mir aber erlaubt, meine .xhtml Erweiterung zu behalten, während ich an der doxygen XHTML-Ausgabe arbeite.