New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XML named entity resolution should happen before reference resolution (Origin: bugzilla #704090) #5237

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity major in component build for ---
Reported in version unspecified on platform Other
Assigned to: Dimitri van Heesch

On 2013-07-12 12:57:49 +0000, merlin@mailinator.com wrote:

Suppose that I have a C# class MyList. Then the following reference works and creates a link to the type in the resulting HTML documentation:

A MyList is returned which contains the whole caboodle.

but the following doesn't:

A MyList<T> is returned which contains the whole caboodle.

because Doxygen thinks that I want to refer to MyList<T> instead of MyList.

Additional information: I see no way that fixing this would be a breaking change. Sure, it can break kludged code which uses entities instead of % to suppress link generation.

On 2013-08-23 13:56:16 +0000, Dimitri van Heesch wrote:

I think there is also a more readable/elegant solution to your problem:

Use \tref{MyList,T} for the link reference and define this new command in the config file as follows:

ALIASES = tref{2}="\1<\2>"

Let me know if this works for you.

On 2014-01-09 14:12:17 +0000, Tobias Mueller wrote:

Seems like NOTABUG to me. Please reopen if this is not the case.

On 2014-12-18 15:51:18 +0000, Ben Spiller wrote:

I think this should be re-opened. The C# XML input mode is a bit broken in this state - you shouldn't have to enter MyList to make it work, since on its own is invalid XML (since T isn't a valid tag, and if it was it'd need a , and <> chars shouldn't appear in XML attributes such as cref="" anyway). The Microsoft format for cref uses {T} for generics instead of to get around the XML issue, and it'd be really helpful if doxygen followed this same convention.

I think you could fix this and make lots of users happy quite elegantly and safely by just replacing { with < and } with > when processing links (e.g. cref=).

The proposed workaround isn't any good for those of us who already have lots of C# doc comments in XML format and can't easily convert to using \ref, or who need the comments to still be parseable by the Visual Studio tooling for this.

On 2014-12-19 14:21:04 +0000, Dimitri van Heesch wrote:

Good suggestion. I'll include support for this in the next GIT update.

On 2014-12-25 16:03:00 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.9. 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).

On 2015-01-06 17:16:06 +0000, Ben Spiller wrote:

Still some issues with links to generic classes, see https://bugzilla.gnome.org/show_bug.cgi?id=738167 (which this issue is basically a duplicate of)

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment