GNOME Bugzilla – Bug 666047
Malformed xhtml on "Related Pages"
Last modified: 2012-11-18 11:11:53 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.
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.
(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. </iframe></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.
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).
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.
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.