((I hope Outlook doesn't mess up this formatting...))
Still, the conversions Doxygen did on the <list> and </list> tags are really
weird.
Here is a complete but silly example of XML in a <pre> block:
/*! \page junkid JunkTitle
<pre>
<xxx>
<list>
<yyy>foo</yyy>
<zzz>bar</zzz>
</list>
</xxx>
</pre>
*/
Doxygen generates this HTML (inside a class="textblock" div tag):
<pre>
<xxx>
</p>
<ul>
</ul>
<p><yyy>foo</yyy>
<zzz>bar</zzz>
</pre><pre>
</xxx>
</pre>
which is not correct and renders -very- badly.
(My original file, with the <pre> inside a cell of a table, also generated
</li></ul> between the first </pre> and second <pre> tags, so maybe this is
partially dependent on other content.)
BTW: \verbatim works but since my <pre> is in a cell in a table, the resulting
colored block around the \verbatim adds another border inside that cell. Using
<pre> and escaping <list> and </list> looks cleaner in this case. :) But it
does mean I have to watch the output closely to catch any other glitches like
that.
I'm using a table so I can give the block a title in one row and put the block
in the second row. Is there a way to "title" a \verbatim or \code block?
(<pre> has a "title" attribute, but it's only visible when mousing over the
block.)
Mike
-----Original Message-----
From: Dimitri Van Heesch [mailto:[email protected]]
Sent: Monday, July 09, 2012 12:24 PM
To: Broida, Michael
Cc: [email protected]
Subject: Re: [Doxygen-users] Bug: <list> inside <pre> generates bad html
On Jul 9, 2012, at 17:13 , <[email protected]>
<[email protected]> wrote:
> In a \page chunk of documentatation, I have a block of XML that I want to
> quote exactly. So I use the <pre> and </pre> HTML tags.
>
> But inside that block of XML, there are <list> and </list> tags. When
> Doxygen processes the <pre> block, it replaces each occurrence of <list> with:
> <ul></ul>
> At each occurrence of </list>, it closes the <pre> and all other open HTML
> tags (from before the <pre> tag), and inserts:
> </li></ul>
> then it reopens the <pre> tag, puts in the rest of my <pre> block, then
> closes the <pre> tag again.
>
> That is very wrong. I would expect Doxygen to change all the < chars to <
> and all the > chars to > in that <pre> block, but not to change ANYTHING
> else.
>
> Except for those <list> and </list> tags, it does exactly that.
>
> If I escape the <> chars in those <list> and </list> tags, Doxygen changes
> them to:
> <list>
> and </list>
> That matches all the other < to < and > to > mods.
>
> But I should not have to escape anything; <pre> should leave everything
> untouched.
No, <pre> just preserves spaces, all other processing is still being done.
What you are looking for is \verbatim .. \endverbatim.
Or in case MARKDOWN_SUPPORT is enabled you can also indent the whole block
with at least 4 spaces relative to the rest of the comment.
Regards,
Dimitri
This email was sent to you by Thomson Reuters, the global news and information
company. Any views expressed in this message are those of the individual
sender, except where the sender specifically states them to be the views of
Thomson Reuters.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Doxygen-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-users