link to a Namespace comment from conceptual content

Oct 6, 2008 at 8:30 AM
Hello,
I have a namespace documentation for namesspace "MyNamespace" by adding an empty NamespaceDoc class as described in the help. This works well. But now I need to put a link in a conceptual content file to that very namespace documentation. When I search in Code Entity Search for it, it returns me a referenced called "T:MyNamespace.NamespaceDoc" but when i insert this in my document with a <codeEntityReference>T:MyNamespace.NamespaceDoc</codeEntityReference> the generated help file will only show the text bold, no link. The NamespaceDoc class is private, so it does not turn up in the compiled help.

How do I reference a Namespace documentation from my conceptual content file?

Any help greatly appreciated

Joachim
Coordinator
Oct 6, 2008 at 3:17 PM
To save time, the entity reference window only indexes the comments files found in the project and the framework comments files.  Namespace comments on the NamespaceDoc classes are only added as part of the actual build process.  As such, you won't see them in the search results.  However, namespace references are easy to create.  Just prefix the fully qualified namespace with "N:" in the codeEntityReference:

<codeEntityReference>N:MyNamespace</codeEntityReference>
<codeEntityReference>N:MyNamespace.SubNamespace</codeEntityReference>

I'll see if there's a way to add NamespaceDoc entries in the next release without doing a partial build.

Eric
Oct 7, 2008 at 7:37 AM
Thanks very much Eric, it works :-)
One more thing: is it possible to set the text of  a codeEntityReference link in my document to something different than the actual namespace?
e.g: For the user I want a link reading "Main Application" but clicking on it it should point to N:MyMainNamespace, something like href in html.

Joachim
Coordinator
Oct 7, 2008 at 3:11 PM
You can control whether or not the member name is fully qualified using the qualifyHint attribute but you can't specify alternate inner text for the codeEntityReference link.  You could use an externalLink to link to the API topic but it's more work.  You need to figure out the target topic's filename.  It's simpler if you set the NamingMethod property to MemberName as then the member names are used (i.e. N:MyMainNamespace becomes N_MyMainNamespace.htm).  If using GUID naming or hashed member names, you'll need to look at the manifest created in the working folder or, more easily, the properties on the topic in the compiled help file to get the filename ("GUID" isn't quite accurate, it's an MD5 hash in GUID format so the name will remain constant in each build).  See the Help File Category Properties topic in the GUI Project Manager section of the help file as it describes the different naming methods and how the names are formed.

Once you've got the name, you can use it in an external link like this:

<externalLink>
    <linkText>Main Application</linkText>
    <linkUri>N_MyMainNamespace.htm</linkUri>
</externalLink>

Eric
Oct 7, 2008 at 3:16 PM
Eric, thank you very much for your help! I will try your suggestion.

regards
Joachim
Oct 17, 2008 at 12:03 AM
Edited Oct 17, 2008 at 12:05 AM
Hi everyone...I am John from Mexico...I have seen your forum...Nice information provided here which is very useful to everyone...See the Help File Category Properties topic in the GUI Project Manager section of the help file as it describes the different naming methods and how the names are formed....thanks for posting...Let me know more about this one.....
==================================================================
simmons

[url=http://www.widecircles.com]Link Building[/url]

Coordinator
Oct 17, 2008 at 1:31 AM
John,
You'll need to be more specific.  What do you need to know that isn't covered in the indicated section of the help file?

Eric