((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>
          &lt;xxx&gt;
            </p>
        <ul>
        </ul>
        <p>&lt;yyy&gt;foo&lt;/yyy&gt;
              &lt;zzz&gt;bar&lt;/zzz&gt;
            </pre><pre>
          &lt;/xxx&gt;
        </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:doxy...@gmail.com] 
Sent: Monday, July 09, 2012 12:24 PM
To: Broida, Michael
Cc: doxygen-users@lists.sourceforge.net
Subject: Re: [Doxygen-users] Bug: <list> inside <pre> generates bad html


On Jul 9, 2012, at 17:13 , <michael.bro...@thomsonreuters.com> 
<michael.bro...@thomsonreuters.com> 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 &lt; 
> and all the > chars to &gt; 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:
>         &lt;list&gt;
> and     &lt;/list&gt;
> That matches all the other < to &lt; and > to &gt; 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
Doxygen-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/doxygen-users

Reply via email to