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.
886 lines
31 KiB
886 lines
31 KiB
<?xml version="1.0"?>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1">
|
|
|
|
<!-- stuff specified to comments authored in DDUEXML -->
|
|
|
|
<xsl:import href="../../shared/transforms/utilities_bibliography.xsl"/>
|
|
<xsl:param name="bibliographyData" select="'../Data/bibliography.xml'"/>
|
|
|
|
<xsl:include href="htmlBody.xsl"/>
|
|
<xsl:include href="utilities_reference.xsl" />
|
|
|
|
<xsl:variable name="summary" select="normalize-space(/document/comments/summary)" />
|
|
<xsl:variable name="abstractSummary" select="/document/comments/summary" />
|
|
<xsl:variable name="hasSeeAlsoSection" select="boolean((count(/document/comments//seealso | /document/reference/elements/element/overloads//seealso) > 0) or
|
|
($group='type' or $group='member' or $group='list'))"/>
|
|
<xsl:variable name="examplesSection" select="boolean(string-length(/document/comments/example[normalize-space(.)]) > 0)"/>
|
|
<xsl:variable name="languageFilterSection" select="boolean(string-length(/document/comments/example[normalize-space(.)]) > 0)" />
|
|
|
|
<xsl:template name="body">
|
|
|
|
<!-- auto-inserted info -->
|
|
<!-- <xsl:apply-templates select="/document/reference/attributes" /> -->
|
|
<xsl:apply-templates select="/document/comments/preliminary" />
|
|
<xsl:apply-templates select="/document/comments/summary" />
|
|
<xsl:if test="$subgroup='overload'">
|
|
<xsl:apply-templates select="/document/reference/elements" mode="overloadSummary" />
|
|
</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>
|
|
<!-- 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>
|
|
<!-- remarks -->
|
|
<xsl:apply-templates select="/document/comments/remarks" />
|
|
<!-- example -->
|
|
<xsl:apply-templates select="/document/comments/example" />
|
|
<!-- other comment sections -->
|
|
<!-- permissions -->
|
|
<xsl:call-template name="permissions" />
|
|
<!-- exceptions -->
|
|
<xsl:call-template name="exceptions" />
|
|
<!-- inheritance -->
|
|
<xsl:apply-templates select="/document/reference/family" />
|
|
<xsl:apply-templates select="/document/comments/threadsafety" />
|
|
<!--versions-->
|
|
<xsl:if test="not($group='list' or $group='namespace' or $group='root' )">
|
|
<xsl:apply-templates select="/document/reference/versions" />
|
|
</xsl:if>
|
|
<!-- bibliography -->
|
|
<xsl:call-template name="bibliography" />
|
|
<!-- see also -->
|
|
<xsl:call-template name="seealso" />
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getParameterDescription">
|
|
<xsl:param name="name" />
|
|
<xsl:apply-templates select="/document/comments/param[@name=$name]" />
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getReturnsDescription">
|
|
<xsl:param name="name" />
|
|
<xsl:apply-templates select="/document/comments/param[@name=$name]" />
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getElementDescription">
|
|
<xsl:apply-templates select="summary[1]" />
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getOverloadSummary">
|
|
<xsl:apply-templates select="overloads" mode="summary"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getOverloadSections">
|
|
<xsl:apply-templates select="overloads" mode="sections"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="getInternalOnlyDescription">
|
|
|
|
</xsl:template>
|
|
|
|
|
|
<!-- block sections -->
|
|
|
|
<xsl:template match="summary">
|
|
<div class="summary">
|
|
<xsl:apply-templates />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="overloads" mode="summary">
|
|
<xsl:choose>
|
|
<xsl:when test="count(summary) > 0">
|
|
<xsl:apply-templates select="summary" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<div class="summary">
|
|
<xsl:apply-templates/>
|
|
</div>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="overloads" mode="sections">
|
|
<xsl:apply-templates select="remarks" />
|
|
<xsl:apply-templates select="example"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="value">
|
|
<xsl:call-template name="subSection">
|
|
<xsl:with-param name="title">
|
|
<include item="fieldValueTitle" />
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:apply-templates />
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="returns">
|
|
<xsl:call-template name="subSection">
|
|
<xsl:with-param name="title">
|
|
<include item="methodValueTitle" />
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:apply-templates />
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="templates">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'templates'" />
|
|
<xsl:with-param name="title">
|
|
<include item="templatesTitle" />
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<dl>
|
|
<xsl:for-each select="template">
|
|
<xsl:variable name="templateName" select="@name" />
|
|
<dt>
|
|
<span class="parameter">
|
|
<xsl:value-of select="$templateName"/>
|
|
</span>
|
|
</dt>
|
|
<dd>
|
|
<xsl:apply-templates select="/document/comments/typeparam[@name=$templateName]" />
|
|
</dd>
|
|
</xsl:for-each>
|
|
</dl>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="remarks">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'remarks'"/>
|
|
<xsl:with-param name="title"><include item="remarksTitle" /></xsl:with-param>
|
|
<xsl:with-param name="content"><xsl:apply-templates /></xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="example">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'example'"/>
|
|
<xsl:with-param name="title"><include item="examplesTitle" /></xsl:with-param>
|
|
<xsl:with-param name="content"><xsl:apply-templates /></xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="para">
|
|
<p><xsl:apply-templates /></p>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="code">
|
|
|
|
<xsl:variable name="codeLang">
|
|
<xsl:choose>
|
|
<xsl:when test="@language = 'vbs'">
|
|
<xsl:text>VBScript</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'vb' or @language = 'vb#' or @language = 'VB'" >
|
|
<xsl:text>VisualBasic</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'c#' or @language = 'cs' or @language = 'C#'" >
|
|
<xsl:text>CSharp</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'cpp' or @language = 'cpp#' or @language = 'c' or @language = 'c++' or @language = 'C++'" >
|
|
<xsl:text>ManagedCPlusPlus</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'j#' or @language = 'jsharp'">
|
|
<xsl:text>JSharp</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'js' or @language = 'jscript#' or @language = 'jscript' or @language = 'JScript'">
|
|
<xsl:text>JScript</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@language = 'xml'">
|
|
<xsl:text>xmlLang</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:when test="@language = 'xaml' or @language = 'XAML'">
|
|
<xsl:text>XAML</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>other</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
|
|
<xsl:call-template name="codeSection">
|
|
<xsl:with-param name="codeLang" select="$codeLang" />
|
|
</xsl:call-template>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="exceptions">
|
|
<xsl:if test="count(/document/comments/exception) > 0">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'exceptions'"/>
|
|
<xsl:with-param name="title"><include item="exceptionsTitle" /></xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<div class="tableSection">
|
|
<table width="100%" cellspacing="2" cellpadding="5" frame="lhs" >
|
|
<tr>
|
|
<th class="exceptionNameColumn"><include item="exceptionNameHeader" /></th>
|
|
<th class="exceptionConditionColumn"><include item="exceptionConditionHeader" /></th>
|
|
</tr>
|
|
<xsl:for-each select="/document/comments/exception">
|
|
<tr>
|
|
<td><referenceLink target="{@cref}" qualified="true" /></td>
|
|
<td>
|
|
<xsl:apply-templates select="." />
|
|
</td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</div>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="permissions">
|
|
<xsl:if test="count(/document/comments/permission) > 0">
|
|
<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">
|
|
<div class="tableSection">
|
|
<table width="100%" cellspacing="2" cellpadding="5" frame="lhs" >
|
|
<tr>
|
|
<th class="permissionNameColumn">
|
|
<include item="permissionNameHeader" />
|
|
</th>
|
|
<th class="permissionDescriptionColumn">
|
|
<include item="permissionDescriptionHeader" />
|
|
</th>
|
|
</tr>
|
|
<xsl:for-each select="/document/comments/permission">
|
|
<tr>
|
|
<td>
|
|
<referenceLink target="{@cref}" qualified="true" />
|
|
</td>
|
|
<td>
|
|
<xsl:apply-templates select="." />
|
|
</td>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</div>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="seealso">
|
|
<xsl:if test="$hasSeeAlsoSection">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'seeAlso'" />
|
|
<xsl:with-param name="title">
|
|
<include item="relatedTitle" />
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:call-template name="autogenSeeAlsoLinks"/>
|
|
<xsl:for-each select="/document/comments//seealso | /document/reference/elements/element/overloads//seealso">
|
|
<div class="seeAlsoStyle">
|
|
<xsl:apply-templates select=".">
|
|
<xsl:with-param name="displaySeeAlso" select="true()" />
|
|
</xsl:apply-templates>
|
|
</div>
|
|
</xsl:for-each>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="list[@type='bullet']">
|
|
<ul>
|
|
<xsl:for-each select="item">
|
|
<li><xsl:apply-templates /></li>
|
|
</xsl:for-each>
|
|
</ul>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="list[@type='number']">
|
|
<ol>
|
|
<xsl:for-each select="item">
|
|
<li><xsl:apply-templates /></li>
|
|
</xsl:for-each>
|
|
</ol>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="list[@type='table']">
|
|
<div class="tableSection">
|
|
<table width="100%" cellspacing="2" cellpadding="5" frame="lhs" >
|
|
<xsl:for-each select="listheader">
|
|
<tr>
|
|
<xsl:for-each select="*">
|
|
<th><xsl:apply-templates /></th>
|
|
</xsl:for-each>
|
|
</tr>
|
|
</xsl:for-each>
|
|
<xsl:for-each select="item">
|
|
<tr>
|
|
<xsl:for-each select="*">
|
|
<td>
|
|
<xsl:apply-templates />
|
|
</td>
|
|
</xsl:for-each>
|
|
</tr>
|
|
</xsl:for-each>
|
|
</table>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<!-- inline tags -->
|
|
|
|
<xsl:template match="see[@cref]">
|
|
<xsl:choose>
|
|
<xsl:when test="normalize-space(.)">
|
|
<referenceLink target="{@cref}">
|
|
<xsl:value-of select="." />
|
|
</referenceLink>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<referenceLink target="{@cref}"/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="see[@href]">
|
|
<xsl:call-template name="hyperlink">
|
|
<xsl:with-param name="content" select="."/>
|
|
<xsl:with-param name="href" select="@href"/>
|
|
<xsl:with-param name="target" select="@target"/>
|
|
<xsl:with-param name="alt" select="@alt"/>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="seealso[@href]">
|
|
<xsl:param name="displaySeeAlso" select="false()" />
|
|
<xsl:if test="$displaySeeAlso">
|
|
<xsl:call-template name="hyperlink">
|
|
<xsl:with-param name="content" select="."/>
|
|
<xsl:with-param name="href" select="@href"/>
|
|
<xsl:with-param name="target" select="@target"/>
|
|
<xsl:with-param name="alt" select="@alt"/>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="hyperlink">
|
|
<xsl:param name="content"/>
|
|
<xsl:param name="href"/>
|
|
<xsl:param name="target"/>
|
|
<xsl:param name="alt"/>
|
|
<a>
|
|
<xsl:attribute name="href"><xsl:value-of select="$href"/></xsl:attribute>
|
|
<xsl:choose>
|
|
<xsl:when test="normalize-space($target)">
|
|
<xsl:attribute name="target"><xsl:value-of select="normalize-space($target)"/></xsl:attribute>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:attribute name="target">_blank</xsl:attribute>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
<xsl:if test="normalize-space($alt)">
|
|
<xsl:attribute name="title"><xsl:value-of select="normalize-space($alt)"/></xsl:attribute>
|
|
</xsl:if>
|
|
<xsl:choose>
|
|
<xsl:when test="normalize-space($content)">
|
|
<xsl:value-of select="$content" />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="$href" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</a>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="see[@langword]">
|
|
<span class="keyword">
|
|
<xsl:choose>
|
|
<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
|
|
<span class="languageSpecificText">
|
|
<span class="cs">null</span>
|
|
<span class="vb">Nothing</span>
|
|
<span class="cpp">nullptr</span>
|
|
</span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='static' or @langword='Shared'">
|
|
<span class="languageSpecificText">
|
|
<span class="cs">static</span>
|
|
<span class="vb">Shared</span>
|
|
<span class="cpp">static</span>
|
|
</span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='virtual' or @langword='Overridable'">
|
|
<span class="languageSpecificText">
|
|
<span class="cs">virtual</span>
|
|
<span class="vb">Overridable</span>
|
|
<span class="cpp">virtual</span>
|
|
</span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='true' or @langword='True'">
|
|
<span class="languageSpecificText">
|
|
<span class="cs">true</span>
|
|
<span class="vb">True</span>
|
|
<span class="cpp">true</span>
|
|
</span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='false' or @langword='False'">
|
|
<span class="languageSpecificText">
|
|
<span class="cs">false</span>
|
|
<span class="vb">False</span>
|
|
<span class="cpp">false</span>
|
|
</span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='abstract'">
|
|
<span class="languageSpecificText">
|
|
<span class="cs">abstract</span>
|
|
<span class="vb">MustInherit</span>
|
|
<span class="cpp">abstract</span>
|
|
</span>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:value-of select="@langword" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</span>
|
|
<xsl:choose>
|
|
<xsl:when test="@langword='null' or @langword='Nothing' or @langword='nullptr'">
|
|
<span class="nu"><include item="nullKeyword"/></span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='static' or @langword='Shared'">
|
|
<span class="nu"><include item="staticKeyword"/></span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='virtual' or @langword='Overridable'">
|
|
<span class="nu"><include item="virtualKeyword"/></span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='true' or @langword='True'">
|
|
<span class="nu"><include item="trueKeyword"/></span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='false' or @langword='False'">
|
|
<span class="nu"><include item="falseKeyword"/></span>
|
|
</xsl:when>
|
|
<xsl:when test="@langword='abstract'">
|
|
<span class="nu"><include item="abstractKeyword"/></span>
|
|
</xsl:when>
|
|
</xsl:choose>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template match="seealso">
|
|
<xsl:param name="displaySeeAlso" select="false()" />
|
|
<xsl:if test="$displaySeeAlso">
|
|
<xsl:choose>
|
|
<xsl:when test="normalize-space(.)">
|
|
<referenceLink target="{@cref}" qualified="true">
|
|
<xsl:value-of select="." />
|
|
</referenceLink>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<referenceLink target="{@cref}" qualified="true" />
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="c">
|
|
<span class="code"><xsl:apply-templates/></span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="paramref">
|
|
<span class="parameter">
|
|
<xsl:value-of select="@name" />
|
|
</span>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="typeparamref">
|
|
<span class="typeparameter">
|
|
<xsl:value-of select="@name" />
|
|
</span>
|
|
</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/parameters" />
|
|
<xsl:apply-templates select="/document/reference/templates" />
|
|
<xsl:apply-templates select="/document/comments/value" />
|
|
<xsl:apply-templates select="/document/comments/returns" />
|
|
<xsl:apply-templates select="/document/reference/implements" />
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="runningHeader">
|
|
<include item="runningHeaderText" />
|
|
</xsl:template>
|
|
|
|
<!-- pass through html tags -->
|
|
|
|
<xsl:template match="p|ol|ul|li|dl|dt|dd|table|tr|th|td|a|img|b|i|strong|em|del|sub|sup|br|hr|h1|h2|h3|h4|h5|h6|pre|div|span|blockquote|abbr|acronym|u|font|map|area">
|
|
<xsl:copy>
|
|
<xsl:copy-of select="@*" />
|
|
<xsl:apply-templates />
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
<!-- extra tag support -->
|
|
|
|
<xsl:template match="threadsafety">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'threadSafety'" />
|
|
<xsl:with-param name="title">
|
|
<include item="threadSafetyTitle" />
|
|
</xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:choose>
|
|
<xsl:when test="normalize-space(.)">
|
|
<xsl:apply-templates />
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:if test="@static='true'">
|
|
<include item="staticThreadSafe" />
|
|
</xsl:if>
|
|
<xsl:if test="@static='false'">
|
|
<include item="staticNotThreadSafe" />
|
|
</xsl:if>
|
|
<xsl:if test="@instance='true'">
|
|
<include item="instanceThreadSafe" />
|
|
</xsl:if>
|
|
<xsl:if test="@instance='false'">
|
|
<include item="instanceNotThreadSafe" />
|
|
</xsl:if>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="note">
|
|
<xsl:variable name="title">
|
|
<xsl:choose>
|
|
<xsl:when test="@type='note'">
|
|
<xsl:text>noteTitle</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='tip'">
|
|
<xsl:text>tipTitle</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='caution' or @type='warning'">
|
|
<xsl:text>cautionTitle</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='security' or @type='security note'">
|
|
<xsl:text>securityTitle</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='important'">
|
|
<xsl:text>importantTitle</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='vb' or @type='VB' or @type='VisualBasic' or @type='visual basic note'">
|
|
<xsl:text>visualBasicTitle</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='cs' or @type='CSharp' or @type='c#' or @type='C#' or @type='visual c# note'">
|
|
<xsl:text>visualC#Title</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='cpp' or @type='c++' or @type='C++' or @type='CPP' or @type='visual c++ note'">
|
|
<xsl:text>visualC++Title</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='JSharp' or @type='j#' or @type='J#' or @type='visual j# note'">
|
|
<xsl:text>visualJ#Title</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='implement'">
|
|
<xsl:text>NotesForImplementers</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='caller'">
|
|
<xsl:text>NotesForCallers</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='inherit'">
|
|
<xsl:text>NotesForInheritors</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>noteTitle</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="altTitle">
|
|
<xsl:choose>
|
|
<xsl:when test="@type='note' or @type='implement' or @type='caller' or @type='inherit'">
|
|
<xsl:text>noteAltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='tip'">
|
|
<xsl:text>tipAltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='caution' or @type='warning'">
|
|
<xsl:text>cautionAltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='security' or @type='security note'">
|
|
<xsl:text>securityAltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='important'">
|
|
<xsl:text>importantAltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='vb' or @type='VB' or @type='VisualBasic' or @type='visual basic note'">
|
|
<xsl:text>visualBasicAltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='cs' or @type='CSharp' or @type='c#' or @type='C#' or @type='visual c# note'">
|
|
<xsl:text>visualC#AltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='cpp' or @type='c++' or @type='C++' or @type='CPP' or @type='visual c++ note'">
|
|
<xsl:text>visualC++AltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='JSharp' or @type='j#' or @type='J#' or @type='visual j# note'">
|
|
<xsl:text>visualJ#AltText</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>noteAltText</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<xsl:variable name="noteImg">
|
|
<xsl:choose>
|
|
<xsl:when test="@type='note' or @type='tip' or @type='implement' or @type='caller' or @type='inherit'">
|
|
<xsl:text>alert_note.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='caution' or @type='warning'">
|
|
<xsl:text>alert_caution.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='security' or @type='security note'">
|
|
<xsl:text>alert_security.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='important'">
|
|
<xsl:text>alert_caution.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='vb' or @type='VB' or @type='VisualBasic' or @type='visual basic note'">
|
|
<xsl:text>alert_note.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='cs' or @type='CSharp' or @type='c#' or @type='C#' or @type='visual c# note'">
|
|
<xsl:text>alert_note.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='cpp' or @type='c++' or @type='C++' or @type='CPP' or @type='visual c++ note'">
|
|
<xsl:text>alert_note.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:when test="@type='JSharp' or @type='j#' or @type='J#' or @type='visual j# note'">
|
|
<xsl:text>alert_note.gif</xsl:text>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:text>alert_note.gif</xsl:text>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:variable>
|
|
<div class="alert">
|
|
<table>
|
|
<th>
|
|
<img>
|
|
<includeAttribute item="iconPath" name="src">
|
|
<parameter>
|
|
<xsl:value-of select="$noteImg"/>
|
|
</parameter>
|
|
</includeAttribute>
|
|
<includeAttribute name="title" item="{$altTitle}" />
|
|
</img>
|
|
<xsl:text> </xsl:text>
|
|
<include item="{$title}" />
|
|
<tr>
|
|
<td>
|
|
<xsl:apply-templates />
|
|
</td>
|
|
</tr>
|
|
</th>
|
|
</table>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<xsl:template match="preliminary">
|
|
<div class="preliminary">
|
|
<include item="preliminaryText" />
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<!-- move these off into a shared file -->
|
|
|
|
<xsl:template name="createReferenceLink">
|
|
<xsl:param name="id" />
|
|
<xsl:param name="qualified" select="false()" />
|
|
|
|
<referenceLink target="{$id}" qualified="{$qualified}" />
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="section">
|
|
<xsl:param name="toggleSwitch" />
|
|
<xsl:param name="title" />
|
|
<xsl:param name="content" />
|
|
|
|
<xsl:variable name="toggleTitle" select="concat($toggleSwitch,'Toggle')" />
|
|
<xsl:variable name="toggleSection" select="concat($toggleSwitch,'Section')" />
|
|
|
|
<h1 class="heading">
|
|
<span onclick="ExpandCollapse({$toggleTitle})" style="cursor:default;" onkeypress="ExpandCollapse_CheckKey({$toggleTitle}, event)" tabindex="0">
|
|
<img id="{$toggleTitle}" class="toggle" name="toggleSwitch">
|
|
<includeAttribute name="src" item="iconPath">
|
|
<parameter>collapse_all.gif</parameter>
|
|
</includeAttribute>
|
|
</img>
|
|
<xsl:copy-of select="$title" />
|
|
</span>
|
|
</h1>
|
|
|
|
<div id="{$toggleSection}" class="section" name="collapseableSection" style="">
|
|
<xsl:copy-of select="$content" />
|
|
</div>
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="subSection">
|
|
<xsl:param name="title" />
|
|
<xsl:param name="content" />
|
|
|
|
<h4 class="subHeading">
|
|
<xsl:copy-of select="$title" />
|
|
</h4>
|
|
<xsl:copy-of select="$content" />
|
|
|
|
</xsl:template>
|
|
|
|
<xsl:template name="memberIntro">
|
|
<xsl:if test="$subgroup='members'">
|
|
<p>
|
|
<xsl:apply-templates select="/document/reference/containers/summary"/>
|
|
</p>
|
|
</xsl:if>
|
|
<xsl:call-template name="memberIntroBoilerplate"/>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="codelangAttributes">
|
|
<xsl:call-template name="mshelpCodelangAttributes">
|
|
<xsl:with-param name="snippets" select="/document/comments/example/code" />
|
|
</xsl:call-template>
|
|
</xsl:template>
|
|
|
|
<!-- Footer stuff -->
|
|
|
|
<xsl:template name="foot">
|
|
<div id="footer">
|
|
|
|
<div class="footerLine">
|
|
<img width="100%" height="3px">
|
|
<includeAttribute name="src" item="iconPath">
|
|
<parameter>footer.gif</parameter>
|
|
</includeAttribute>
|
|
<includeAttribute name="title" item="footerImage" />
|
|
</img>
|
|
</div>
|
|
|
|
<include item="footer">
|
|
<parameter>
|
|
<xsl:value-of select="$key"/>
|
|
</parameter>
|
|
<parameter>
|
|
<xsl:call-template name="topicTitlePlain"/>
|
|
</parameter>
|
|
<parameter>
|
|
<xsl:value-of select="/document/metadata/item[@id='PBM_FileVersion']" />
|
|
</parameter>
|
|
<parameter>
|
|
<xsl:value-of select="/document/metadata/attribute[@name='TopicVersion']" />
|
|
</parameter>
|
|
</include>
|
|
</div>
|
|
</xsl:template>
|
|
|
|
<!-- Bibliography -->
|
|
<xsl:key name="citations" match="//cite" use="text()" />
|
|
|
|
<xsl:variable name="hasCitations" select="boolean(count(//cite) > 0)"/>
|
|
|
|
<xsl:template match="cite">
|
|
<xsl:variable name="currentCitation" select="text()"/>
|
|
<xsl:for-each select="//cite[generate-id(.)=generate-id(key('citations',text()))]"> <!-- Distinct citations only -->
|
|
<xsl:if test="$currentCitation=.">
|
|
<xsl:choose>
|
|
<xsl:when test="document($bibliographyData)/bibliography/reference[@name=$currentCitation]">
|
|
<sup class="citation"><a><xsl:attribute name="href">#cite<xsl:value-of select="position()"/></xsl:attribute>[<xsl:value-of select="position()"/>]</a></sup>
|
|
</xsl:when>
|
|
<xsl:otherwise>
|
|
<xsl:apply-templates/>
|
|
</xsl:otherwise>
|
|
</xsl:choose>
|
|
</xsl:if>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="bibliography">
|
|
<xsl:if test="$hasCitations">
|
|
<xsl:call-template name="section">
|
|
<xsl:with-param name="toggleSwitch" select="'cite'" />
|
|
<xsl:with-param name="title"><include item="bibliographyTitle"/></xsl:with-param>
|
|
<xsl:with-param name="content">
|
|
<xsl:call-template name="autogenBibliographyLinks"/>
|
|
</xsl:with-param>
|
|
</xsl:call-template>
|
|
</xsl:if>
|
|
</xsl:template>
|
|
|
|
<xsl:template name="autogenBibliographyLinks">
|
|
<xsl:for-each select="//cite[generate-id(.)=generate-id(key('citations',text()))]"> <!-- Distinct citations only -->
|
|
<xsl:variable name="citation" select="."/>
|
|
<xsl:variable name="entry" select="document($bibliographyData)/bibliography/reference[@name=$citation]"/>
|
|
|
|
<xsl:call-template name="bibliographyReference">
|
|
<xsl:with-param name="number" select="position()"/>
|
|
<xsl:with-param name="data" select="$entry"/>
|
|
</xsl:call-template>
|
|
</xsl:for-each>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|
|
|