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 728740 - XML Output: Doxygen doesn’t escape & characters (included in a hyperlink) in <detaileddescription>
XML Output: Doxygen doesn’t escape & characters (included in a hyperlink) in ...
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.7
Other Windows
: Normal major
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-04-22 17:19 UTC by doxygen-xml-export
Modified: 2014-08-21 17:15 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
InputFile (181 bytes, text/plain)
2014-04-22 17:31 UTC, doxygen-xml-export
Details
doxyfile (12.34 KB, text/plain)
2014-04-23 12:35 UTC, doxygen-xml-export
Details

Description doxygen-xml-export 2014-04-22 17:19:18 UTC
+++ This bug was initially created as a clone of Bug #476562 +++

Please describe the problem:
Doxygen doesn’t escape & characters (included in a hyperlink) in <detaileddescription> but copies them into the XML output. The XML files ar not valid and combine.xslt fails.

Steps to reproduce:
1. Launch DoxyGen with an input file with & in a hyperlink

Example InvalideXmlOutput.h:
/** briefdescription text
 *
 * detaileddescription text
 * <a href="https://www.error.com/index.htm?document=number1&ph_id=">document name</a>
 */
class InvalideXmlOutput {}

2. Generate XML output
3. Launch Doxygen combine.xslt stylesheet on the output


Actual results:
Doxygen generates classInvalideXmlOutput.xml:
<briefdescription><para>briefdescription text</para></briefdescription>
<detaileddescription><para>detaileddescription text <ulink url="https://www.error.com/index.htm?document=number1&ph_id=">document name</ulink></para></detaileddescription>

and combine.xslt fails


Expected results:
Doxygen should generate classInvalideXmlOutput.xml:
<briefdescription><para>briefdescription text</para></briefdescription>
<detaileddescription><para>detaileddescription text <ulink url="https://www.error.com/index.htm?document=number1&amp;ph_id=">document name</ulink></para></detaileddescription>

and combine.xslt should execute successfully.

Does this happen every time?
Yes
Comment 1 doxygen-xml-export 2014-04-22 17:29:44 UTC
Another description of that bug: http://sourceforge.net/p/doxygen/discussion/130994/thread/9afd68fd/#4bf8
Comment 2 doxygen-xml-export 2014-04-22 17:31:44 UTC
Created attachment 274899 [details]
InputFile
Comment 3 doxygen-xml-export 2014-04-23 12:35:56 UTC
Created attachment 274942 [details]
doxyfile
Comment 4 doxygen-xml-export 2014-04-23 12:54:49 UTC
HTML export doesn escape & characters (included in a hyperlink):

<div class="textblock"><p>briefdescription text</p>
<p>detaileddescription text <a href="https://www.error.com/index.htm?document=number1&amp;ph_id=">document name</a> </p>
Comment 5 doxygen-xml-export 2014-04-23 15:25:28 UTC
Typo: HTML export works correctly.
Comment 6 doxygen-xml-export 2014-04-23 16:26:07 UTC
Escaping in programlisting of XML export is working correctly.

doc\xml\_invalide_xml_output_8h.xml---
    <programlisting>
<codeline lineno="1"></codeline>
<codeline lineno="6" refid="class_invalide_xml_output" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="class_invalide_xml_output" kindref="compound">InvalideXmlOutput</ref><sp/>{<sp/>&amp;test<sp/>}</highlight></codeline>
    </programlisting>

Header input:
class InvalideXmlOutput { &test }
Comment 7 Dimitri van Heesch 2014-08-04 18:22:20 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 8 Dimitri van Heesch 2014-08-21 17:15:35 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.8. 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 (preferrably in the form of a self-contained example).