csharpfftfsharpintegrationinterpolationlinear-algebramathdifferentiationmatrixnumericsrandomregressionstatisticsmathnet
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
449 lines
17 KiB
449 lines
17 KiB
<?xml version="1.0"?>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1"
|
|
xmlns:MSHelp="http://msdn.microsoft.com/mshelp"
|
|
xmlns:mshelp="http://msdn.microsoft.com/mshelp"
|
|
xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
|
|
>
|
|
|
|
<!-- stuff specific to comments authored in DDUEXML -->
|
|
|
|
<xsl:include href="utilities_reference.xsl" />
|
|
<xsl:include href="utilities_dduexml.xsl" />
|
|
<xsl:include href="htmlBody.xsl"/>
|
|
|
|
<xsl:variable name="summary" select="normalize-space(/document/comments/ddue:dduexml/ddue:summary)" />
|
|
|
|
<xsl:variable name="abstractSummary">
|
|
<xsl:for-each select="/document/comments/ddue:dduexml/ddue:summary">
|
|
<xsl:apply-templates select="." mode="abstract" />
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
|
|
<xsl:variable name="hasSeeAlsoSection"
|
|
select="boolean(
|
|
(count(/document/comments/ddue:dduexml/ddue:relatedTopics/*) > 0) or
|
|
($group='type' or $group='member' or $group='list')
|
|
)"/>
|
|
<xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)"/>
|
|
<xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/ddue:dduexml/ddue:codeExamples[normalize-space(.)]) > 0)" />
|
|
<xsl:template name="body">
|
|
|
|
<!--internalOnly boilerplate -->
|
|
<xsl:call-template name="internalOnly"/>
|
|
|
|
<!-- obsolete boilerplate -->
|
|
<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.ObsoleteAttribute']">
|
|
<xsl:call-template name="obsoleteSection" />
|
|
</xsl:if>
|
|
|
|
<!-- HostProtectionAttribute boilerplate -->
|
|
<xsl:if test="/document/reference/attributes/attribute/type[@api='T:System.Security.Permissions.HostProtectionAttribute']">
|
|
<p>
|
|
<include item="hostProtectionAttributeLong">
|
|
<parameter>
|
|
<xsl:value-of select="concat($subgroup, 'Lower')"/>
|
|
</parameter>
|
|
<parameter>
|
|
<b>
|
|
<xsl:for-each select="/document/reference/attributes/attribute[type[@api='T:System.Security.Permissions.HostProtectionAttribute']]/assignment">
|
|
<xsl:value-of select="@name"/>
|
|
<xsl:if test="position() != last()">
|
|
<xsl:text> | </xsl:text>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</b>
|
|
</parameter>
|
|
</include>
|
|
</p>
|
|
</xsl:if>
|
|
|
|
<!-- summary -->
|
|
<span sdata="authoredSummary">
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:summary[1]" />
|
|
</span>
|
|
<xsl:if test="$group='namespace'">
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks" />
|
|
</xsl:if>
|
|
|
|
<!-- assembly information -->
|
|
<xsl:if test="not($group='list' or $group='root' or $group='namespace')">
|
|
<xsl:call-template name="requirementsInfo"/>
|
|
</xsl:if>
|
|
|
|
<!-- syntax -->
|
|
<xsl:if test="not($group='list' or $group='namespace')">
|
|
<xsl:apply-templates select="/document/syntax" />
|
|
</xsl:if>
|
|
|
|
<!-- show authored Dependency Property Information section for properties -->
|
|
<xsl:if test="$subgroup='property'">
|
|
<xsl:apply-templates select="//ddue:section[starts-with(@address,'dependencyPropertyInfo')]" mode="section"/>
|
|
</xsl:if>
|
|
|
|
<!-- show authored Routed Event Information section for events -->
|
|
<xsl:if test="$subgroup='event'">
|
|
<xsl:apply-templates select="//ddue:section[starts-with(@address,'routedEventInfo')]" mode="section"/>
|
|
</xsl:if>
|
|
|
|
<!-- members -->
|
|
<xsl:choose>
|
|
<xsl:when test="$group='root'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="root" />
|
|
</xsl:when>
|
|
<xsl:when test="$group='namespace'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="namespace" />
|
|
</xsl:when>
|
|
<xsl:when test="$subgroup='enumeration'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="enumeration" />
|
|
</xsl:when>
|
|
<xsl:when test="$group='type'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="type" />
|
|
</xsl:when>
|
|
<xsl:when test="$group='list'">
|
|
<xsl:choose>
|
|
<xsl:when test="$subgroup='overload'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="overload" />
|
|
</xsl:when>
|
|
<xsl:when test="$subgroup='DerivedTypeList'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="derivedType" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:apply-templates select="/document/reference/elements" mode="member" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
<!-- exceptions -->
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:exceptions" />
|
|
<!-- remarks -->
|
|
<xsl:if test="not($group='namespace')">
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:remarks[1]" />
|
|
</xsl:if>
|
|
<!-- example -->
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:codeExamples" />
|
|
<!-- permissions -->
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:permissions" />
|
|
<!-- inheritance -->
|
|
<xsl:apply-templates select="/document/reference/family" />
|
|
<!-- other comment sections -->
|
|
<xsl:if test="$subgroup='class' or $subgroup='structure'">
|
|
<xsl:call-template name="threadSafety" />
|
|
</xsl:if>
|
|
<xsl:if test="not($group='list' or $group='namespace' or $group='root')">
|
|
<!--platforms-->
|
|
<xsl:apply-templates select="/document/reference/platforms" />
|
|
<!--versions-->
|
|
<xsl:apply-templates select="/document/reference/versions" />
|
|
</xsl:if>
|
|
<!-- see also -->
|
|
<xsl:call-template name="seeAlsoSection"/>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="obsoleteSection">
|
|
<p>
|
|
<include item="ObsoleteBoilerPlate">
|
|
<parameter>
|
|
<xsl:value-of select="$subgroup"/>
|
|
</parameter>
|
|
</include>
|
|
<xsl:for-each select="/document/comments/ddue:dduexml/ddue:obsoleteCodeEntity">
|
|
<xsl:text> </xsl:text>
|
|
<include item="nonobsoleteAlternative">
|
|
<parameter><xsl:apply-templates select="ddue:codeEntityReference" /></parameter>
|
|
</include>
|
|
</xsl:for-each>
|
|
</p>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="internalOnly">
|
|
<xsl:if test="/document/comments/ddue:dduexml/ddue:internalOnly or /document/reference/containers/ddue:internalOnly">
|
|
<div id="internalonly" class="seeAlsoNoToggleSection">
|
|
<p/>
|
|
<include item="internalOnly" />
|
|
</div>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getParameterDescription">
|
|
<xsl:param name="name" />
|
|
<span sdata="authoredParameterSummary">
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:parameters/ddue:parameter[string(ddue:parameterReference)=$name]/ddue:content" />
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="returns">
|
|
<xsl:if test="normalize-space(/document/comments/ddue:dduexml/ddue:returnValue)">
|
|
<div id="returns">
|
|
<xsl:call-template name="subSection">
|
|
<xsl:with-param name="title">
|
|
<include>
|
|
<xsl:attribute name="item">
|
|
<xsl:value-of select="$subgroup" />
|
|
<xsl:text>ValueTitle</xsl:text>
|
|
</xsl:attribute>
|
|
</include>
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:call-template name="getReturnsDescription" />
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</div>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getReturnsDescription">
|
|
<xsl:choose>
|
|
<xsl:when test="type">
|
|
<xsl:call-template name="typeReferenceLink">
|
|
<xsl:with-param name="api" select="type/@api" />
|
|
<xsl:with-param name="qualified" select="true()" />
|
|
<xsl:with-param name="specialization" select="boolean(type/specialization)" />
|
|
</xsl:call-template>
|
|
<xsl:apply-templates select="type/specialization" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:apply-templates select="*[1]" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<br/>
|
|
<span sdata="authoredValueSummary">
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:returnValue" />
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="templates">
|
|
<div id="genericParameters">
|
|
<xsl:call-template name="subSection">
|
|
<xsl:with-param name="title"><include item="templatesTitle" /></xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:for-each select="template">
|
|
<xsl:variable name="parameterName" select="@name" />
|
|
<dl paramName="{$parameterName}">
|
|
<dt>
|
|
<span class="parameter"><xsl:value-of select="$parameterName"/></span>
|
|
</dt>
|
|
<dd>
|
|
<xsl:apply-templates select="/document/comments/ddue:dduexml/ddue:genericParameters/ddue:genericParameter[string(ddue:parameterReference)=$parameterName]/ddue:content" />
|
|
</dd>
|
|
</dl>
|
|
</xsl:for-each>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getElementDescription">
|
|
<span sdata="memberAuthoredSummary">
|
|
<xsl:apply-templates select="ddue:summary[1]/ddue:para/node()" />
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getInternalOnlyDescription">
|
|
<xsl:choose>
|
|
<xsl:when test="ddue:internalOnly">
|
|
<include item="infraStructure" />
|
|
</xsl:when>
|
|
<xsl:when test="count(element) > 0">
|
|
<xsl:variable name="internal">
|
|
<xsl:for-each select="element">
|
|
<xsl:if test="not(ddue:internalOnly)">
|
|
<xsl:text>no</xsl:text>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:variable>
|
|
<xsl:if test="not(normalize-space($internal))">
|
|
<include item="infraStructure" />
|
|
</xsl:if>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getOverloadSummary">
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getOverloadSections">
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template match="syntax">
|
|
<xsl:if test="count(*) > 0">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'syntax'" />
|
|
<xsl:with-param name="title">
|
|
<include item="syntaxTitle"/>
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<div id="syntaxCodeBlocks" class="code">
|
|
<xsl:call-template name="syntaxBlocks" />
|
|
</div>
|
|
|
|
<!-- parameters & return value -->
|
|
<xsl:apply-templates select="/document/reference/templates" />
|
|
<xsl:apply-templates select="/document/reference/parameters" />
|
|
<xsl:apply-templates select="/document/reference/returns" />
|
|
<xsl:apply-templates select="/document/reference/implements" />
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
|
|
<!-- DDUEXML elements that behave differently in conceptual and reference -->
|
|
|
|
<xsl:template match="ddue:exceptions">
|
|
<xsl:if test="normalize-space(.)">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'ddueExceptions'"/>
|
|
<xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:choose>
|
|
<xsl:when test="ddue:exception">
|
|
<div class="listSection">
|
|
<table class="members" width="100%" cellspacing="0" frame="lhs">
|
|
<tr>
|
|
<th class="exceptionNameColumn"><include item="exceptionNameHeader" /></th>
|
|
<th class="exceptionConditionColumn"><include item="exceptionConditionHeader" /></th>
|
|
</tr>
|
|
<xsl:for-each select="ddue:exception">
|
|
<tr>
|
|
<td>
|
|
<xsl:apply-templates select="ddue:codeEntityReference" />
|
|
</td>
|
|
<td>
|
|
<xsl:apply-templates select="ddue:content" />
|
|
</td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</div>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:apply-templates />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ddue:permissions">
|
|
<xsl:if test="normalize-space(.)">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'permissions'" />
|
|
<xsl:with-param name="title">
|
|
<include item="permissionsTitle" />
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<ul>
|
|
<xsl:for-each select="ddue:permission">
|
|
<li>
|
|
<xsl:apply-templates select="ddue:codeEntityReference" />
|
|
<xsl:text> </xsl:text>
|
|
<xsl:apply-templates select="ddue:content" />
|
|
</li>
|
|
</xsl:for-each>
|
|
</ul>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ddue:codeExample">
|
|
<xsl:apply-templates />
|
|
</xsl:template>
|
|
|
|
<xsl:template name="runningHeader">
|
|
<include item="runningHeaderText" />
|
|
</xsl:template>
|
|
|
|
<xsl:template name="memberIntro">
|
|
<xsl:if test="$subgroup='members'">
|
|
<p>
|
|
<xsl:apply-templates select="/document/reference/containers/ddue:summary"/>
|
|
</p>
|
|
</xsl:if>
|
|
|
|
<xsl:if test="/document/reference/elements/element/memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly']">
|
|
<!-- if there are exposed members, show a boilerplate intro p -->
|
|
<xsl:variable name="introTextItemId">
|
|
<xsl:choose>
|
|
<xsl:when test="/document/reference/containers/type/templates">genericExposedMembersTableText</xsl:when>
|
|
<xsl:otherwise>exposedMembersTableText</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<p>
|
|
<include item="{$introTextItemId}">
|
|
<parameter>
|
|
<referenceLink target="{$typeId}" />
|
|
</parameter>
|
|
<parameter>
|
|
<xsl:value-of select="$subgroup"/><xsl:text>Subgroup</xsl:text>
|
|
</parameter>
|
|
</include>
|
|
</p>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="mshelpCodelangAttributes">
|
|
|
|
<xsl:for-each select="/document/comments/ddue:dduexml/ddue:codeExamples/ddue:codeExample/ddue:legacy/ddue:content/ddue:snippets/ddue:snippet">
|
|
|
|
<xsl:if test="not(@language=preceding::*/@language)">
|
|
<xsl:variable name="codeLang">
|
|
<xsl:choose>
|
|
<xsl:when test="@language = 'VBScript' or @language = 'vbs'">
|
|
<xsl:text>VBScript</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'VisualBasic' or @language = 'vb' or @language = 'vb#' or @language = 'VB' or @language = 'kbLangVB'" >
|
|
<xsl:text>kbLangVB</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'CSharp' or @language = 'c#' or @language = 'cs' or @language = 'C#'" >
|
|
<xsl:text>CSharp</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'ManagedCPlusPlus' or @language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++' or @language = 'kbLangCPP'" >
|
|
<xsl:text>kbLangCPP</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'JSharp' or @language = 'j#' or @language = 'jsharp' or @language = 'VJ#'">
|
|
<xsl:text>VJ#</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'JScript' or @language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript' or @language = 'kbJScript'">
|
|
<xsl:text>kbJScript</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'xml'">
|
|
<xsl:text>xml</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'html'">
|
|
<xsl:text>html</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'vb-c#'">
|
|
<xsl:text>visualbasicANDcsharp</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>other</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:choose>
|
|
<xsl:when test="$codeLang='other'" />
|
|
<xsl:otherwise>
|
|
<xsl:call-template name="codeLang">
|
|
<xsl:with-param name="codeLang" select="$codeLang" />
|
|
</xsl:call-template>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="ddue:codeEntityReference" mode="abstract">
|
|
<xsl:call-template name="subString">
|
|
<xsl:with-param name="name" select="." />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|
|
|