After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 666047 - Malformed xhtml on "Related Pages"
Malformed xhtml on "Related Pages"
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2011-12-13 00:53 UTC by Bill
Modified: 2012-11-18 11:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Tar of a directory with all the inputs needed to generate the problem. (38.90 KB, application/x-gzip)
2011-12-13 00:53 UTC, Bill
Details

Description Bill 2011-12-13 00:53:56 UTC
Created attachment 203311 [details]
Tar of a directory with all the inputs needed to generate the problem.

The problem is malformed xhtml in a subpage.

To demo use doxygen 1.7.6.1:

  1. Execute doShowBug.sh
  2. View html/_m_i_m_i_r__components_page.xhtml in a web browser.

  Error as it appears for me in the browser (firefox):

    XML Parsing Error: mismatched tag. Expected: </p>.
    Location: file:///home/docgen/MIMIR-doc/other/html/_m_i_m_i_r__components_page.xhtml
    Line Number 178, Column 3:
    </div></div><!-- contents -->
    --^

  3. My stopgap solution is to apply the following sed script to the file:
       '/<.div><.div>/d; s!</body>!</p></div></div></body>!'

Note: When the page is corrected the embedded PDF does not show in the browser window, externally.  This is NOT a problem.  It works correctly when view on a windows box.
Comment 1 Dimitri van Heesch 2011-12-15 21:10:45 UTC
The problem seems to be related to (the content in) the \htmlonly..\endhtmlonly sections it seems. If I remove these sections the results are valid.
Comment 2 Bill 2011-12-16 17:43:34 UTC
(In reply to comment #1)
> The problem seems to be related to (the content in) the \htmlonly..\endhtmlonly
> sections it seems. If I remove these sections the results are valid.

Please look at the example more closely.
When the \htmlonly..\endhtmlonly are removed, DOXYGEN generates the xhtml:
     <p>Your browser does not support iframes. &lt;/iframe&gt;</p>

The "does not support" is clearly incorrect, since after fixing the xhtml iframe operates in Firefox and IE9 function.

Why is Doxygen telling me that my browser does not support iframes.  
Doxygen has not idea what browser I am using.
Comment 3 Dimitri van Heesch 2011-12-16 22:02:27 UTC
When I said remove \htmlonly..\endhtmlonly I meant also the content within the block. I'm not saying there is no bug, just that the bug is caused by the html only block in combination with <p></p>.

If I use:

\htmlonly
</p>
<iframe name="Layout Parameter Referencs in Code" src="LayoutParms.html" width="
 <p>Your browser does not support iframes.</p>
</iframe>
\endhtmlonly

and

\htmlonly
</p>
<iframe  src="Notes.pdf" width="100%" height="1600" >
 <p>Your browser does not support iframes.</p>
</iframe>
<p>
\endhtmlonly

It also works (but the name attribute of the first iframe is not valid).
Comment 4 Dimitri van Heesch 2011-12-25 23:06:19 UTC
The problem was that </p> was ignored by the parser, causing the \htmlonly section to be part of the preceding paragraph, and doxygen inserting an extra </p> after the \endhtmlonly.

Should be fixed in the next subversion update.
Comment 5 Dimitri van Heesch 2012-02-25 15:37:23 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.0. Please verify if this is indeed the case. Reopen the
bug if you think it is not fixed and please include any additional information
that you think can be relevant.