[1146] | 1 | <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
---|
| 2 | xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
|
---|
| 3 | xmlns:mshelp="http://msdn.microsoft.com/mshelp"
|
---|
| 4 | xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
|
---|
| 5 | xmlns:xlink="http://www.w3.org/1999/xlink"
|
---|
| 6 | xmlns:msxsl="urn:schemas-microsoft-com:xslt"
|
---|
| 7 | >
|
---|
| 8 |
|
---|
| 9 | <xsl:template name="autogenSeeAlsoLinks">
|
---|
| 10 |
|
---|
| 11 | <!-- a link to the containing type on all list and member topics -->
|
---|
| 12 | <xsl:if test="($group='member' or $group='list')">
|
---|
| 13 | <xsl:variable name="typeTopicId">
|
---|
| 14 | <xsl:choose>
|
---|
| 15 | <xsl:when test="/document/reference/topicdata/@typeTopicId">
|
---|
| 16 | <xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
|
---|
| 17 | </xsl:when>
|
---|
| 18 | <xsl:otherwise>
|
---|
| 19 | <xsl:value-of select="/document/reference/containers/type/@api"/>
|
---|
| 20 | </xsl:otherwise>
|
---|
| 21 | </xsl:choose>
|
---|
| 22 | </xsl:variable>
|
---|
| 23 | <div class="seeAlsoStyle">
|
---|
| 24 | <referenceLink target="{$typeTopicId}" display-target="format">
|
---|
| 25 | <include item="SeeAlsoTypeLinkText">
|
---|
| 26 | <parameter>{0}</parameter>
|
---|
| 27 | <parameter>
|
---|
| 28 | <xsl:choose>
|
---|
| 29 | <xsl:when test="/document/reference/topicdata/@typeTopicId">
|
---|
| 30 | <xsl:value-of select="/document/reference/apidata/@subgroup"/>
|
---|
| 31 | </xsl:when>
|
---|
| 32 | <xsl:otherwise>
|
---|
| 33 | <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
|
---|
| 34 | </xsl:otherwise>
|
---|
| 35 | </xsl:choose>
|
---|
| 36 | </parameter>
|
---|
| 37 | </include>
|
---|
| 38 | </referenceLink>
|
---|
| 39 | </div>
|
---|
| 40 | <!--
|
---|
| 41 | <div class="seeAlsoStyle">
|
---|
| 42 | <include item="SeeAlsoTypeLinkText">
|
---|
| 43 | <parameter>
|
---|
| 44 | <referenceLink target="{$typeTopicId}" />
|
---|
| 45 | </parameter>
|
---|
| 46 | <parameter>
|
---|
| 47 | <xsl:choose>
|
---|
| 48 | <xsl:when test="/document/reference/topicdata/@typeTopicId">
|
---|
| 49 | <xsl:value-of select="/document/reference/apidata/@subgroup"/>
|
---|
| 50 | </xsl:when>
|
---|
| 51 | <xsl:otherwise>
|
---|
| 52 | <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
|
---|
| 53 | </xsl:otherwise>
|
---|
| 54 | </xsl:choose>
|
---|
| 55 | </parameter>
|
---|
| 56 | </include>
|
---|
| 57 | </div>
|
---|
| 58 | -->
|
---|
| 59 | </xsl:if>
|
---|
| 60 |
|
---|
| 61 | <!-- a link to the type's All Members list -->
|
---|
| 62 | <xsl:variable name="allMembersTopicId">
|
---|
| 63 | <xsl:choose>
|
---|
| 64 | <xsl:when test="/document/reference/topicdata/@allMembersTopicId">
|
---|
| 65 | <xsl:value-of select="/document/reference/topicdata/@allMembersTopicId"/>
|
---|
| 66 | </xsl:when>
|
---|
| 67 | <xsl:when test="$group='member' or ($group='list' and $subgroup='overload')">
|
---|
| 68 | <xsl:value-of select="/document/reference/containers/type/topicdata/@allMembersTopicId"/>
|
---|
| 69 | </xsl:when>
|
---|
| 70 | </xsl:choose>
|
---|
| 71 | </xsl:variable>
|
---|
| 72 | <xsl:if test="normalize-space($allMembersTopicId) and not($allMembersTopicId=$key)">
|
---|
| 73 | <div class="seeAlsoStyle">
|
---|
| 74 | <referenceLink target="{$allMembersTopicId}" display-target="format">
|
---|
| 75 | <include item="SeeAlsoMembersLinkText">
|
---|
| 76 | <parameter>{0}</parameter>
|
---|
| 77 | </include>
|
---|
| 78 | </referenceLink>
|
---|
| 79 | </div>
|
---|
| 80 | <!--
|
---|
| 81 | <div class="seeAlsoStyle">
|
---|
| 82 | <include item="SeeAlsoMembersLinkText">
|
---|
| 83 | <parameter>
|
---|
| 84 | <referenceLink target="{$allMembersTopicId}" />
|
---|
| 85 | </parameter>
|
---|
| 86 | </include>
|
---|
| 87 | </div>
|
---|
| 88 | -->
|
---|
| 89 | </xsl:if>
|
---|
| 90 |
|
---|
| 91 | <xsl:if test="/document/reference/memberdata/@overload">
|
---|
| 92 | <!-- a link to the overload topic -->
|
---|
| 93 | <div class="seeAlsoStyle">
|
---|
| 94 | <referenceLink target="{/document/reference/memberdata/@overload}" display-target="format" show-parameters="false">
|
---|
| 95 | <include item="SeeAlsoOverloadLinkText">
|
---|
| 96 | <parameter>{0}</parameter>
|
---|
| 97 | </include>
|
---|
| 98 | </referenceLink>
|
---|
| 99 | </div>
|
---|
| 100 | </xsl:if>
|
---|
| 101 |
|
---|
| 102 | <!-- a link to the namespace topic -->
|
---|
| 103 | <xsl:variable name="namespaceId">
|
---|
| 104 | <xsl:value-of select="/document/reference/containers/namespace/@api"/>
|
---|
| 105 | </xsl:variable>
|
---|
| 106 | <xsl:if test="normalize-space($namespaceId)">
|
---|
| 107 | <div class="seeAlsoStyle">
|
---|
| 108 | <referenceLink target="{$namespaceId}" display-target="format">
|
---|
| 109 | <include item="SeeAlsoNamespaceLinkText">
|
---|
| 110 | <parameter>{0}</parameter>
|
---|
| 111 | </include>
|
---|
| 112 | </referenceLink>
|
---|
| 113 | </div>
|
---|
| 114 | <!--
|
---|
| 115 | <div class="seeAlsoStyle">
|
---|
| 116 | <include item="SeeAlsoNamespaceLinkText">
|
---|
| 117 | <parameter>
|
---|
| 118 | <referenceLink target="{$namespaceId}" />
|
---|
| 119 | </parameter>
|
---|
| 120 | </include>
|
---|
| 121 | </div>
|
---|
| 122 | -->
|
---|
| 123 | </xsl:if>
|
---|
| 124 |
|
---|
| 125 | </xsl:template>
|
---|
| 126 |
|
---|
| 127 | <xsl:variable name="typeId">
|
---|
| 128 | <xsl:choose>
|
---|
| 129 | <xsl:when test="/document/reference/topicdata[@group='api'] and /document/reference/apidata[@group='type']">
|
---|
| 130 | <xsl:value-of select="$key"/>
|
---|
| 131 | </xsl:when>
|
---|
| 132 | <xsl:when test="/document/reference/topicdata/@typeTopicId">
|
---|
| 133 | <xsl:value-of select="/document/reference/topicdata/@typeTopicId"/>
|
---|
| 134 | </xsl:when>
|
---|
| 135 | <xsl:otherwise>
|
---|
| 136 | <xsl:value-of select="/document/reference/containers/type/@api"/>
|
---|
| 137 | </xsl:otherwise>
|
---|
| 138 | </xsl:choose>
|
---|
| 139 | </xsl:variable>
|
---|
| 140 |
|
---|
| 141 | <!-- indent by 2*n spaces -->
|
---|
| 142 | <xsl:template name="indent">
|
---|
| 143 | <xsl:param name="count" />
|
---|
| 144 | <xsl:if test="$count > 1">
|
---|
| 145 | <xsl:text>  </xsl:text>
|
---|
| 146 | <xsl:call-template name="indent">
|
---|
| 147 | <xsl:with-param name="count" select="$count - 1" />
|
---|
| 148 | </xsl:call-template>
|
---|
| 149 | </xsl:if>
|
---|
| 150 | </xsl:template>
|
---|
| 151 |
|
---|
| 152 | <!-- Gets the substring after the last occurence of a period in a given string -->
|
---|
| 153 | <xsl:template name="subString">
|
---|
| 154 | <xsl:param name="name" />
|
---|
| 155 |
|
---|
| 156 | <xsl:choose>
|
---|
| 157 | <xsl:when test="contains($name, '.')">
|
---|
| 158 | <xsl:call-template name="subString">
|
---|
| 159 | <xsl:with-param name="name" select="substring-after($name, '.')" />
|
---|
| 160 | </xsl:call-template>
|
---|
| 161 | </xsl:when>
|
---|
| 162 | <xsl:otherwise>
|
---|
| 163 | <xsl:value-of select="$name" />
|
---|
| 164 | </xsl:otherwise>
|
---|
| 165 | </xsl:choose>
|
---|
| 166 |
|
---|
| 167 | </xsl:template>
|
---|
| 168 |
|
---|
| 169 | <xsl:template name="codeSection">
|
---|
| 170 | <xsl:param name="codeLang" />
|
---|
| 171 | <div class="code">
|
---|
| 172 | <span codeLanguage="{$codeLang}">
|
---|
| 173 | <table width="100%" cellspacing="0" cellpadding="0">
|
---|
| 174 | <tr>
|
---|
| 175 | <th>
|
---|
| 176 | <xsl:variable name="codeLangLC" select="translate($codeLang,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz ')"/>
|
---|
| 177 | <!-- Added JavaScript to look for AJAX snippets as JScript represents javascript snippets-->
|
---|
| 178 | <xsl:if test="$codeLangLC='visualbasic' or $codeLangLC='csharp' or $codeLangLC='managedcplusplus' or $codeLangLC='jsharp' or $codeLangLC='jscript' or $codeLangLC='javascript' or $codeLangLC='xaml'">
|
---|
| 179 | <include item="{$codeLang}"/>
|
---|
| 180 | </xsl:if>
|
---|
| 181 | <xsl:text> </xsl:text>
|
---|
| 182 | </th>
|
---|
| 183 | <th>
|
---|
| 184 | <span class="copyCode" onclick="CopyCode(this)" onkeypress="CopyCode_CheckKey(this, event)" onmouseover="ChangeCopyCodeIcon(this)" onmouseout="ChangeCopyCodeIcon(this)" tabindex="0">
|
---|
| 185 | <img class="copyCodeImage" name="ccImage" align="absmiddle">
|
---|
| 186 | <includeAttribute name="title" item="copyImage" />
|
---|
| 187 | <includeAttribute name="src" item="iconPath">
|
---|
| 188 | <parameter>copycode.gif</parameter>
|
---|
| 189 | </includeAttribute>
|
---|
| 190 | </img>
|
---|
| 191 | <include item="copyCode"/>
|
---|
| 192 | </span>
|
---|
| 193 | </th>
|
---|
| 194 | </tr>
|
---|
| 195 | <tr>
|
---|
| 196 | <td colspan="2">
|
---|
| 197 | <!-- alansm: fix bug 321956 - use apply-templates rather than copy-of, so ddue:codeFeaturedElement nodes are transformed -->
|
---|
| 198 | <pre><xsl:text/><xsl:apply-templates/><!--<xsl:copy-of select="node()"/>--><xsl:text/></pre>
|
---|
| 199 | </td>
|
---|
| 200 | </tr>
|
---|
| 201 | </table>
|
---|
| 202 | </span>
|
---|
| 203 | </div>
|
---|
| 204 |
|
---|
| 205 | </xsl:template>
|
---|
| 206 |
|
---|
| 207 | <!-- sireeshm: fix bug 361746 - use copy-of, so that span class="keyword", "literal" and "comment" nodes are copied to preserve code colorization in snippets -->
|
---|
| 208 | <xsl:template match="ddue:span[@class='keyword' or @class='literal' or @class='comment']">
|
---|
| 209 | <xsl:copy-of select="."/>
|
---|
| 210 | </xsl:template>
|
---|
| 211 |
|
---|
| 212 | <xsl:template name="nonScrollingRegionTypeLinks">
|
---|
| 213 | <include item="nonScrollingTypeLinkText">
|
---|
| 214 | <parameter>{0}</parameter>
|
---|
| 215 | <parameter>
|
---|
| 216 | <xsl:choose>
|
---|
| 217 | <xsl:when test="/document/reference/topicdata/@typeTopicId">
|
---|
| 218 | <xsl:value-of select="/document/reference/apidata/@subgroup"/>
|
---|
| 219 | </xsl:when>
|
---|
| 220 | <xsl:otherwise>
|
---|
| 221 | <xsl:value-of select="/document/reference/containers/type/apidata/@subgroup"/>
|
---|
| 222 | </xsl:otherwise>
|
---|
| 223 | </xsl:choose>
|
---|
| 224 | </parameter>
|
---|
| 225 | </include>
|
---|
| 226 | </xsl:template>
|
---|
| 227 |
|
---|
| 228 | <xsl:template name="mshelpCodelangAttributes">
|
---|
| 229 | <xsl:param name="snippets" />
|
---|
| 230 | <xsl:for-each select="$snippets">
|
---|
| 231 |
|
---|
| 232 | <xsl:if test="not(@language=preceding::*/@language)">
|
---|
| 233 | <xsl:variable name="codeLang">
|
---|
| 234 | <xsl:choose>
|
---|
| 235 | <xsl:when test="@language = 'VBScript' or @language = 'vbs'">
|
---|
| 236 | <xsl:text>VBScript</xsl:text>
|
---|
| 237 | </xsl:when>
|
---|
| 238 | <xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
|
---|
| 239 | <xsl:text>kbLangVB</xsl:text>
|
---|
| 240 | </xsl:when>
|
---|
| 241 | <xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
|
---|
| 242 | <xsl:text>CSharp</xsl:text>
|
---|
| 243 | </xsl:when>
|
---|
| 244 | <xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
|
---|
| 245 | <xsl:text>kbLangCPP</xsl:text>
|
---|
| 246 | </xsl:when>
|
---|
| 247 | <xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
|
---|
| 248 | <xsl:text>VJ#</xsl:text>
|
---|
| 249 | </xsl:when>
|
---|
| 250 | <xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
|
---|
| 251 | <xsl:text>kbJScript</xsl:text>
|
---|
| 252 | </xsl:when>
|
---|
| 253 | <xsl:when test="@language = 'XAML' or @language = 'xaml'">
|
---|
| 254 | <xsl:text>XAML</xsl:text>
|
---|
| 255 | </xsl:when>
|
---|
| 256 | <xsl:when test="@language = 'JavaScript' or @language = 'javascript'">
|
---|
| 257 | <xsl:text>JavaScript</xsl:text>
|
---|
| 258 | </xsl:when>
|
---|
| 259 | <xsl:when test="@language = 'xml'">
|
---|
| 260 | <xsl:text>xml</xsl:text>
|
---|
| 261 | </xsl:when>
|
---|
| 262 | <xsl:when test="@language = 'html'">
|
---|
| 263 | <xsl:text>html</xsl:text>
|
---|
| 264 | </xsl:when>
|
---|
| 265 | <xsl:when test="@language = 'vb-c#'">
|
---|
| 266 | <xsl:text>visualbasicANDcsharp</xsl:text>
|
---|
| 267 | </xsl:when>
|
---|
| 268 | <xsl:otherwise>
|
---|
| 269 | <xsl:text>other</xsl:text>
|
---|
| 270 | </xsl:otherwise>
|
---|
| 271 | </xsl:choose>
|
---|
| 272 | </xsl:variable>
|
---|
| 273 | <xsl:choose>
|
---|
| 274 | <xsl:when test="$codeLang='other'" />
|
---|
| 275 | <!-- If $codeLang is already authored, then do nothing -->
|
---|
| 276 | <xsl:when test="/document/metadata/attribute[@name='codelang']/text() = $codeLang" />
|
---|
| 277 | <xsl:otherwise>
|
---|
| 278 | <xsl:call-template name="codeLang">
|
---|
| 279 | <xsl:with-param name="codeLang" select="$codeLang" />
|
---|
| 280 | </xsl:call-template>
|
---|
| 281 | </xsl:otherwise>
|
---|
| 282 | </xsl:choose>
|
---|
| 283 | </xsl:if>
|
---|
| 284 |
|
---|
| 285 | </xsl:for-each>
|
---|
| 286 | </xsl:template>
|
---|
| 287 |
|
---|
| 288 | <xsl:template name="codeLang">
|
---|
| 289 | <xsl:param name="codeLang" />
|
---|
| 290 | <MSHelp:Attr Name="codelang" Value="{$codeLang}" />
|
---|
| 291 | </xsl:template>
|
---|
| 292 |
|
---|
| 293 | </xsl:stylesheet>
|
---|