diff options
Diffstat (limited to 'tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl')
-rw-r--r-- | tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl | 455 |
1 files changed, 277 insertions, 178 deletions
diff --git a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl b/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl index 55a5f59..8edafbc 100644 --- a/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl +++ b/tools/Sandcastle/Presentation/vs2005/transforms/utilities_reference.xsl @@ -18,7 +18,8 @@ <xsl:param name="languages">false</xsl:param> <xsl:param name="componentizeBy">namespace</xsl:param> - <xsl:include href="utilities_metadata.xsl" /> + <xsl:include href="metadataHelp30.xsl" /> + <xsl:include href="metadataHelp20.xsl"/> <xsl:include href="xamlSyntax.xsl"/> <xsl:template match="/"> @@ -26,7 +27,9 @@ <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/> <META NAME="save" CONTENT="history"/> + <xsl:call-template name="insertNoIndexNoFollow" /> <title><xsl:call-template name="topicTitlePlain"/></title> + <xsl:call-template name="insert30Metadata" /> <xsl:call-template name="insertStylesheets" /> <xsl:call-template name="insertScripts" /> <xsl:call-template name="insertFilename" /> @@ -81,6 +84,12 @@ <!-- document head --> + <xsl:template name="insertNoIndexNoFollow"> + <xsl:if test="/document/metadata/attribute[@name='NoSearch']"> + <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW" /> + </xsl:if> + </xsl:template> + <xsl:template name="insertStylesheets"> <link rel="stylesheet" type="text/css" href="../styles/presentation.css" /> <!-- make mshelp links work --> @@ -241,6 +250,7 @@ <includeAttribute name="src" item="iconPath"> <parameter>CFW.gif</parameter> </includeAttribute> + <includeAttribute name="alt" item="CompactFrameworkAltText" /> <includeAttribute name="title" item="CompactFrameworkAltText" /> </img> </xsl:if> @@ -250,6 +260,7 @@ <includeAttribute name="src" item="iconPath"> <parameter>xna.gif</parameter> </includeAttribute> + <includeAttribute name="alt" item="XNAFrameworkAltText" /> <includeAttribute name="title" item="XNAFrameworkAltText" /> </img> </xsl:if> @@ -263,11 +274,28 @@ <xsl:text> </xsl:text> <include item="obsoleteRed" /> </xsl:if> - <xsl:call-template name="getElementDescription" /> + <xsl:call-template name="getEnumMemberDescription" /> </td> </tr> </xsl:template> + <xsl:template name="getEnumMemberDescription"> + <xsl:choose> + <xsl:when test="normalize-space(ddue:summary[1]) != ''"> + <span sdata="memberAuthoredSummary"> + <xsl:apply-templates select="ddue:summary[1]/ddue:para/node()" /> + </span> + </xsl:when> + <xsl:otherwise> + <span sdata="memberAuthoredSummary"> + <xsl:apply-templates select="ddue:summary[2]/ddue:para/node()" /> + </span> + </xsl:otherwise> + </xsl:choose> + <!-- enum members may have additional authored content in the remarks node --> + <xsl:apply-templates select="ddue:remarks/ddue:content" /> + </xsl:template> + <xsl:template match="element" mode="derivedType"> <tr> <td> @@ -292,132 +320,21 @@ </tr> </xsl:template> - <xsl:template match="element" mode="overload"> - <xsl:variable name="supportedOnXna"> - <xsl:call-template name="IsMemberSupportedOnXna"/> - </xsl:variable> - <xsl:variable name="supportedOnCf"> - <xsl:call-template name="IsMemberSupportedOnCf"/> - </xsl:variable> - <xsl:variable name="staticMember"> - <xsl:call-template name="IsMemberStatic"/> - </xsl:variable> - <xsl:variable name="inheritedMember"> - <xsl:call-template name="IsMemberInherited"/> - </xsl:variable> - <xsl:variable name="protectedMember"> - <xsl:call-template name="IsMemberProtected"/> - </xsl:variable> - <xsl:variable name="privateMember"> - <xsl:call-template name="IsMemberPrivate"/> + <xsl:template name="extensionMethodDisplayLink"> + <xsl:variable name="showParameters"> + <xsl:choose> + <xsl:when test="@overload='true'">true</xsl:when> + <xsl:otherwise>false</xsl:otherwise> + </xsl:choose> </xsl:variable> - - <tr> - <xsl:if test="normalize-space($inheritedMember)!=''"> - <xsl:attribute name="name">inheritedMember</xsl:attribute> - </xsl:if> - <xsl:if test="normalize-space($protectedMember)!=''"> - <xsl:attribute name="protected">true</xsl:attribute> - </xsl:if> - <xsl:if test="normalize-space($supportedOnXna)=''"> - <xsl:attribute name="notSupportedOnXna">true</xsl:attribute> - </xsl:if> - <xsl:if test="normalize-space($supportedOnCf)=''"> - <xsl:attribute name="notSupportedOn">netcf</xsl:attribute> - </xsl:if> - - <xsl:attribute name="data"> - <xsl:value-of select="apidata/@subgroup" /> - <xsl:choose> - <xsl:when test="memberdata/@visibility='public'"> - <xsl:text>; public</xsl:text> - </xsl:when> - <xsl:when test="memberdata[@visibility='family' or @visibility='family or assembly' or @visibility='assembly']"> - <xsl:text>; protected</xsl:text> - </xsl:when> - <xsl:when test="memberdata/@visibility='private' and not(proceduredata[@virtual = 'true'])"> - <xsl:text>; private</xsl:text> - </xsl:when> - <!-- NOTE: EII members (private-virtual) fall through to this xsl:otherwise block --> - <xsl:otherwise> - <xsl:text>; public</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="memberdata/@static = 'true'"> - <xsl:text>; static</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>; instance</xsl:text> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="normalize-space($inheritedMember)=''"> - <xsl:text>; declared</xsl:text> - </xsl:when> - <xsl:otherwise> - <xsl:text>; inherited</xsl:text> - </xsl:otherwise> - </xsl:choose> - </xsl:attribute> - - <td> - <!-- item icons --> - <xsl:call-template name="memberIcons"> - <xsl:with-param name="memberVisibility"> - <xsl:choose> - <xsl:when test="memberdata/@visibility='family' or memberdata/@visibility='family or assembly' or memberdata/@visibility='assembly'">prot</xsl:when> - <xsl:when test="memberdata/@visibility='private'">priv</xsl:when> - <xsl:otherwise>pub</xsl:otherwise> - </xsl:choose> - </xsl:with-param> - <xsl:with-param name="staticMember" select="normalize-space($staticMember)" /> - <xsl:with-param name="supportedOnXna" select="normalize-space($supportedOnXna)"/> - <xsl:with-param name="supportedOnCf" select="normalize-space($supportedOnCf)"/> - </xsl:call-template> - </td> - <td> - <!-- item name --> - <xsl:choose> - <xsl:when test="@display-api"> - <referenceLink target="{@api}" display-target="{@display-api}" /> - </xsl:when> - <xsl:otherwise> - <referenceLink target="{@api}" /> - </xsl:otherwise> - </xsl:choose> - </td> - <td> - <!-- item description --> - <xsl:call-template name="getInternalOnlyDescription" /> - <xsl:if test="attributes/attribute/type[@api='T:System.ObsoleteAttribute']"> - <xsl:text> </xsl:text> - <include item="obsoleteRed" /> - </xsl:if> - <xsl:call-template name="getElementDescription" /> - <xsl:choose> - <xsl:when test="normalize-space($inheritedMember)!=''"> - <xsl:text> </xsl:text> - <include item="inheritedFrom"> - <parameter> - <xsl:apply-templates select="containers/type" mode="link" /> - </parameter> - </include> - </xsl:when> - <xsl:when test="overrides"> - <xsl:text> </xsl:text> - <include item="overridesMember"> - <parameter> - <xsl:apply-templates select="overrides/member" mode="link" /> - </parameter> - </include> - </xsl:when> - </xsl:choose> - - </td> - </tr> + <referenceLink target="{@api}" display-target="extension" show-parameters="{$showParameters}"> + <extensionMethod> + <xsl:copy-of select="@*"/> + <xsl:copy-of select="apidata|templates|parameters|containers"/> + </extensionMethod> + </referenceLink> </xsl:template> - + <xsl:template name="insertFilename"> <meta name="container"> <xsl:attribute name="content"> @@ -541,7 +458,15 @@ <!-- the subsubgroup, subgroup, or group determines the title --> <xsl:choose> <xsl:when test="string($api-subsubgroup)"> - <xsl:value-of select="$api-subsubgroup" /> + <xsl:choose> + <!-- topic title for op_explicit and op_implicit members --> + <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')"> + <xsl:value-of select="'typeConversion'"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$api-subsubgroup" /> + </xsl:otherwise> + </xsl:choose> </xsl:when> <xsl:when test="string($api-subgroup)"> <xsl:value-of select="$api-subgroup"/> @@ -554,12 +479,46 @@ <!-- overload topic titles --> <xsl:when test="$topic-subgroup='overload'"> <!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? --> - <xsl:value-of select="$api-subgroup"/> + <xsl:choose> + <!-- topic title for overload op_explicit and op_implicit members --> + <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name = 'Implicit')"> + <xsl:value-of select="'conversionOperator'"/> + </xsl:when> + <!-- topic title for overload operator members --> + <xsl:when test="$api-subsubgroup='operator'"> + <xsl:value-of select="$api-subsubgroup" /> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$api-subgroup"/> + </xsl:otherwise> + </xsl:choose> </xsl:when> <!-- list topic titles --> <xsl:when test="$topic-group='list'"> <!-- the topic subgroup (e.g. "methods") determines the title --> - <xsl:value-of select="$topic-subgroup" /> + <xsl:choose> + <xsl:when test="$topic-subgroup='Operators'"> + <xsl:variable name="operators" select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/> + <xsl:variable name="conversions" select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" /> + <xsl:choose> + <!-- operators + type conversions --> + <xsl:when test="count($operators) > 0 and count($conversions) > 0"> + <xsl:value-of select="'OperatorsAndTypeConversions'" /> + </xsl:when> + <!-- no operators + type conversions --> + <xsl:when test="not(count($operators) > 0) and count($conversions) > 0"> + <xsl:value-of select="'TypeConversions'" /> + </xsl:when> + <!-- operators + no type conversions --> + <xsl:otherwise> + <xsl:value-of select="$topic-subgroup" /> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$topic-subgroup" /> + </xsl:otherwise> + </xsl:choose> </xsl:when> <!-- overload root titles --> <xsl:when test="$topic-group='root'"> @@ -575,10 +534,19 @@ </parameter> <parameter> <!-- show parameters only for overloaded members --> - <xsl:if test="document/reference/memberdata/@overload" > - <xsl:for-each select="/document/reference"> - <xsl:call-template name="parameterTypesPlain" /> - </xsl:for-each> + <xsl:if test="document/reference/memberdata/@overload or ($api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))"> + <xsl:choose> + <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')"> + <xsl:for-each select="/document/reference"> + <xsl:call-template name="operatorTypesPlain" /> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="/document/reference"> + <xsl:call-template name="parameterTypesPlain" /> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> </xsl:if> </parameter> </include> @@ -607,7 +575,15 @@ <xsl:when test="$topic-group='api'"> <xsl:choose> <xsl:when test="string($api-subsubgroup)"> - <xsl:value-of select="$api-subsubgroup" /> + <xsl:choose> + <!-- topic tilte for op_explicit and op_implicit members --> + <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name = 'Explicit' or document/reference/apidata/@name = 'Implicit')"> + <xsl:value-of select="'typeConversion'"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$api-subsubgroup" /> + </xsl:otherwise> + </xsl:choose> </xsl:when> <xsl:when test="string($api-subgroup)"> <xsl:value-of select="$api-subgroup" /> @@ -620,12 +596,46 @@ <!-- overload topic titles --> <xsl:when test="$topic-subgroup='overload'"> <!-- the api subgroup (e.g. "property") determines the title; do we want to use the subsubgoup name when it is available? --> - <xsl:value-of select="$api-subgroup"/> + <xsl:choose> + <!-- topic title for overload op_explicit and op_implicit members --> + <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name= 'Explicit' or document/reference/apidata/@name= 'Implicit')"> + <xsl:value-of select="'conversionOperator'"/> + </xsl:when> + <!-- topic title for overload operator members --> + <xsl:when test="$api-subsubgroup='operator'"> + <xsl:value-of select="$api-subsubgroup" /> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$api-subgroup"/> + </xsl:otherwise> + </xsl:choose> </xsl:when> <!-- list topic titles --> <xsl:when test="$topic-group='list'"> <!-- the topic subgroup (e.g. "methods") determines the title --> - <xsl:value-of select="$topic-subgroup" /> + <xsl:choose> + <xsl:when test="$topic-subgroup='Operators'"> + <xsl:variable name="operators" select="document/reference/elements/element[not(apidata[@name='Explicit' or @name='Implicit'])]"/> + <xsl:variable name="conversions" select="document/reference/elements/element[apidata[@name='Explicit' or @name='Implicit']]" /> + <xsl:choose> + <!-- operators + type conversions --> + <xsl:when test="count($operators) > 0 and count($conversions) > 0"> + <xsl:value-of select="'OperatorsAndTypeConversions'" /> + </xsl:when> + <!-- no operators + type conversions --> + <xsl:when test="not(count($operators) > 0) and count($conversions) > 0"> + <xsl:value-of select="'TypeConversions'" /> + </xsl:when> + <!-- operators + no type conversions --> + <xsl:otherwise> + <xsl:value-of select="$topic-subgroup" /> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$topic-subgroup" /> + </xsl:otherwise> + </xsl:choose> </xsl:when> <!-- overload root titles --> <xsl:when test="$topic-group='root'"> @@ -641,10 +651,19 @@ </parameter> <parameter> <!-- show parameters only from overloaded members --> - <xsl:if test="document/reference/memberdata/@overload" > - <xsl:for-each select="/document/reference"> - <xsl:call-template name="parameterTypesDecorated" /> - </xsl:for-each> + <xsl:if test="document/reference/memberdata/@overload or ($api-subsubgroup= 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))"> + <xsl:choose> + <xsl:when test="$api-subsubgroup = 'operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')"> + <xsl:for-each select="/document/reference"> + <xsl:call-template name="operatorTypesDecorated" /> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="/document/reference"> + <xsl:call-template name="parameterTypesDecorated" /> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> </xsl:if> </parameter> </include> @@ -879,7 +898,7 @@ <xsl:call-template name="memberIntro" /> - <xsl:if test="element/apidata[@subgroup='constructor']"> + <xsl:if test="element[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"> <xsl:call-template name="memberlistSection"> <xsl:with-param name="headerGroup" select="'constructor'" /> <xsl:with-param name="members" select="element[apidata[@subgroup='constructor']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" /> @@ -887,7 +906,7 @@ </xsl:if> <!-- method table --> - <xsl:if test="element/apidata[@subgroup='method' and not(@subsubgroup)]"> + <xsl:if test="element[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"> <xsl:call-template name="memberlistSection"> <xsl:with-param name="headerGroup">method</xsl:with-param> <xsl:with-param name="members" select="element[apidata[@subgroup='method' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" /> @@ -895,7 +914,7 @@ </xsl:if> <!-- operator table --> - <xsl:if test="element/apidata[@subsubgroup='operator']"> + <xsl:if test="element[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"> <xsl:call-template name="memberlistSection"> <xsl:with-param name="headerGroup">operator</xsl:with-param> <xsl:with-param name="members" select="element[apidata[@subsubgroup='operator']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" /> @@ -911,7 +930,7 @@ </xsl:if> <!-- field table --> - <xsl:if test="element/apidata[@subgroup='field']"> + <xsl:if test="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"> <xsl:call-template name="memberlistSection"> <xsl:with-param name="headerGroup">field</xsl:with-param> <xsl:with-param name="members" select="element[apidata[@subgroup='field']][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" /> @@ -919,7 +938,7 @@ </xsl:if> <!-- property table --> - <xsl:if test="element/apidata[@subgroup='property' and not(@subsubgroup)]"> + <xsl:if test="element[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"> <xsl:call-template name="memberlistSection"> <xsl:with-param name="headerGroup">property</xsl:with-param> <xsl:with-param name="members" select="element[apidata[@subgroup='property' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" /> @@ -935,7 +954,7 @@ </xsl:if> <!-- event table --> - <xsl:if test="element/apidata[@subgroup='event' and not(@subsubgroup)]"> + <xsl:if test="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]"> <xsl:call-template name="memberlistSection"> <xsl:with-param name="headerGroup">event</xsl:with-param> <xsl:with-param name="members" select="element[apidata[@subgroup='event' and not(@subsubgroup)]][.//memberdata[@visibility='public' or @visibility='family' or @visibility='family or assembly' or @visibility='assembly'] or (.//memberdata[@visibility='private'] and not(.//proceduredata[@virtual = 'true']))]" /> @@ -964,7 +983,7 @@ <xsl:param name="members"/> <xsl:param name="headerGroup" /> <xsl:param name="showParameters" select="'false'" /> - + <xsl:variable name="header"> <xsl:value-of select="concat($headerGroup, 'Table')"/> </xsl:variable> @@ -993,7 +1012,8 @@ <!-- add a row for each member of the current subgroup-visibility --> <xsl:apply-templates select="$members" mode="memberlistRow"> <xsl:with-param name="showParameters" select="$showParameters" /> - <xsl:sort select="apidata/@name" /> + <xsl:sort select="topicdata/@eiiName | apidata/@name" /> + <xsl:sort select="count(templates/*)" /> </xsl:apply-templates> </table> </xsl:with-param> @@ -1153,6 +1173,21 @@ </xsl:choose> </xsl:template> + <xsl:template name="IsConversionOperator"> + <xsl:choose> + <xsl:when test="element"> + <xsl:for-each select="element"> + <xsl:call-template name="IsConversionOperator"/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:if test="apidata/@subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit') and not(memberdata/@overload)"> + <xsl:text>yes</xsl:text> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + <xsl:template match="element" mode="memberlistRow"> <xsl:param name="showParameters" select="'false'" /> <xsl:variable name="notsupportedOnNetfw"> @@ -1185,6 +1220,9 @@ <xsl:variable name="explicitMember"> <xsl:call-template name="IsMemberExplicit" /> </xsl:variable> + <xsl:variable name="conversionOperator"> + <xsl:call-template name="IsConversionOperator" /> + </xsl:variable> <!-- do not show non-static members of static types --> <xsl:if test=".//memberdata/@static='true' or not(/document/reference/typedata[@abstract='true' and @sealed='true'])"> <tr> @@ -1255,6 +1293,12 @@ </td> <td> <xsl:choose> + <xsl:when test="normalize-space($conversionOperator)!=''"> + <referenceLink target="{@api}" show-parameters="true" /> + </xsl:when> + <xsl:when test="@source='extension'"> + <xsl:call-template name="extensionMethodDisplayLink"/> + </xsl:when> <xsl:when test="@display-api"> <referenceLink target="{@api}" display-target="{@display-api}" show-parameters="{$showParameters}" /> </xsl:when> @@ -1269,7 +1313,7 @@ <xsl:text> </xsl:text> <include item="obsoleteRed" /> </xsl:if> - <xsl:if test="topicdata[@subgroup='overload']"> + <xsl:if test="topicdata[@subgroup='overload'] or @overload='true'"> <include item="Overloaded"/> <xsl:text> </xsl:text> </xsl:if> @@ -1442,6 +1486,7 @@ <xsl:value-of select="concat($typeVisibility,$typeSubgroup,'.gif')" /> </parameter> </includeAttribute> + <includeAttribute name="alt" item="{concat($typeVisibility,$typeSubgroup,'AltText')}" /> <includeAttribute name="title" item="{concat($typeVisibility,$typeSubgroup,'AltText')}" /> </img> @@ -1483,6 +1528,7 @@ <includeAttribute name="src" item="iconPath"> <parameter>pubinterface.gif</parameter> </includeAttribute> + <includeAttribute name="alt" item="ExplicitInterfaceAltText" /> <includeAttribute name="title" item="ExplicitInterfaceAltText" /> </img> </xsl:if> @@ -1495,9 +1541,11 @@ </includeAttribute> <xsl:choose> <xsl:when test="apidata/@subsubgroup"> + <includeAttribute name="alt" item="{concat($memberVisibility,apidata/@subsubgroup,'AltText')}" /> <includeAttribute name="title" item="{concat($memberVisibility,apidata/@subsubgroup,'AltText')}" /> </xsl:when> <xsl:otherwise> + <includeAttribute name="alt" item="{concat($memberVisibility,$memberSubgroup,'AltText')}" /> <includeAttribute name="title" item="{concat($memberVisibility,$memberSubgroup,'AltText')}" /> </xsl:otherwise> </xsl:choose> @@ -1508,6 +1556,7 @@ <includeAttribute name="src" item="iconPath"> <parameter>static.gif</parameter> </includeAttribute> + <includeAttribute name="alt" item="staticAltText" /> <includeAttribute name="title" item="staticAltText" /> </img> </xsl:if> @@ -1517,6 +1566,7 @@ <includeAttribute name="src" item="iconPath"> <parameter>CFW.gif</parameter> </includeAttribute> + <includeAttribute name="alt" item="CompactFrameworkAltText" /> <includeAttribute name="title" item="CompactFrameworkAltText" /> </img> </xsl:if> @@ -1526,6 +1576,7 @@ <includeAttribute name="src" item="iconPath"> <parameter>xna.gif</parameter> </includeAttribute> + <includeAttribute name="alt" item="XNAFrameworkAltText" /> <includeAttribute name="title" item="XNAFrameworkAltText" /> </img> </xsl:if> @@ -1542,7 +1593,9 @@ <xsl:call-template name="assembliesInfo"/> <!-- some apis display a XAML xmlns uri --> - <xsl:call-template name="xamlXmlnsInfo"/> + <xsl:if test="$omitXmlnsBoilerplate != 'true'"> + <xsl:call-template name="xamlXmlnsInfo"/> + </xsl:if> </xsl:template> <xsl:template name="assemblyNameAndModule"> @@ -1591,23 +1644,32 @@ <!-- Platform information --> - <xsl:template match="platforms"> + <xsl:template match="platforms[platform]"> <xsl:call-template name="section"> <xsl:with-param name="toggleSwitch" select="'platformsTitle'"/> <xsl:with-param name="title"> <include item="platformsTitle" /> </xsl:with-param> <xsl:with-param name="content"> - <p> - <xsl:for-each select="platform"> - <include item="{.}" /><xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if> - </xsl:for-each> - </p> - <xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version"> - <p> - <include item="SystemRequirementsLinkBoilerplate"/> - </p> - </xsl:if> + <xsl:choose> + <xsl:when test="/document/reference/versions/versions[@name='silverlight']//version"> + <p> + <include item="silverlightplatforms"/> + </p> + </xsl:when> + <xsl:otherwise> + <p> + <xsl:for-each select="platform"> + <include item="{.}" /><xsl:if test="position()!=last()"><xsl:text>, </xsl:text></xsl:if> + </xsl:for-each> + </p> + <xsl:if test="/document/reference/versions/versions[@name='netfw' or @name='netcfw']//version"> + <p> + <include item="SystemRequirementsLinkBoilerplate"/> + </p> + </xsl:if> + </xsl:otherwise> + </xsl:choose> </xsl:with-param> </xsl:call-template> </xsl:template> @@ -1615,15 +1677,17 @@ <!-- Version information --> <xsl:template match="versions"> - <xsl:call-template name="section"> - <xsl:with-param name="toggleSwitch" select="'versionsTitle'"/> - <xsl:with-param name="title"> - <include item="versionsTitle" /> - </xsl:with-param> - <xsl:with-param name="content"> - <xsl:call-template name="processVersions" /> - </xsl:with-param> - </xsl:call-template> + <xsl:if test="$omitVersionInformation != 'true'"> + <xsl:call-template name="section"> + <xsl:with-param name="toggleSwitch" select="'versionsTitle'"/> + <xsl:with-param name="title"> + <include item="versionsTitle" /> + </xsl:with-param> + <xsl:with-param name="content"> + <xsl:call-template name="processVersions" /> + </xsl:with-param> + </xsl:call-template> + </xsl:if> </xsl:template> <xsl:template name="processVersions"> @@ -1743,6 +1807,8 @@ <xsl:for-each select="descendents/type"> <xsl:sort select="@api" /> + + <xsl:if test="not(self::type/@api=preceding-sibling::*/self::type/@api)"> <xsl:call-template name="indent"> <xsl:with-param name="count" select="$ancestorCount + 2" /> </xsl:call-template> @@ -1752,6 +1818,7 @@ </xsl:apply-templates> <br/> + </xsl:if> </xsl:for-each> </xsl:otherwise> </xsl:choose> @@ -1808,6 +1875,7 @@ <span class="vb">.</span> <span class="cpp">::</span> <span class="nu">.</span> + <span class="fs">.</span> </span> <xsl:for-each select="/document/reference/implements/member"> <xsl:for-each select="type"> @@ -1818,6 +1886,7 @@ <span class="vb">.</span> <span class="cpp">::</span> <span class="nu">.</span> + <span class="fs">.</span> </span> <xsl:value-of select="apidata/@name" /> <xsl:apply-templates select="templates" mode="decorated" /> @@ -1828,14 +1897,37 @@ <xsl:for-each select="/document/reference/containers/type[1]"> <xsl:call-template name="typeNameDecorated" /> </xsl:for-each> - <span class="languageSpecificText"> - <span class="cs">.</span> - <span class="vb">.</span> - <span class="cpp">::</span> - <span class="nu">.</span> - </span> + <xsl:if test="not($api-subsubgroup='operator'and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit'))"> + <span class="languageSpecificText"> + <span class="cs">.</span> + <span class="vb">.</span> + <span class="cpp">::</span> + <span class="nu">.</span> + <span class="fs">.</span> + </span> + </xsl:if> <xsl:for-each select="/document/reference[1]"> - <xsl:value-of select="apidata/@name" /> + <xsl:choose> + <xsl:when test="$api-subsubgroup='operator' and (apidata/@name='Explicit' or apidata/@name='Implicit')"> + <xsl:text> </xsl:text> + <span class="languageSpecificText"> + <span class="cs"><xsl:value-of select="apidata/@name" /></span> + <span class="vb"> + <xsl:choose> + <xsl:when test="apidata/@name='Explicit'"><xsl:text>Narrowing</xsl:text></xsl:when> + <xsl:when test="apidata/@name='Implicit'"><xsl:text>Widening</xsl:text></xsl:when> + <xsl:otherwise><xsl:value-of select="apidata/@name" /></xsl:otherwise> + </xsl:choose> + </span> + <span class="cpp"><xsl:value-of select="apidata/@name" /></span> + <span class="nu"><xsl:value-of select="apidata/@name" /></span> + <span class="fs"><xsl:value-of select="apidata/@name" /></span> + </span> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="apidata/@name" /> + </xsl:otherwise> + </xsl:choose> <xsl:apply-templates select="templates" mode="decorated" /> </xsl:for-each> </xsl:when> @@ -1873,7 +1965,14 @@ <xsl:for-each select="/document/reference/containers/type[1]"> <xsl:call-template name="typeNamePlain" /> </xsl:for-each> - <xsl:text>.</xsl:text> + <xsl:choose> + <xsl:when test="$api-subsubgroup='operator' and (document/reference/apidata/@name='Explicit' or document/reference/apidata/@name='Implicit')"> + <xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>.</xsl:text> + </xsl:otherwise> + </xsl:choose> </xsl:if> <xsl:choose> <!-- EII names are interfaceName.interfaceMemberName, not memberName --> |