This project is read-only.

Links in <summary> are lost in mshelp abstract and meta description


Using Sandcastle v2.6.10621.1, and the vs2005 style.
I have the following summary:
<summary>Frees any resources associated with the <see cref="T:Some.Namespace.SomeClass" />.</summary>
This produces the summary content on the page correctly:
<div class="summary">Frees any resources associated with the <a href="T_Some_Namespace_SomeClass.htm">SomeClass</a>.</div>  
But the MSHelp abstract and meta description lose the link text:
<meta name="Description" content="Frees any resources associated with the ." />
<MSHelp:Attr Name="Abstract" Value="Frees any resources associated with the ." />
(This is just an example, I have hundreds of summaries affected by this problem).
I have customized some of the transforms, so would appreciate if someone could point out what modifications I need to make in order to fix this issue, rather than waiting for a future Sandcastle release.


EWoodruff wrote May 3, 2011 at 4:28 PM

The help attributes are rendered in the conceptualMetadataHelp20.xsl (Help 2) and conceptualMetadataHelp30.xsl (MS Help Viewer) transformations. Search for "abstract" and "description" to find the affected section in each.

paulcrockett wrote Jun 15, 2011 at 10:50 AM

I've narrowed down the setting of this variable to line 10 of main_sandcastle.xsl which is:

<xsl:variable name="abstractSummary" select="/document/comments/summary" />

I've tried a few things to fix the abstractSummary variable, but without success, for example:

<xsl:variable name="abstractSummary" select="/document/comments/summary/text()" />

<xsl:variable name="abstractSummary">
<xsl:value-of select="/document/comments/summary" />

<xsl:variable name="abstractSummary">
<xsl:apply-templates select="/document/comments/summary"/>

But these all result in the same behaviour, the summary ends up as "Frees any resources associated with the ."
Other things I tried resulted in blank strings.

Can you give some advice as to how I can change this variable to contain all of the text within <summary>, including inside nested <see> tags?
I've seen other transforms use ddue:dduexml/ddue:summary, but I'm not sure of the difference and when I tried that instead, it resulted in blank strings.

One of the problems I'm having is that I've no idea where the XML structure document/comments/summary comes from. Both the reflection XML and the documentation XML have an entirely different structure, so I don't know what sort of things I need to put into the XPath to get them to appear. For example, I added a template to match the 'see' node, but nothing was output, suggesting that the 'see' nodes are not part of the document tree.

Any help would be most appreciated.

wrote Jan 28, 2012 at 2:09 PM

wrote Feb 22, 2013 at 1:39 AM