blob: 5f673bfd07999674bf2cb1d30267beac346a709f [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:saxon="http://sf.net/saxon" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ifn="urn:internal:functions"
exclude-result-prefixes="saxon xs ifn">
<xsl:import href="asdoc-util.xslt"/>
<xsl:import href="class-parts.xslt"/>
<xsl:character-map name="disable">
<xsl:output-character character="&amp;" string="&amp;"/>
<xsl:output-character character="&lt;" string="&lt;"/>
<xsl:output-character character="&gt;" string="&gt;"/>
<xsl:output-character character="&#145;" string="&amp;lsquo;"/>
<xsl:output-character character="&#146;" string="&amp;apos;"/>
<xsl:output-character character="&#151;" string="&amp;mdash;"/>
<xsl:output-character character="&#x2014;" string="&amp;mdash;"/>
<xsl:output-character character="&#x2009;" string="&amp;thinsp;"/>
<xsl:output-character character="&#xAE;" string="&amp;reg;"/>
<xsl:output-character character="&#xB0;" string="&amp;deg;"/>
<xsl:output-character character="&#x2122;" string="&amp;trade;"/>
</xsl:character-map>
<xsl:output method="html" encoding="UTF-8" indent="no" omit-xml-declaration="yes" use-character-maps="disable" saxon:character-representation="native;decimal"/>
<xsl:param name="outputPath" select="''"/>
<xsl:param name="ditaFileDir" select="''"/>
<xsl:param name="showExamples">true</xsl:param>
<xsl:param name="showIncludeExamples">true</xsl:param>
<xsl:param name="showSWFs">
<xsl:if test="$config/options/@showSWFs='false'">
<xsl:text>false</xsl:text>
</xsl:if>
<xsl:if test="not($config/options/@showSWFs='false')">
<xsl:text>true</xsl:text>
</xsl:if>
</xsl:param>
<xsl:param name="tabSpaces" select="' '"/>
<xsl:param name="classFileName" select="'ClassHeader.xml'"/>
<xsl:variable name="classHeader_map" select="document($classFileName)//apiPackage"/>
<xsl:variable name="field_map" select="document('fieldSummary.xml')/allClasses/apiPackage"/>
<xsl:variable name="method_map" select="document('methodSummary.xml')/allClasses/apiPackage"/>
<xsl:variable name="event_map" select="document('eventsGeneratedSummary.xml')/allClasses/apiPackage"/>
<xsl:variable name="style_map" select="document('stylesSummary.xml')/allClasses/apiPackage"/>
<xsl:variable name="effect_map" select="document('effectsSummary.xml')/allClasses/apiPackage"/>
<xsl:variable name="thinsp">
<xsl:text>&#x2009;</xsl:text>
</xsl:variable>
<xsl:variable name="tab">
<xsl:text> </xsl:text>
</xsl:variable>
<xsl:param name="prog_language_name" select="''"/>
<xsl:param name="jslr" select="'flashclasses.xml'"/>
<xsl:key name="class_id" match="//apiClassifier" use="@id"/>
<xsl:template match="/">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<!-- ActionScript -->
<xsl:otherwise>
<xsl:for-each select="apiMap//apiItemRef">
<xsl:sort select="@href" order="ascending" lang="en-US"/>
<xsl:variable name="ditaFileName">
<xsl:value-of select="concat($ditaFileDir,@href)"/>
</xsl:variable>
<xsl:for-each select="document($ditaFileName)/apiPackage//apiClassifier">
<xsl:sort select="apiName" order="ascending" lang="en-US"/>
<xsl:variable name="packageName" select="ancestor-or-self::apiPackage/apiName"/>
<xsl:variable name="name" select="apiName"/>
<xsl:variable name="ID" select="@id"/>
<xsl:variable name="classNode" select="."/>
<xsl:variable name="isTopLevel">
<xsl:call-template name="isTopLevel">
<xsl:with-param name="packageName" select="$packageName"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="isInnerClass" select="ancestor::apiClassifier"/>
<xsl:variable name="packagePath" select="translate($packageName, '.', '/')"/>
<xsl:variable name="classFile">
<xsl:value-of select="$outputPath"/>
<xsl:if test="$isTopLevel='false'">
<xsl:value-of select="$packagePath"/>
<xsl:text>/</xsl:text>
</xsl:if>
<xsl:value-of select="$name"/>
<xsl:text>.html</xsl:text>
</xsl:variable>
<xsl:variable name="title">
<xsl:value-of select="concat(concat($name,' - '),$title-base)"/>
</xsl:variable>
<xsl:variable name="classDeprecated">
<xsl:if test="deprecated">
<xsl:value-of select="'true'"/>
</xsl:if>
<xsl:if test="not(deprecated)">
<xsl:value-of select="'false'"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="baseRef">
<xsl:call-template name="getBaseRef">
<xsl:with-param name="packageName" select="$packageName"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="experimental" >
<xsl:if test="prolog/asMetadata/experimental">
<xsl:value-of select="'true'"/>
</xsl:if>
<xsl:if test="not(prolog/asMetadata/experimental)">
<xsl:value-of select="'false'"/>
</xsl:if>
</xsl:variable>
<xsl:result-document href="{$classFile}" method="html">
<!--xsl:message select="$classFile"/-->
<xsl:copy-of select="$docType"/>
<xsl:if test="$config/options[@ion='true']">
<xsl:comment>#config errmsg=""</xsl:comment>
</xsl:if>
<xsl:element name="html">
<head>
<xsl:call-template name="getStyleLink">
<xsl:with-param name="link" select="/asdoc/link"/>
<xsl:with-param name="packageName" select="$packageName"/>
</xsl:call-template>
<xsl:for-each select="$classHeader_map/apiClassifier[@id=$ID]">
<xsl:copy-of select="./meta"/>
</xsl:for-each>
<title>
<xsl:if test="$isTopLevel='false'">
<xsl:value-of select="$packageName"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$name"/>
<xsl:call-template name="getPageTitlePostFix"/>
</title>
<xsl:if test="$showIncludeExamples='true' and apiClassifierDetail/example/codeblock">
<script src="{$baseRef}AC_OETags.js" type="text/javascript"/>
</xsl:if>
</head>
<xsl:element name="body">
<xsl:if test="$isEclipse">
<xsl:attribute name="class">
<xsl:text>eclipseBody</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:call-template name="getTitleScript">
<xsl:with-param name="title" select="$title"/>
<xsl:with-param name="packageName" select="$packageName"/>
</xsl:call-template>
<xsl:for-each select="$classHeader_map/apiClassifier[@id=$ID]">
<xsl:call-template name="classHeader">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="classNode" select="$classNode"/>
<xsl:with-param name="experimental" select="$experimental"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="$field_map//apiClassifier[@id=$ID]">
<!-- list of interfaces that this interface extends-->
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<!-- PUBLIC PROPERTY SUMMARY-->
<xsl:call-template name="fieldSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
<xsl:with-param name="isConst" select="'false'"/>
</xsl:call-template>
<!-- PROTECTED PROPERTY SUMMARY-->
<xsl:call-template name="fieldSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="accessLevel" select="'protected'" as="xs:string"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
<xsl:with-param name="isConst" select="'false'"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="$method_map//apiClassifier[@id=$ID]">
<!-- list of interfaces that this interface extends-->
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<!-- METHOD SUMMARY-->
<xsl:call-template name="methodSummary">
<xsl:with-param name="className" select="$name"/>
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
<!-- PROTECTED METHOD SUMMARY-->
<xsl:call-template name="methodSummary">
<xsl:with-param name="className" select="$name"/>
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="accessLevel" select="'protected'"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="$event_map//apiClassifier[@id=$ID]">
<!-- list of interfaces that this interface extends-->
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<!-- EVENT SUMMARY-->
<xsl:call-template name="eventsGeneratedSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="$style_map//apiClassifier[@id=$ID]">
<!-- list of interfaces that this interface extends-->
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<!-- STYLE SUMMARY-->
<xsl:call-template name="stylesSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<!-- SKIN PART SUMMARY -->
<xsl:for-each select="$classHeader_map//apiClassifier[@id=$ID]">
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<xsl:call-template name="SkinPartSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<!-- SKIN STATE SUMMARY -->
<xsl:for-each select="$classHeader_map//apiClassifier[@id=$ID]">
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<xsl:call-template name="SkinStateSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="$effect_map//apiClassifier[@id=$ID]">
<!-- list of interfaces that this interface extends-->
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<!-- EFFECT SUMMARY-->
<xsl:call-template name="effectsSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<xsl:for-each select="$field_map//apiClassifier[@id=$ID]">
<!-- list of interfaces that this interface extends-->
<xsl:variable name="interfaces">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiInterface and ./apiClassifierDetail/apiClassifierDef/apiBaseInterface">
<xsl:call-template name="createBaseInterfaceList"/>
</xsl:if>
</xsl:variable>
<!-- PUBLIC CONSTANT SUMMARY-->
<xsl:call-template name="fieldSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="isConst" select="'true'" as="xs:string"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
<!-- PROTECTED CONSTANT SUMMARY-->
<xsl:call-template name="fieldSummary">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="isConst" select="'true'" as="xs:string"/>
<xsl:with-param name="accessLevel" select="'protected'" as="xs:string"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="interfaces" select="$interfaces" tunnel="yes"/>
</xsl:call-template>
</xsl:for-each>
<script language="javascript" type="text/javascript">
<xsl:comment>
<xsl:text>
</xsl:text>
<xsl:text>showHideInherited();</xsl:text>
<xsl:text>
</xsl:text>
</xsl:comment>
</script>
<div class="MainContent">
<!-- PROPERTY DETAIL -->
<xsl:for-each select="$field_map//apiClassifier[@id=$ID]">
<xsl:call-template name="propertyDetails">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:for-each>
<!-- CONSTRUCTOR DETAIL-->
<xsl:if test="not(./apiClassifierDetail/apiClassifierDef/apiInterface) and count(apiConstructor) &gt; 0">
<a name="constructorDetail"/>
<div class="detailSectionHeader">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ConstructorDetail']]/entry[2]/p"/>
</div>
<xsl:variable name="className" select="$name"/>
<xsl:apply-templates select="apiConstructor[./apiName = $className]" mode="detail">
<xsl:with-param name="isConstructor">true</xsl:with-param>
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="constructCall" select="'false'"/>
</xsl:apply-templates>
</xsl:if>
<!-- METHOD DETAIL -->
<xsl:for-each select="$method_map//apiClassifier[@id=$ID]">
<xsl:call-template name="methodsDetails">
<xsl:with-param name="className" select="$name"/>
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="constructCall" select="'false'"/>
</xsl:call-template>
</xsl:for-each>
<!-- EVENT DETAIL-->
<xsl:call-template name="eventDetails">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<!-- CONSTANT DETAIL -->
<xsl:call-template name="constantDetails">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
<xsl:with-param name="isConst" select="'true'"/>
</xsl:call-template>
<!-- INCLUDE EXAMPLES-->
<xsl:if test="./*/example/codeblock">
<xsl:variable name="createExampleInstructionLink">
<xsl:choose>
<xsl:when test="$config/exampleFile">true</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:call-template name="includeExamples">
<xsl:with-param name="createExampleLink" select="'true'"/>
<xsl:with-param name="createExampleInstructionLink" select="$createExampleInstructionLink"/>
</xsl:call-template>
</xsl:if>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<hr/>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<xsl:call-template name="getPageLinks">
<xsl:with-param name="copyNum" select="'2'"/>
</xsl:call-template>
<p/>
<xsl:if test="$config/options[@ion!='true']">
<xsl:call-template name="getFeedbackLink">
<xsl:with-param name="topic">
<xsl:if test="$isTopLevel='false'">
<xsl:value-of select="$packageName"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:value-of select="$name"/>
</xsl:with-param>
<xsl:with-param name="filename">
<xsl:if test="$isTopLevel='false'">
<xsl:value-of select="$packagePath"/>
<xsl:text>/</xsl:text>
</xsl:if>
<xsl:value-of select="$name"/>
<xsl:text>.html</xsl:text>
</xsl:with-param>
<xsl:with-param name="filename2">
<xsl:if test="$isTopLevel='true'">class-list.html</xsl:if>
<xsl:if test="$isTopLevel!='true'">
<xsl:value-of select="$packagePath"/>
<xsl:text>/class-list.html</xsl:text>
</xsl:if>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="$config/options[@ion='true']">
<script src="{$baseRef}currentpage.js" type="text/javascript" language="Javascript" charset="UTF-8"/>
</xsl:if>
<center class="copyright">
<xsl:copy-of select="$copyright"/>
</center>
<xsl:call-template name="addKeywords">
<xsl:with-param name="keyword" select="$name"/>
</xsl:call-template>
<xsl:if test="$isTopLevel='false'">
<xsl:call-template name="addKeywords">
<xsl:with-param name="keyword">
<xsl:value-of select="$packageName"/>
<xsl:text>.</xsl:text>
<xsl:value-of select="$name"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</div>
<xsl:if test="$config/options[@ion='true']">
<div class="separator">&#160;</div>
<xsl:comment>BEGIN IONCOMMENTS</xsl:comment>
<div id="ionComHere"> </div>
<xsl:comment>END IONCOMMENTS</xsl:comment>
<xsl:comment>#include virtual="ionComments.ssi"</xsl:comment>
<p id="creativecommons" class="creativecommons">
<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">
<img id="creativecommons_img" src="{$baseRef}images/CC.png"/>
</a>
</p>
<xsl:comment>#include virtual="/livedocs/googleAnalytics.ssi"</xsl:comment>
<xsl:comment>#include virtual="/ubi/analytics/analytics_ssi.html"</xsl:comment>
</xsl:if>
</xsl:element>
</xsl:element>
<xsl:copy-of select="$copyrightComment"/>
</xsl:result-document>
</xsl:for-each>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- INNER CLASSES -->
<xsl:template name="innerClassSummary">
<xsl:param name="hasInherited" select="false"/>
<xsl:param name="classDeprecated" select="false"/>
<xsl:if test="count(.//apiClassifier) &gt; 0 or boolean($hasInherited)">
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<a name="innerClassSummary"/>
<table cellspacing="0" cellpadding="3" width="100%" class="withBorder">
<tr>
<td colspan="2" bgcolor="#CCCCCC" class="SummaryTableHeader">
<font size="+1">
<b>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'InnerClassSummary']]/entry[2]/p"/>
</b>
</font>
</td>
</tr>
<xsl:for-each select="//apiClassifier">
<xsl:sort select="./apiName" order="ascending" lang="en-US"/>
<tr class="row{position() mod 2}">
<td width="50px" valign="top">
<code>
<font size="1" style="font-weight:bold">
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiFinal">
<xsl:text>final </xsl:text>
</xsl:if>
<xsl:if test="./apiClassifierDetail/apiClassifierDef/apiDynamic">
<xsl:text>dynamic </xsl:text>
</xsl:if>
</font>
</code>
</td>
<td valign="top">
<code>
<a href="{./apiName}.html">
<b>
<xsl:value-of select="./apiName"/>
</b>
</a>
</code>
<xsl:if test="deprecated">
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
</xsl:if>
<xsl:apply-templates select="deprecated"/>
<xsl:if test="not(deprecated)">
<xsl:call-template name="shortDescription">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
</xsl:call-template>
</xsl:if>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:if>
</xsl:template>
<!-- FIELDS -->
<xsl:template name="fieldSummary">
<xsl:param name="classDeprecated" select="'false'"/>
<xsl:param name="isConst" select="'false'"/>
<xsl:param name="accessLevel" select="'public'"/>
<xsl:param name="baseRef" select="''"/>
<xsl:param name="isGlobal" select="false()"/>
<xsl:param name="showAnchor" select="true()"/>
<xsl:param name="getProp"/>
<xsl:param name="interfaces" tunnel="yes"/>
<xsl:variable name="currentPackage" select="ancestor-or-self::apiPackage/apiName"/>
<xsl:variable name="ID" select="@id"/>
<xsl:variable name="hasFields">
<xsl:if test="$isConst='true'">
<xsl:value-of
select="count(apiValue/apiValueDetail/apiValueDef[not(apiProperty) and (apiAccess/@value=$accessLevel or apiAccess/@value=$config/namespaces/namespace[@summaryDisplay=$accessLevel]/.)]) &gt; 0"/>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:value-of
select="count(apiValue/apiValueDetail/apiValueDef[apiProperty and (apiAccess/@value=$accessLevel or apiAccess/@value=$config/namespaces/namespace[@summaryDisplay=$accessLevel]/.)]) &gt; 0"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="ancestorexcludes">
<excludes>
<xsl:for-each select="$classHeader_map//apiClassifier[@id = $ID]//Excludes/Exclude[@kind='property']">
<xsl:copy-of select="."/>
</xsl:for-each>
</excludes>
</xsl:variable>
<xsl:variable name="propertyList">
<xsl:if test="$isConst='true'">
<xsl:for-each
select="apiValue[not(./apiValueDetail/apiValueDef/apiProperty) and (./apiValueDetail/apiValueDef/apiAccess/@value=$accessLevel or ./apiValueDetail/apiValueDef/apiAccess/@value=$config/namespaces/namespace[@summaryDisplay=$accessLevel]/.)]">
<xsl:text> </xsl:text>
<xsl:value-of select="./apiName"/>
<xsl:text> </xsl:text>
</xsl:for-each>
<xsl:for-each select="$ancestorexcludes/excludes/Exclude">
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:for-each
select="apiValue[./apiValueDetail/apiValueDef/apiProperty and (./apiValueDetail/apiValueDef/apiAccess/@value=$accessLevel or ./apiValueDetail/apiValueDef/apiAccess/@value=$config/namespaces/namespace[@summaryDisplay=$accessLevel]/.)]">
<xsl:text> </xsl:text>
<xsl:value-of select="./apiName"/>
<xsl:text> </xsl:text>
</xsl:for-each>
<xsl:for-each select="$ancestorexcludes/excludes/Exclude">
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:if>
</xsl:variable>
<xsl:variable name="ancestorNode">
<ancestors>
<xsl:call-template name="getAncestorProperty">
<xsl:with-param name="baseClass" select="./apiClassifierDetail/apiClassifierDef/apiBaseClassifier"/>
<xsl:with-param name="accessLevel" select="$accessLevel"/>
<xsl:with-param name="isConst" select="$isConst"/>
<xsl:with-param name="propertyList" select="$propertyList"/>
</xsl:call-template>
<xsl:for-each select="$interfaces/interface">
<xsl:call-template name="getAncestorProperty">
<xsl:with-param name="baseClass" select="."/>
<xsl:with-param name="accessLevel" select="$accessLevel"/>
<xsl:with-param name="isConst" select="$isConst"/>
<xsl:with-param name="propertyList" select="$propertyList"/>
<xsl:with-param name="processParentClass" select="false()"/>
</xsl:call-template>
</xsl:for-each>
</ancestors>
</xsl:variable>
<xsl:variable name="hasInherited" select="count($ancestorNode/ancestors/apiValue) &gt; 0"/>
<xsl:if test="$hasFields='true' or $hasInherited">
<xsl:if test="$showAnchor">
<xsl:variable name="hasPublic">
<xsl:if test="$accessLevel='protected'">
<xsl:value-of
select="count(apiValue[not(apiValueDetail/apiValueDef/apiProperty)!=($isConst) and (apiValueDetail/apiValueDef/apiAccess/@value='public' or apiValueDetail/apiValueDef/apiAccess/@value=$config/namespaces/namespace[@summaryDisplay='public']/.)]) &gt; 0 or $hasInherited"
/>
</xsl:if>
<xsl:if test="not($accessLevel='protected')">
<xsl:value-of select="false()"/>
</xsl:if>
</xsl:variable>
<xsl:if test="$isConst='true'">
<xsl:if test="$accessLevel='public'">
<a name="constantSummary"/>
</xsl:if>
<xsl:if test="$accessLevel='protected'">
<xsl:if test="$hasPublic='false'">
<a name="constantSummary"/>
</xsl:if>
<a name="protectedConstantSummary"/>
</xsl:if>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:if test="$accessLevel='public'">
<a name="propertySummary"/>
</xsl:if>
<xsl:if test="$accessLevel='protected'">
<xsl:if test="$hasPublic='false'">
<a name="propertySummary"/>
</xsl:if>
<a name="protectedPropertySummary"/>
</xsl:if>
</xsl:if>
</xsl:if>
<div class="summarySection">
<div class="summaryTableTitle">
<xsl:choose>
<xsl:when test="$isGlobal and $isConst='true'">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'GlobalConstants']]/entry[2]/p"/>
</xsl:when>
<xsl:when test="$isGlobal and $isConst='false'">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'GlobalProperties']]/entry[2]/p"/>
</xsl:when>
<xsl:when test="$accessLevel='public' and $isConst='true'">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'PublicConstants']]/entry[2]/p"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="$accessLevel='public' and $isConst='false'">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'PublicProperties']]/entry[2]/p"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="$accessLevel='protected' and $isConst='true'">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ProtectedConstants']]/entry[2]/p"/>
</xsl:when>
<xsl:when test="$accessLevel='protected' and $isConst='false'">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ProtectedProperties']]/entry[2]/p"/>
</xsl:when>
</xsl:choose>
</div>
<xsl:if test="$hasInherited">
<div class="showHideLinks">
<xsl:if test="$isConst='true' and $accessLevel!='protected'">
<div id="hideInheritedConstant" class="hideInheritedConstant">
<a class="showHideLink" href="#constantSummary" onclick="javascript:setInheritedVisible(false,'Constant');">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<img class="showHideLinkImage" src="{$baseRef}images/expanded.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'HideInheritedPublicConstants']]/entry[2]/p"/>
</xsl:otherwise>
</xsl:choose>
</a>
</div>
<div id="showInheritedConstant" class="showInheritedConstant">
<a class="showHideLink" href="#constantSummary" onclick="javascript:setInheritedVisible(true,'Constant');">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<img class="showHideLinkImage" src="{$baseRef}images/collapsed.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ShowInheritedPublicConstants']]/entry[2]/p"/>
</xsl:otherwise>
</xsl:choose>
</a>
</div>
</xsl:if>
<xsl:if test="$isConst='true' and $accessLevel='protected'">
<div id="hideInheritedProtectedConstant" class="hideInheritedProtectedConstant">
<a class="showHideLink" href="#protectedConstantSummary" onclick="javascript:setInheritedVisible(false,'ProtectedConstant');">
<img class="showHideLinkImage" src="{$baseRef}images/expanded.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'HideInheritedProtectedConstants']]/entry[2]/p"/>
</a>
</div>
<div id="showInheritedProtectedConstant" class="showInheritedProtectedConstant">
<a class="showHideLink" href="#protectedConstantSummary" onclick="javascript:setInheritedVisible(true,'ProtectedConstant');">
<img class="showHideLinkImage" src="{$baseRef}images/collapsed.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ShowInheritedProtectedConstants']]/entry[2]/p"/>
</a>
</div>
</xsl:if>
<xsl:if test="$isConst='false' and $accessLevel!='protected'">
<div id="hideInheritedProperty" class="hideInheritedProperty">
<a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(false,'Property');">
<img class="showHideLinkImage" src="{$baseRef}images/expanded.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'HideInheritedPublicProperties']]/entry[2]/p"/>
</a>
</div>
<div id="showInheritedProperty" class="showInheritedProperty">
<a class="showHideLink" href="#propertySummary" onclick="javascript:setInheritedVisible(true,'Property');">
<img class="showHideLinkImage" src="{$baseRef}images/collapsed.gif"/>
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ShowInheritedPublicProperties']]/entry[2]/p"/>
</xsl:otherwise>
</xsl:choose>
</a>
</div>
</xsl:if>
<xsl:if test="$isConst='false' and $accessLevel='protected'">
<div id="hideInheritedProtectedProperty" class="hideInheritedProtectedProperty">
<a class="showHideLink" href="#protectedPropertySummary" onclick="javascript:setInheritedVisible(false,'ProtectedProperty');">
<img class="showHideLinkImage" src="{$baseRef}images/expanded.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'HideInheritedProtectedProperties']]/entry[2]/p"/>
</a>
</div>
<div id="showInheritedProtectedProperty" class="showInheritedProtectedProperty">
<a class="showHideLink" href="#protectedPropertySummary" onclick="javascript:setInheritedVisible(true,'ProtectedProperty');">
<img class="showHideLinkImage" src="{$baseRef}images/collapsed.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ShowInheritedProtectedProperties']]/entry[2]/p"/>
</a>
</div>
</xsl:if>
</div>
</xsl:if>
<xsl:variable name="tableStyle">
<xsl:if test="$hasInherited and $hasFields='false'">
<xsl:text>hideInherited</xsl:text>
<xsl:if test="$accessLevel='protected'">
<xsl:text>Protected</xsl:text>
</xsl:if>
<xsl:if test="$isConst='true'">
<xsl:text>Constant</xsl:text>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:text>Property</xsl:text>
</xsl:if>
</xsl:if>
</xsl:variable>
<xsl:variable name="tableId">
<xsl:text>summaryTable</xsl:text>
<xsl:if test="$accessLevel='protected'">
<xsl:text>Protected</xsl:text>
</xsl:if>
<xsl:if test="$isConst='true'">
<xsl:text>Constant</xsl:text>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:text>Property</xsl:text>
</xsl:if>
</xsl:variable>
<table cellspacing="0" cellpadding="3" class="summaryTable {$tableStyle}" id="{$tableId}">
<tr>
<th>
<xsl:value-of select="$nbsp"/>
</th>
<th colspan="2">
<xsl:if test="$isConst='false'">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'PropertyProperty']]/entry[2]/p"/>
</xsl:if>
<xsl:if test="$isConst='true'">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Constant']]/entry[2]/p"/>
</xsl:if>
</th>
<xsl:if test="not($config/options/@docversion='2')">
<th class="summaryTableOwnerCol">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'DefinedBy']]/entry[2]/p"/>
</th>
</xsl:if>
</tr>
<xsl:for-each
select="apiValue[(not(apiValueDetail/apiValueDef/apiProperty)=($isConst='true') or apiValueDetail/apiValueDef/apiProperty='false') and (apiValueDetail/apiValueDef/apiAccess/@value = $accessLevel or apiValueDetail/apiValueDef/apiAccess/@value=$config/namespaces/namespace[@summaryDisplay=$accessLevel]/.)] | $ancestorNode/ancestors/apiValue[( not(apiValueDetail/apiValueDef/apiProperty)=($isConst='true') or apiValueDetail/apiValueDef/apiProperty='false') and (apiValueDetail/apiValueDef/apiAccess/@value = $accessLevel or apiValueDetail/apiValueDef/apiAccess/@value=$config/namespaces/namespace[@summaryDisplay=$accessLevel]/.)]">
<xsl:sort select="translate(apiName,'_','')" order="ascending" data-type="text" lang="en-US"/>
<xsl:variable name="name" select="./apiName"/>
<xsl:variable name="rowStyle">
<xsl:if test="ancestor::ancestors">
<xsl:text>hideInherited</xsl:text>
<xsl:if test="$accessLevel='protected'">
<xsl:text>Protected</xsl:text>
</xsl:if>
<xsl:if test="$isConst='true'">
<xsl:text>Constant</xsl:text>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:text>Property</xsl:text>
</xsl:if>
</xsl:if>
</xsl:variable>
<tr class="{$rowStyle}">
<td class="summaryTablePaddingCol">
<xsl:value-of select="$nbsp"/>
</td>
<td class="summaryTableInheritanceCol">
<xsl:if test="ancestor::ancestors">
<img src="{$baseRef}images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"/>
</xsl:if>
<xsl:if test="not(ancestor::ancestors)">
<xsl:value-of select="$nbsp"/>
</xsl:if>
</td>
<td class="summaryTableSignatureCol">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<xsl:variable name="hLink">
<xsl:variable name="memberName" select="./apiName"/>
<xsl:variable name="id" select="./@id"/>
<xsl:variable name="classNameText" select="substring-after($id,':')"/>
<xsl:variable name="packageNameText" select="substring-before($id,':')"/>
<xsl:variable name="packageName">
<xsl:choose>
<xsl:when test="not(contains($packageNameText,'.')) and string-length($packageNameText) = 0">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$packageNameText"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="className">
<xsl:choose>
<xsl:when test="contains($packageName,'.')">
<xsl:if test="contains($classNameText,':')">
<xsl:value-of select="substring-before($classNameText,':')"/>
</xsl:if>
<xsl:if test="not(contains($classNameText,':'))">
<xsl:value-of select="$classNameText"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="contains($classNameText,':')">
<xsl:value-of select="substring-before($classNameText,':')"/>
</xsl:if>
<xsl:if test="not(contains($classNameText,':'))">
<xsl:value-of select="$classNameText"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="methodName">
<xsl:choose>
<xsl:when test="$memberName != ''">
<xsl:value-of select="$memberName"/>
</xsl:when>
<xsl:when test="contains($packageName,'.')">
<xsl:if test="contains($classNameText,':')">
<xsl:value-of select="substring-after($classNameText,':')"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring-after($id,':')"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="destination" select="concat($packageName,':',$className)"/>
<xsl:variable name="h1" select="substring-before($destination,':')"/>
<xsl:variable name="h2" select="substring-after($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h1,'.','/'),'/',$h2,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$h2,'.html')"/>
<xsl:variable name="completeHLink">
<xsl:if test="string-length($methodName) &gt; 0">
<xsl:choose>
<xsl:when test="contains($methodName,':')">
<xsl:value-of select="concat('#',substring-before($methodName,':'))"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('#',$methodName)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<xsl:if test="contains($destination,'.') or string-length($packageNameText) &gt; 0">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$file"/>
<xsl:value-of select="$completeHLink"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="not(contains($destination,'.')) and string-length($packageNameText) = 0">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$gfile"/>
<xsl:value-of select="$completeHLink"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:if test="prolog/asMetadata/apiVersion/apiPlatform[@name='AIR'] and not (prolog/asMetadata/apiVersion/apiPlatform[@name='Flash'])">
<xsl:call-template name="insertAIRIcon">
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<xsl:value-of select="$nbsp"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="$hLink!=''">
<a href="{$hLink}" class="signatureLink">
<xsl:value-of select="./apiName"/>
</a>
</xsl:if>
<xsl:if test="$hLink=''">
<xsl:value-of select="./apiName"/>
</xsl:if>
</xsl:when>
<xsl:when test="ancestor::apiClassifier or ancestor-or-self::apiPackage">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:if test="prolog/asMetadata/apiVersion/apiPlatform[@name='AIR'] and not (prolog/asMetadata/apiVersion/apiPlatform[@name='Flash'])">
<xsl:call-template name="insertAIRIcon">
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<xsl:value-of select="$nbsp"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<a href="#{$name}" class="signatureLink">
<xsl:value-of select="$name"/>
</a>
</xsl:when>
</xsl:choose>
<xsl:if test="./apiValueDetail/apiValueDef/apiValueClassifier | ./apiValueDetail/apiValueDef/apiType ">
<xsl:text> : </xsl:text>
<xsl:choose>
<xsl:when test="./apiValueDetail/apiValueDef/apiValueClassifier">
<xsl:variable name="destination" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$destination,'.html')"/>
<xsl:variable name="hyperLink">
<xsl:if test="contains($destination,':')">
<xsl:if test="$prog_language_name!='javascript'">
<xsl:value-of select="$file"/>
</xsl:if>
</xsl:if>
<xsl:if test="not(contains($destination,':'))">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$gfile"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<xsl:if test="$hyperLink = ''">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$hyperLink != ''">
<a href="{$hyperLink}">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</a>
</xsl:if>
</xsl:when>
<xsl:when test="./apiValueDetail/apiValueDef/apiValueClassifier='' or apiValueDetail/apiValueDef/apiValueClassifier='*'">
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'*'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="./apiValueDetail/apiValueDef/apiType/@value='' or apiValueDetail/apiValueDef/apiType/@value='*' or apiValueDetail/apiValueDef/apiType/@value='any'">
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'*'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="./apiValueDetail/apiValueDef/apiType">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="./apiValueDetail/apiValueDef/apiType/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="(string-length(./apiValueDetail/apiValueDef/apiData) or ./apiValueDetail/apiValueDef/apiValueClassifier='String') and ./apiValueDetail/apiValueDef/apiData!='unknown'">
<xsl:text> = </xsl:text>
<xsl:if test="./apiValueDetail/apiValueDef/apiValueClassifier='String'">
<xsl:text>"</xsl:text>
</xsl:if>
<xsl:value-of select="./apiValueDetail/apiValueDef/apiData"/>
<xsl:if test="apiValueDetail/apiValueDef/apiValueClassifier='String'">
<xsl:text>"</xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="./apiValueDetail/apiValueDef/apiValueClassifier='Number' and ./apiValueDetail/apiValueDef/apiData='unknown'">
<xsl:text> = NaN</xsl:text>
</xsl:if>
<xsl:if test="./apiValueDetail/apiValueDef/apiValueClassifier='String' and ./apiValueDetail/apiValueDef/apiData='unknown'">
<xsl:text> = "</xsl:text>
<xsl:value-of select="./apiValueDetail/apiValueDef/apiData"/>
<xsl:text>"</xsl:text>
</xsl:if>
<div class="summaryTableDescription">
<xsl:apply-templates select="apiValueDetail/apiValueDef/apiDeprecated"/>
<xsl:apply-templates select="deprecated"/>
<xsl:if test="./apiValueDetail/apiValueDef/apiIsOverride">
<xsl:text>[</xsl:text>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Override']]/entry[2]/p"/>
<xsl:text>] </xsl:text>
</xsl:if>
<xsl:if test="not(deprecated)">
<xsl:if test="./apiValueDetail/apiValueDef/apiStatic">
<xsl:text>[</xsl:text>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'static']]/entry[2]/p"/>
<xsl:text>] </xsl:text>
</xsl:if>
<xsl:if test="./apiValueDetail/apiValueDef/apiValueAccess/@value and not(./apiValueDetail/apiValueDef/apiValueAccess/@value='readwrite')">
<xsl:text>[</xsl:text>
<xsl:variable name="value" select="./apiValueDetail/apiValueDef/apiValueAccess/@value"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = $value]]/entry[2]/p"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'only']]/entry[2]/p"/>
<xsl:text>] </xsl:text>
</xsl:if>
<xsl:if test="./shortdesc or $classDeprecated='true'">
<xsl:call-template name="shortDescriptionReview"/>
<xsl:if test="$classDeprecated='true'">
<xsl:copy-of select="$deprecatedLabel"/>
<xsl:text>. </xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="not(string-length(./shortdesc/@conref) &gt; 0)">
<xsl:for-each select="./shortdesc">
<xsl:call-template name="processTags"/>
</xsl:for-each>
</xsl:if>
</xsl:if>
</div>
</td>
<xsl:if test="not($config/options/@docversion='2')">
<td class="summaryTableOwnerCol">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<xsl:variable name="classLink">
<xsl:variable name="id" select="./@id"/>
<xsl:variable name="classNameText" select="substring-after($id,':')"/>
<xsl:variable name="packageNameText" select="substring-before($id,':')"/>
<xsl:variable name="packageName">
<xsl:choose>
<xsl:when test="not(contains($packageNameText,'.')) and string-length($packageNameText) = 0">
<xsl:value-of select="''"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$packageNameText"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="className">
<xsl:choose>
<xsl:when test="contains($packageName,'.')">
<xsl:if test="contains($classNameText,':')">
<xsl:value-of select="substring-before($classNameText,':')"/>
</xsl:if>
<xsl:if test="not(contains($classNameText,':'))">
<xsl:value-of select="$classNameText"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="contains($classNameText,':')">
<xsl:value-of select="substring-before($classNameText,':')"/>
</xsl:if>
<xsl:if test="not(contains($classNameText,':'))">
<xsl:value-of select="$classNameText"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="destination" select="concat($packageName,':',$className)"/>
<xsl:variable name="h1" select="substring-before($destination,':')"/>
<xsl:variable name="h2" select="substring-after($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h1,'.','/'),'/',$h2,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$h2,'.html')"/>
<xsl:if test="contains($id,'.') or string-length($packageNameText) &gt; 0">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$file"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="not(contains($id,'.')) and string-length($packageNameText) = 0">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$gfile"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<xsl:variable name="className">
<xsl:call-template name="getClassNameFromId">
<xsl:with-param name="id" select="./@id"/>
</xsl:call-template>
</xsl:variable>
<xsl:choose>
<xsl:when test="$classLink!=''">
<a href="{$classLink}">
<xsl:value-of select="$className"/>
</a>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$className"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="ancestor::apiClassifier">
<xsl:value-of select="ancestor::apiClassifier/apiName"/>
</xsl:when>
<xsl:when test="ancestor-or-self::apiPackage">
<xsl:if test="ancestor-or-self::apiPackage/apiName='__Global__'">
<xsl:value-of select="concat('Top',$nbsp,'Level')"/>
</xsl:if>
<xsl:if test="ancestor-or-self::apiPackage/apiName!='__Global__'">
<xsl:value-of select="ancestor-or-self::apiPackage/apiName"/>
</xsl:if>
</xsl:when>
</xsl:choose>
</td>
</xsl:if>
</tr>
</xsl:for-each>
</table>
<!-- AS2 INHERITED PROPERTIES -->
<xsl:if test="$config/options/@docversion='2'">
<xsl:for-each select="asAncestors/asAncestor">
<xsl:call-template name="inherited">
<xsl:with-param name="lowerType">properties</xsl:with-param>
<xsl:with-param name="upperType">Properties</xsl:with-param>
<xsl:with-param name="inheritedItems" select="@properties"/>
<xsl:with-param name="staticItems" select="@staticProperties"/>
</xsl:call-template>
</xsl:for-each>
</xsl:if>
</div>
</xsl:if>
</xsl:template>
<xsl:template match="apiValue" mode="detail">
<xsl:param name="classDeprecated" select="'false'"/>
<xsl:param name="isConst" select="'false'"/>
<xsl:param name="baseRef"/>
<xsl:variable name="cntPropOrConst">
<xsl:if test="$isConst='true'">
<xsl:value-of select="count(../apiValue/apiValueDetail/apiValueDef[not(apiProperty)])"/>
</xsl:if>
<xsl:if test="$isConst='false'">
<xsl:value-of select="count(apiValueDetail/apiValueDef/apiProperty)"/>
</xsl:if>
</xsl:variable>
<xsl:if test="$cntPropOrConst &gt; 0">
<xsl:if test="$isConst='true'">
<a name="constantDetail"/>
</xsl:if>
<xsl:if test="not($isConst='true')">
<a name="propertyDetail"/>
</xsl:if>
<xsl:if test="$cntPropOrConst &gt; 0">
<xsl:for-each select="./apiName">
<xsl:sort select="translate(./apiName,'_','')" order="ascending" lang="en-US"/>
</xsl:for-each>
<xsl:variable name="name" select="./apiName"/>
<a name="{$name}"/>
<table class="detailHeader" cellpadding="0" cellspacing="0">
<tr>
<td class="detailHeaderName">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:if test="prolog/asMetadata/apiVersion/apiPlatform[@name='AIR'] and not (prolog/asMetadata/apiVersion/apiPlatform[@name='Flash'])">
<xsl:call-template name="insertAIRIcon">
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<xsl:value-of select="$nbsp"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="$name"/>
</td>
<td class="detailHeaderType">
<xsl:if test="not(apiValueDetail/apiValueDef/apiProperty)">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Constant']]/entry[2]/p"/>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiProperty">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Property']]/entry[2]/p"/>
</xsl:if>
</td>
<xsl:if test="position()!=1">
<td class="detailHeaderRule">
<xsl:value-of select="$nbsp"/>
</td>
</xsl:if>
</tr>
</table>
<div class="detailBody">
<code>
<xsl:if test="string-length(apiValueDetail/apiValueDef/apiValueAccess/@value)">
<xsl:value-of select="$name"/>
</xsl:if>
<xsl:if test="not(string-length(apiValueDetail/apiValueDef/apiValueAccess/@value))">
<xsl:call-template name="getNamespaceLink">
<xsl:with-param name="accessLevel" select="apiValueDetail/apiValueDef/apiAccess/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:if test="apiValueDetail/apiValueDef/apiStatic">
<xsl:text>static </xsl:text>
</xsl:if>
<xsl:if test="$prog_language_name='ActionScript'">
<xsl:choose>
<xsl:when test="not(apiValueDetail/apiValueDef/apiProperty) and $config/options/@docversion='3'">
<xsl:text>const </xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>var </xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:value-of select="$name"/>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiValueClassifier | apiValueDetail/apiValueDef/apiType">
<xsl:text>:</xsl:text>
<xsl:choose>
<xsl:when test="apiValueDetail/apiValueDef/apiValueClassifier">
<xsl:variable name="destination" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$destination,'.html')"/>
<xsl:variable name="hyperLink">
<xsl:if test="contains($destination,':')">
<xsl:if test="$prog_language_name!='javascript'">
<xsl:value-of select="$file"/>
</xsl:if>
</xsl:if>
<xsl:if test="not(contains($destination,':'))">
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:value-of select="$gfile"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:variable>
<xsl:if test="$hyperLink = ''">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$hyperLink != ''">
<a href="{$hyperLink}">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</a>
</xsl:if>
</xsl:when>
<xsl:when
test="apiValueDetail/apiValueDef/apiValueClassifier='' or apiValueDetail/apiValueDef/apiValueClassifier='*' or apiValueDetail/apiValueDef/apiType/@value='' or apiValueDetail/apiValueDef/apiType/@value='*' or apiValueDetail/apiValueDef/apiType/@value='any'">
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'*'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="apiValueDetail/apiValueDef/apiType">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiType/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="(string-length(apiValueDetail/apiValueDef/apiData) or apiValueDetail/apiValueDef/apiValueClassifier='String') and apiValueDetail/apiValueDef/apiData!='unknown'">
<xsl:text> = </xsl:text>
<xsl:if test="apiValueDetail/apiValueDef/apiValueClassifier='String'">
<xsl:text>"</xsl:text>
</xsl:if>
<xsl:value-of select="apiValueDetail/apiValueDef/apiData"/>
<xsl:if test="apiValueDetail/apiValueDef/apiValueClassifier='String'">
<xsl:text>"</xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiValueClassifier='Number' and apiValueDetail/apiValueDef/apiData='unknown'">
<xsl:text> = NaN</xsl:text>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiValueClassifier='String' and apiValueDetail/apiValueDef/apiData='unknown'">
<xsl:text> = "</xsl:text>
<xsl:value-of select="apiValueDetail/apiValueDef/apiData"/>
<xsl:text>"</xsl:text>
</xsl:if>
</code>
<xsl:if test="string-length(apiValueDetail/apiValueDef/apiValueAccess/@value)">
<xsl:if test="not(apiValueDetail/apiValueDef/apiValueAccess/@value='readwrite')">
<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;&nbsp;]]>[</xsl:text>
<xsl:variable name="value" select="apiValueDetail/apiValueDef/apiValueAccess/@value"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = $value]]/entry[2]/p"/>
<xsl:text>-</xsl:text>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'only']]/entry[2]/p"/>
<xsl:text>] </xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiIsOverride">
<xsl:text>[</xsl:text>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Override']]/entry[2]/p"/>
<xsl:text>] </xsl:text>
</xsl:if>
<xsl:apply-templates select="apiValueDetail/apiValueDef/apiDeprecated"/>
<xsl:apply-templates select="deprecated"/>
<xsl:if test="$classDeprecated='true'">
<xsl:call-template name="description">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="addParagraphTags" select="true()"/>
</xsl:call-template>
</xsl:if>
<xsl:call-template name="version"/>
<xsl:if test="$classDeprecated!='true'">
<xsl:call-template name="description">
<xsl:with-param name="classDeprecated" select="$classDeprecated"/>
<xsl:with-param name="addParagraphTags" select="true()"/>
</xsl:call-template>
<xsl:for-each select="apiDesc">
<xsl:call-template name="processTags"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiDefaultValue">
<p>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'DefaultValueIs']]/entry[2]/p"/>
<xsl:text> </xsl:text>
<code>
<xsl:value-of select="normalize-space(apiValueDetail/apiValueDef/apiDefaultValue/.)"/>
</code>
<xsl:text>.</xsl:text>
</p>
</xsl:if>
<xsl:if test="apiValueDetail/apiValueDef/apiProperty/@isBindable='true'">
<p>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'DataBinding']]/entry[2]/p"/>
</p>
</xsl:if>
<xsl:choose>
<xsl:when test="$prog_language_name='javascript'"/>
<xsl:otherwise>
<xsl:if test="string-length(apiValueDetail/apiValueDef/apiValueAccess/@value)">
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<span class="label">
<xsl:call-template name="getLocalizedString">
<xsl:with-param name="key">Implementation</xsl:with-param>
</xsl:call-template>
</span>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<xsl:if test="contains(apiValueDetail/apiValueDef/apiValueAccess/@value,'read')">
<code>
<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;]]></xsl:text>
<xsl:call-template name="getNamespaceLink">
<xsl:with-param name="accessLevel" select="apiValueDetail/apiValueDef/apiAccess/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:if test="apiValueDetail/apiValueDef/apiStatic">
<xsl:text>static </xsl:text>
</xsl:if>
<xsl:text>function get </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>():</xsl:text>
<xsl:choose>
<xsl:when test="./apiValueDetail/apiValueDef/apiValueClassifier">
<xsl:variable name="destination" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$destination,'.html')"/>
<xsl:variable name="hyperLink">
<xsl:if test="contains($destination,'.')">
<xsl:value-of select="$file"/>
</xsl:if>
<xsl:if test="not(contains($destination,'.'))">
<xsl:value-of select="$gfile"/>
</xsl:if>
</xsl:variable>
<xsl:if test="$hyperLink = ''">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$hyperLink != ''">
<a href="{$hyperLink}">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</a>
</xsl:if>
</xsl:when>
<xsl:when
test="apiValueDetail/apiValueDef/apiValueClassifier='' or apiValueDetail/apiValueDef/apiValueClassifier='*' or apiValueDetail/apiValueDef/apiType/@value='any' or apiValueDetail/apiValueDef/apiType/@value='' or apiValueDetail/apiValueDef/apiType/@value='*'">
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'*'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="apiValueDetail/apiValueDef/apiType">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiType/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</code>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
</xsl:if>
<xsl:if test="contains(apiValueDetail/apiValueDef/apiValueAccess/@value,'write')">
<code>
<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;]]></xsl:text>
<xsl:call-template name="getNamespaceLink">
<xsl:with-param name="accessLevel" select="apiValueDetail/apiValueDef/apiAccess/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
<xsl:text> </xsl:text>
<xsl:if test="apiValueDetail/apiValueDef/apiStatic">
<xsl:text>static </xsl:text>
</xsl:if>
<xsl:text>function set </xsl:text>
<xsl:value-of select="$name"/>
<xsl:text>(value:</xsl:text>
<xsl:choose>
<xsl:when test="./apiValueDetail/apiValueDef/apiValueClassifier">
<xsl:variable name="destination" select="./apiValueDetail/apiValueDef/apiValueClassifier"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$destination,'.html')"/>
<xsl:variable name="hyperLink">
<xsl:if test="contains($destination,'.')">
<xsl:value-of select="$file"/>
</xsl:if>
<xsl:if test="not(contains($destination,'.'))">
<xsl:value-of select="$gfile"/>
</xsl:if>
</xsl:variable>
<xsl:if test="$hyperLink = ''">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="$hyperLink != ''">
<a href="{$hyperLink}">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</a>
</xsl:if>
</xsl:when>
<xsl:when test="apiValueDetail/apiValueDef/apiValueClassifier='' or apiValueDetail/apiValueDef/apiValueClassifier='*'">
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'*'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="apiValueDetail/apiValueDef/apiType">
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiType/@value"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="getSimpleClassName">
<xsl:with-param name="fullClassName" select="apiValueDetail/apiValueDef/apiValueClassifier"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
<xsl:text>):</xsl:text>
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'void'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</code>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
</xsl:if>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="apiValueDetail/apiValueDef/apiException">
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<span class="label">
<xsl:call-template name="getLocalizedString">
<xsl:with-param name="key">Throws</xsl:with-param>
</xsl:call-template>
</span>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<table cellpadding="0" cellspacing="0" border="0">
<xsl:apply-templates select="apiValueDetail/apiValueDef/apiException"/>
</table>
</xsl:if>
<xsl:call-template name="sees"/>
<xsl:if test="./*/example[codeblock] | includeExamples/includeExample[codepart]">
<xsl:call-template name="includeExamples">
<xsl:with-param name="createExampleLink" select="'false'"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="./*/example[not(codeblock)] | includeExamples/includeExample[not(codepart)] ">
<xsl:for-each select="./*/example | includeExamples/includeExample[not(codepart)]">
<xsl:if test="count(descendant::*) &gt; 0">
<xsl:if test="position() = 1">
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<span class="label">
<xsl:call-template name="getLocalizedString">
<xsl:with-param name="key">Example</xsl:with-param>
</xsl:call-template>
</span>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
</xsl:if>
<xsl:call-template name="processTags"/>
</xsl:if>
</xsl:for-each>
</xsl:if>
</div>
</xsl:if>
</xsl:if>
</xsl:template>
<!-- STYLES -->
<xsl:template name="stylesSummary">
<xsl:param name="classDeprecated" select="'false'"/>
<xsl:param name="baseRef" select="''"/>
<xsl:param name="currentPackage" select="ancestor-or-self::apiPackage/apiName"/>
<xsl:param name="interfaces" tunnel="yes"/>
<xsl:variable name="ancestorexcludes">
<excludes>
<xsl:variable name="self" select="@id"/>
<xsl:for-each select="$classHeader_map//apiClassifier[@id = $self]//Excludes/Exclude[@kind='style']">
<xsl:copy-of select="."/>
</xsl:for-each>
</excludes>
</xsl:variable>
<!--List of styles to suppress when creating inheritance list. Includes both the existing styles and any exclusions-->
<xsl:variable name="stylesList">
<xsl:for-each select="prolog/asMetadata/styles/style">
<xsl:value-of select="concat(' ',@name,' ')"/>
</xsl:for-each>
<xsl:for-each select="$ancestorexcludes/excludes/Exclude">
<xsl:text> </xsl:text>
<xsl:value-of select="@name"/>
<xsl:text> </xsl:text>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="hasStyles" select="count(prolog/asMetadata[styles/style]) &gt; 0"/>
<xsl:variable name="ancestorNodes">
<ancestors>
<xsl:call-template name="getInheritedStyle">
<xsl:with-param name="baseClass" select="./apiClassifierDetail/apiClassifierDef/apiBaseClassifier"/>
<xsl:with-param name="currentPackage" select="$currentPackage"/>
<xsl:with-param name="stylesList" select="$stylesList"/>
</xsl:call-template>
</ancestors>
<xsl:for-each select="$interfaces/interface">
<xsl:call-template name="getInheritedStyle">
<xsl:with-param name="baseClass" select="."/>
<xsl:with-param name="currentPackage" select="$currentPackage"/>
<xsl:with-param name="stylesList" select="$stylesList"/>
<xsl:with-param name="processParentClass" select="false()"/>
</xsl:call-template>
</xsl:for-each>
</xsl:variable>
<xsl:variable name="hasInherited" select="count($ancestorNodes/ancestors/style) &gt; 0"/>
<xsl:if test="$hasStyles or $hasInherited">
<a name="styleSummary"/>
<div class="summarySection">
<div class="summaryTableTitle">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Styles']]/entry[2]/p"/>
</div>
<xsl:if test="$hasInherited">
<div class="showHideLinks">
<div id="hideInheritedStyle" class="hideInheritedStyle">
<a class="showHideLink" href="#styleSummary" onclick="javascript:setInheritedVisible(false,'Style');">
<img class="showHideLinkImage" src="{$baseRef}images/expanded.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'HideInheritedStyles']]/entry[2]/p"/>
</a>
</div>
<div id="showInheritedStyle" class="showInheritedStyle">
<a class="showHideLink" href="#styleSummary" onclick="javascript:setInheritedVisible(true,'Style');">
<img class="showHideLinkImage" src="{$baseRef}images/collapsed.gif"/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'ShowInheritedStyles']]/entry[2]/p"/>
</a>
</div>
</div>
</xsl:if>
<xsl:variable name="tableStyle">
<xsl:if test="$hasInherited and not($hasStyles)">
<xsl:text>hideInheritedStyle</xsl:text>
</xsl:if>
</xsl:variable>
<table cellspacing="0" cellpadding="3" class="summaryTable {$tableStyle}" id="summaryTableStyle">
<tr>
<th>
<xsl:value-of select="$nbsp"/>
</th>
<th colspan="2">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Style']]/entry[2]/p"/>
</th>
<th>
<xsl:call-template name="getLocalizedString">
<xsl:with-param name="key">Description</xsl:with-param>
</xsl:call-template>
</th>
<th class="summaryTableOwnerCol">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'DefinedBy']]/entry[2]/p"/>
</th>
</tr>
<xsl:for-each select="./prolog/asMetadata/styles/style | $ancestorNodes/ancestors/style">
<xsl:sort select="@name" order="ascending" data-type="text" lang="en-US"/>
<xsl:variable name="sequence" select="ancestor::apiClassifierDetail/apiClassifierDef"/>
<xsl:variable name="apihtml" select="concat(ancestor::apiClassifier/apiName,'.html')"/>
<xsl:variable name="destination" select="./@owner"/>
<xsl:variable name="rowStyle">
<xsl:if test="ancestor::ancestors">
<xsl:text>hideInheritedStyle</xsl:text>
</xsl:if>
</xsl:variable>
<tr class="{$rowStyle}">
<td class="summaryTablePaddingCol">
<xsl:if test="not(ancestor::ancestors)">
<a name="style:{@name}"/>
</xsl:if>
<xsl:value-of select="$nbsp"/>
</td>
<td class="summaryTableInheritanceCol">
<xsl:if test="ancestor::ancestors">
<img src="{$baseRef}images/inheritedSummary.gif" alt="Inherited" title="Inherited" class="inheritedSummaryImage"/>
</xsl:if>
<xsl:if test="not(ancestor::ancestors)">
<xsl:value-of select="$nbsp"/>
</xsl:if>
</td>
<td class="summaryTableSignatureCol">
<div class="summarySignature">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<xsl:variable name="destination" select="./@owner"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,translate($destination,':','/'),'.html')"/>
<xsl:variable name="hyperLink">
<xsl:if test="contains($destination,'.')">
<xsl:value-of select="$file"/>
</xsl:if>
<xsl:if test="not(contains($destination,'.'))">
<xsl:value-of select="$gfile"/>
</xsl:if>
</xsl:variable>
<xsl:if test="$hyperLink = ''">
<xsl:value-of select="@name"/>
</xsl:if>
<xsl:if test="$hyperLink != ''">
<a href="{$hyperLink}#style:{@name}" class="signatureLink">
<xsl:value-of select="@name"/>
</a>
</xsl:if>
</xsl:when>
<xsl:when test="ancestor::apiClassifier">
<span class="signatureLink">
<xsl:value-of select="@name"/>
</span>
</xsl:when>
</xsl:choose>
</div>
</td>
<td class="summaryTableDescription">
<xsl:if test="string-length(normalize-space(@type)) &gt; 0">
<span class="label">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Type']]/entry[2]/p"/>: </span>
<xsl:if test="string-length(@type)">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<xsl:if test="contains(@type,'.')">
<xsl:if test="count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0">
<xsl:variable name="hyperlink">
<xsl:call-template name="styleTypeHyperlink">
<xsl:with-param name="currentPackage" select="$currentPackage"/>
<xsl:with-param name="type" select="@type"/>
</xsl:call-template>
</xsl:variable>
<a href="{$hyperlink}">
<xsl:value-of select="normalize-space(@type)"/>
</a>
</xsl:if>
<xsl:if test="not(count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0)">
<xsl:value-of select="normalize-space(@type)"/>
</xsl:if>
</xsl:if>
<xsl:variable name="baseRef">
<xsl:call-template name="getBaseRef">
<xsl:with-param name="packageName" select="$currentPackage"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="gfile" select="concat($baseRef,@type,'.html')"/>
<xsl:if test="not(contains(@type,'.'))">
<xsl:if test="count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0">
<a href="{$gfile}">
<xsl:value-of select="normalize-space(@type)"/>
</a>
</xsl:if>
<xsl:if test="not(count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0)">
<xsl:value-of select="normalize-space(@type)"/>
</xsl:if>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="contains(@type,'.')">
<xsl:if test="count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0">
<xsl:variable name="hyperlink">
<xsl:call-template name="styleTypeHyperlink">
<xsl:with-param name="currentPackage" select="ancestor-or-self::apiPackage/apiName"/>
<xsl:with-param name="type" select="@type"/>
</xsl:call-template>
</xsl:variable>
<a href="{$hyperlink}">
<xsl:value-of select="normalize-space(@type)"/>
</a>
</xsl:if>
<xsl:if test="not(count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0)">
<xsl:value-of select="normalize-space(@type)"/>
</xsl:if>
</xsl:if>
<xsl:variable name="baseRef">
<xsl:call-template name="getBaseRef">
<xsl:with-param name="packageName" select="ancestor-or-self::apiPackage/apiName"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="gfile" select="concat($baseRef,@type,'.html')"/>
<xsl:if test="not(contains(@type,'.'))">
<xsl:if test="count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0">
<a href="{$gfile}">
<xsl:value-of select="normalize-space(@type)"/>
</a>
</xsl:if>
<xsl:if test="not(count($classHeader_map//apiClassifier[@id=@type] ) &gt; 0)">
<xsl:value-of select="normalize-space(@type)"/>
</xsl:if>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="not(string-length(@type))">
<xsl:if test="@type='' or @type='*'">
<xsl:call-template name="getSpecialTypeLink">
<xsl:with-param name="type" select="'*'"/>
<xsl:with-param name="baseRef" select="$baseRef"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="@type!='' and @type!='*'">
<xsl:value-of select="normalize-space(@type)"/>
</xsl:if>
</xsl:if>
<xsl:if test="string-length(normalize-space(@format)) &gt; 0 or string-length(normalize-space(@inherit)) &gt; 0">
<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="string-length(normalize-space(@format)) &gt; 0">
<span class="label">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Format']]/entry[2]/p"/>: </span>
<xsl:value-of select="normalize-space(@format)"/>
<xsl:if test="string-length(normalize-space(@inherit)) &gt; 0">
<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="string-length(normalize-space(@inherit)) &gt; 0">
<span class="label">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'CSSInheritance']]/entry[2]/p"/>: </span>
<xsl:value-of select="normalize-space(@inherit)"/>
<xsl:if test="string-length(normalize-space(@theme)) &gt; 0">
<xsl:text disable-output-escaping="yes"><![CDATA[&nbsp;]]></xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="string-length(normalize-space(@theme)) &gt; 0">
<span class="label"><xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Theme']]/entry[2]/p"/>: </span>
<xsl:value-of select="normalize-space(@theme)"/>
</xsl:if>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
<xsl:if test="@deprecatedReplacement or @deprecatedMessage">
<span class="label">
<xsl:choose>
<xsl:when test="@deprecatedSince!=''">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'DeprecatedSince']]/entry[2]/p"/>
<xsl:text> </xsl:text>
<xsl:value-of select="@deprecatedSince"/>
<xsl:if test="@deprecatedReplacement!=' '">
<xsl:text>: </xsl:text>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Deprecated']]/entry[2]/p"/>
<xsl:if test="@deprecatedReplacement!=''">
<xsl:text>:</xsl:text>
<xsl:text> </xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
</span>
<xsl:choose>
<xsl:when test="@deprecatedReplacement!=''">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'PleaseUse']]/entry[2]/p"/>
<xsl:text> </xsl:text>
<xsl:variable name="hyperlink">
<xsl:variable name="destination" select="$destination"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,$destination,'.html')"/>
<xsl:if test="contains($destination,'.')">
<xsl:value-of select="$file"/>
</xsl:if>
<xsl:if test="not(contains($destination,'.'))">
<xsl:value-of select="$gfile"/>
</xsl:if>
</xsl:variable>
<xsl:if test="contains(@deprecatedReplacement,',')">
<xsl:for-each select="tokenize(@deprecatedReplacement,',')">
<xsl:variable name="spec" select="normalize-space(.)"/>
<xsl:variable name="tospec">
<xsl:if test="contains($spec, ':')">
<xsl:value-of select="substring-after($spec,':')"/>
</xsl:if>
<xsl:if test="not(contains($spec, ':'))">
<xsl:value-of select="$spec"/>
</xsl:if>
</xsl:variable>
<xsl:variable name="ReplacementLink">
<xsl:variable name="replacement" select="$tospec"/>
<xsl:variable name="linkFromRootContext" select="false()"/>
<xsl:variable name="relativePath">
<xsl:call-template name="getRelativePath">
<xsl:with-param name="currentPath" select="$currentPackage"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="anchorPrefix" select="''"/>
<xsl:choose>
<xsl:when test="$sequence">
<xsl:variable name="lastToken">
<xsl:call-template name="lastIndexOf">
<xsl:with-param name="string" select="$replacement"/>
<xsl:with-param name="char" select="'.'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="firstPassToken" select="substring-before($replacement,concat('.',$lastToken))"/>
<xsl:choose>
<xsl:when test="string-length($firstPassToken) &gt; 0">
<xsl:if test="$linkFromRootContext = false()">
<xsl:value-of select="$relativePath"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$linkFromRootContext = true()">
<xsl:value-of select="translate($currentPackage,'.','/')"/>
<xsl:text>/</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="concat(translate($replacement,'.','/'),'.html')"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="lastToken">
<xsl:call-template name="lastIndexOf">
<xsl:with-param name="string" select="$replacement"/>
<xsl:with-param name="char" select="'.'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="firstPassToken" select="substring-before($replacement,concat('.',$lastToken))"/>
<xsl:variable name="className">
<xsl:call-template name="lastIndexOf">
<xsl:with-param name="string" select="$firstPassToken"/>
<xsl:with-param name="char" select="'.'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="packageName" select="substring-before($firstPassToken,concat('.',$className))"/>
<xsl:choose>
<xsl:when test="string-length($packageName) &gt; 0">
<xsl:if test="$linkFromRootContext = false()">
<xsl:value-of select="$relativePath"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$linkFromRootContext = true()">
<xsl:value-of select="translate($currentPackage,'.','/')"/>
<xsl:text>/</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="string-length($firstPassToken) &gt; 0">
<xsl:value-of select="concat(translate($firstPassToken,'.','/'),'.html')"/>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$linkFromRootContext = true()">
<xsl:value-of select="$apihtml"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="concat('#', $anchorPrefix, $lastToken)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<A href="{$hyperlink}{$ReplacementLink}">
<xsl:value-of select="$spec"/>
</A>
<xsl:if test="position() != last()">
<xsl:text>, </xsl:text>
</xsl:if>
</xsl:for-each>
</xsl:if>
<xsl:variable name="linkpath">
<xsl:variable name="replacement" select="@deprecatedReplacement/."/>
<xsl:variable name="currentPackage" select="ancestor-or-self::apiPackage/apiName"/>
<xsl:variable name="anchorPrefix" select="concat(local-name(),':')"/>
<xsl:variable name="replacement" select="@deprecatedReplacement/."/>
<xsl:variable name="linkFromRootContext" select="false()"/>
<xsl:variable name="relativePath">
<xsl:call-template name="getRelativePath">
<xsl:with-param name="currentPath" select="$currentPackage"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="anchorPrefix" select="'style:'"/>
<xsl:choose>
<xsl:when test="$sequence">
<xsl:variable name="lastToken">
<xsl:call-template name="lastIndexOf">
<xsl:with-param name="string" select="$replacement"/>
<xsl:with-param name="char" select="'.'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="firstPassToken" select="substring-before($replacement,concat('.',$lastToken))"/>
<xsl:choose>
<xsl:when test="string-length($firstPassToken) &gt; 0">
<xsl:if test="$linkFromRootContext = false()">
<xsl:value-of select="$relativePath"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$linkFromRootContext = true()">
<xsl:value-of select="translate($currentPackage,'.','/')"/>
<xsl:text>/</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="concat(translate($replacement,'.','/'),'.html')"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="lastToken">
<xsl:call-template name="lastIndexOf">
<xsl:with-param name="string" select="$replacement"/>
<xsl:with-param name="char" select="'.'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="firstPassToken" select="substring-before($replacement,concat('.',$lastToken))"/>
<xsl:variable name="className">
<xsl:call-template name="lastIndexOf">
<xsl:with-param name="string" select="$firstPassToken"/>
<xsl:with-param name="char" select="'.'"/>
</xsl:call-template>
</xsl:variable>
<xsl:variable name="packageName" select="substring-before($firstPassToken,concat('.',$className))"/>
<xsl:choose>
<xsl:when test="string-length($packageName) &gt; 0">
<xsl:if test="$linkFromRootContext = false()">
<xsl:value-of select="$relativePath"/>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$linkFromRootContext = true()">
<xsl:value-of select="translate($currentPackage,'.','/')"/>
<xsl:text>/</xsl:text>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="string-length($firstPassToken) &gt; 0">
<xsl:value-of select="concat(translate($firstPassToken,'.','/'),'.html')"/>
</xsl:when>
<xsl:otherwise>
<xsl:if test="$linkFromRootContext = true()">
<xsl:value-of select="$apihtml"/>
</xsl:if>
</xsl:otherwise>
</xsl:choose>
<xsl:value-of select="concat('#', $anchorPrefix, $lastToken)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="not(contains(@deprecatedReplacement,','))">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<A href="{$hyperlink}{$linkpath}">
<xsl:value-of select="@deprecatedReplacement/."/>
</A>
</xsl:when>
<xsl:otherwise>
<A href="{$linkpath}">
<xsl:value-of select="@deprecatedReplacement/."/>
</A>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:when>
<xsl:when test="@deprecatedMessage!=''">
<xsl:variable name="description">
<apiDesc>
<xsl:value-of select="@deprecatedMessage/."/>
</apiDesc>
</xsl:variable>
<xsl:for-each select="$description/apiDesc">
<xsl:call-template name="processTags"/>
</xsl:for-each>
</xsl:when>
</xsl:choose>
<xsl:text disable-output-escaping="yes">&lt;br/&gt;</xsl:text>
</xsl:if>
<xsl:call-template name="shortDescriptionReview"/>
<xsl:variable name="styleText">
<xsl:variable name="asCustomsText">
<xsl:value-of select="prolog/asCustoms/review"/>
</xsl:variable>
<xsl:if test="string-length($asCustomsText) &gt; 0">
<xsl:if test="$config/options/@showReview='true'">
<h2>
<font color="red">Review Needed</font>
</h2>
</xsl:if>
<xsl:value-of select="$asCustomsText"/>
</xsl:if>
<xsl:for-each select="./description">
<xsl:apply-templates/>
</xsl:for-each>
<xsl:if test="./description/@conref">
<xsl:call-template name="getConRefText">
<xsl:with-param name="conref" select="./description/@conref"/>
<xsl:with-param name="descriptionType" select="local-name(./description)"/>
<xsl:with-param name="entryType" select="'style'"/>
</xsl:call-template>
</xsl:if>
</xsl:variable>
<xsl:variable name="finalStyleText">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<xsl:call-template name="getFirstSentence">
<xsl:with-param name="inText" select="$styleText"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$styleText"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:if test="string-length($finalStyleText) &gt; 0">
<xsl:call-template name="deTilda">
<xsl:with-param name="inText" select="$finalStyleText"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="not (ancestor::ancestors)">
<xsl:if test="default">
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'DefaultValueIs']]/entry[2]/p"/>
<code>
<xsl:text> </xsl:text>
<xsl:value-of select="normalize-space(default/.)"/>
</code>
<xsl:text>.</xsl:text>
</xsl:if>
</xsl:if>
<xsl:if test="string-length(normalize-space(@states)) &gt; 0">
<p/>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Style_States_1']]/entry[2]/p"/>
<code> </code>
<xsl:value-of select="$asdoc_terms/row[entry[1][p/text() = 'Style_States_2']]/entry[2]/p"/>
<xsl:text> </xsl:text>
<xsl:value-of select="normalize-space(@states)"/>
<xsl:text>.</xsl:text>
</xsl:if>
<xsl:call-template name="sees">
<xsl:with-param name="currentPackage" select="$currentPackage"/>
</xsl:call-template>
</td>
<td class="summaryTableOwnerCol">
<xsl:choose>
<xsl:when test="ancestor::ancestors">
<xsl:variable name="destination" select="./@owner"/>
<xsl:variable name="h1" select="substring-after($destination,':')"/>
<xsl:variable name="h2" select="substring-before($destination,':')"/>
<xsl:variable name="file" select="concat($baseRef,translate($h2,'.','/'),'/',$h1,'.html')"/>
<xsl:variable name="gfile" select="concat($baseRef,translate($destination,':','/'),'.html')"/>
<xsl:variable name="classLink">
<xsl:if test="contains($destination,'.')">
<xsl:value-of select="$file"/>