<!-- jGrouseDoc template file. Creates content for top-left frame with all namespaces @Copyright (c) 2007 by Denis Riabtchik. All rights reserved. See license.txt and http://jgrouse.com for details@ $Id: detail.xslt 339 2008-01-21 00:21:30Z denis.riabtchik $ --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:param name='rootPath' /> <xsl:param name='trueRootPath' /> <xsl:param name="projectDesc"/> <xsl:param name="projectName"/> <xsl:param name='version'/> <xsl:param name='objectName' /> <xsl:param name='aux_css'>not_specified</xsl:param> <xsl:param name="navSection"/> <xsl:output method='HTML' doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd"> </xsl:output> <xsl:import href="../../common/xslt/common.xslt"/> <xsl:import href="nfcommon.xslt"/> <xsl:template match="/jgdoc/items/*"> <xsl:variable name="objType"><xsl:value-of select="name()"/></xsl:variable> <div> <xsl:apply-templates select="comment/srcUrl" mode="writeDetails1"/> <H2> <span class="objType"> <xsl:choose> <xsl:when test="$objType = 'namespace'">Namespace </xsl:when> <xsl:when test="$objType = 'class'">Class </xsl:when> <xsl:when test="$objType = 'struct'">Structure </xsl:when> <xsl:when test="$objType = 'interface'">Interface </xsl:when> <xsl:when test="$objType = 'object'">Object </xsl:when> </xsl:choose> </span> <xsl:value-of select="comment/name" /> </H2> <xsl:if test="($objType = 'class') or ($objType = 'interface')"> <xsl:if test="count(comment/extends) > 0"> <div class="extends"> <span class="descSection">Extends </span> <xsl:for-each select="comment/extends/tagContent"> <xsl:if test="position() > 1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:apply-templates select="content"/> </xsl:for-each> </div> </xsl:if> </xsl:if> <xsl:if test="($objType = 'class')"> <xsl:if test="count(comment/implements) > 0"> <div class="implements"> <span class="descSection">Implements </span> <xsl:for-each select="comment/implements/tagContent"> <xsl:if test="position() > 1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:apply-templates select="content"/> </xsl:for-each> </div> </xsl:if> </xsl:if> <xsl:if test="count(/jgdoc/items/*[(name() = 'class' or name() = 'interface') and comment/extends/tagContent[@name=$objectName]]) != 0"> <div class="subclasses"> <div class="descSection"> <xsl:if test="name() = 'class'">Direct Known Subclasses:</xsl:if> <xsl:if test="name() = 'interface'">All Known Subinterfaces:</xsl:if> </div> <div class="paddedDetails"> <xsl:for-each select="/jgdoc/items/*[comment/extends/tagContent[@name=$objectName]]"> <xsl:if test="position() > 1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:element name="a"> <xsl:attribute name="href"> <xsl:call-template name="writeLink"> <xsl:with-param name="refName"><xsl:value-of select="@id"/></xsl:with-param> </xsl:call-template> </xsl:attribute> <span><xsl:value-of select="@id"/></span> </xsl:element> </xsl:for-each> </div> </div> </xsl:if> <xsl:if test="count(/jgdoc/items/class[comment/implements/tagContent[@name=$objectName]]) != 0"> <div> <div> All Known Implementing Classes: </div> <div> <xsl:for-each select="/jgdoc/items/class[comment/implements/tagContent[@name=$objectName]]"> <xsl:if test="position() > 1"> <xsl:text>, </xsl:text> </xsl:if> <xsl:element name="a"> <xsl:attribute name="href"> <xsl:call-template name="writeLink"> <xsl:with-param name="refName"><xsl:value-of select="@id"/></xsl:with-param> </xsl:call-template> </xsl:attribute> <span><xsl:value-of select="@id"/></span> </xsl:element> </xsl:for-each> </div> </div> </xsl:if> <hr/> <!-- description --> <div> <code> <span class="modifiers"><xsl:value-of select="comment/modifiers/@name"/></span> <xsl:text> </xsl:text> <span class="objType"><xsl:value-of select="$objType"/></span> <xsl:text> </xsl:text> <b><xsl:value-of select="comment/name"/></b> </code> </div> <xsl:for-each select='comment/commentContent/content'> <div class="comment"> <xsl:apply-templates select='.'/> </div> </xsl:for-each> <xsl:apply-templates select="comment" mode="genCommonAttrs" /> <xsl:for-each select="/jgdoc/items/*[@id=$objectName and @physOwner != '']"> <span class="definedIn">Defined in </span> <xsl:element name='a'> <xsl:attribute name='href'> <xsl:value-of select="$rootPath"/>physical/<xsl:value-of select="/jgdoc/items/*[@id=/jgdoc/items/*[@id=$objectName]/@physOwner]/@path"/>.html</xsl:attribute> <xsl:value-of select='/jgdoc/items/*[@id=/jgdoc/items/*[@id=$objectName]/@physOwner]/comment/name'/> </xsl:element> </xsl:for-each> <hr/> <p /> <xsl:variable name="nested"><xsl:if test="@elementType = 'logical_container' and name() != 'namespace'">Nested</xsl:if></xsl:variable> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">class</xsl:with-param> <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Class</xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">interface</xsl:with-param> <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Interface</xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">object</xsl:with-param> <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Object</xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">struct</xsl:with-param> <xsl:with-param name="elementName"><xsl:value-of select="$nested"/> Structure</xsl:with-param> </xsl:apply-templates> <!-- Variables --> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">variable</xsl:with-param> <xsl:with-param name="elementName">Variable</xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="legacies" mode="inheritance"> <xsl:with-param name="memberName">Variables</xsl:with-param> <xsl:with-param name="memberType">variable</xsl:with-param> </xsl:apply-templates> <!-- properties --> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">property</xsl:with-param> <xsl:with-param name="elementName">Property</xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="legacies" mode="inheritance"> <xsl:with-param name="memberName">Properties</xsl:with-param> <xsl:with-param name="memberType">property</xsl:with-param> </xsl:apply-templates> <!-- Constructors --> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">constructor</xsl:with-param> <xsl:with-param name="elementName">Constructor</xsl:with-param> </xsl:apply-templates> <!-- Functions --> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">function</xsl:with-param> <xsl:with-param name="elementName">Function</xsl:with-param> </xsl:apply-templates> <!-- Events --> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">event</xsl:with-param> <xsl:with-param name="elementName">Event</xsl:with-param> </xsl:apply-templates> <xsl:apply-templates select="legacies" mode="inheritance"> <xsl:with-param name="memberName">Functions</xsl:with-param> <xsl:with-param name="memberType">function</xsl:with-param> </xsl:apply-templates> <!-- Function interfaces --> <xsl:apply-templates select="children" mode="writeSummary"> <xsl:with-param name="elementType">ifunction</xsl:with-param> <xsl:with-param name="elementName">Function Interface</xsl:with-param> </xsl:apply-templates> <!-- ============== Details coming here =================== --> <!-- variables --> <xsl:call-template name="writeDetails"> <xsl:with-param name="memberName">Variable</xsl:with-param> <xsl:with-param name="memberType">variable</xsl:with-param> <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param> </xsl:call-template> <!-- properties --> <xsl:call-template name="writeDetails"> <xsl:with-param name="memberName">Property</xsl:with-param> <xsl:with-param name="memberType">property</xsl:with-param> <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param> </xsl:call-template> <!-- constructors --> <xsl:call-template name="writeDetails"> <xsl:with-param name="memberName">Constructor</xsl:with-param> <xsl:with-param name="memberType">constructor</xsl:with-param> <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param> </xsl:call-template> <!-- functions --> <xsl:call-template name="writeDetails"> <xsl:with-param name="memberName">Function</xsl:with-param> <xsl:with-param name="memberType">function</xsl:with-param> <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param> </xsl:call-template> <!-- events --> <xsl:call-template name="writeDetails"> <xsl:with-param name="memberName">Event</xsl:with-param> <xsl:with-param name="memberType">event</xsl:with-param> <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param> </xsl:call-template> <!-- function interfaces --> <xsl:call-template name="writeDetails"> <xsl:with-param name="memberName">Function Interface</xsl:with-param> <xsl:with-param name="memberType">ifunction</xsl:with-param> <xsl:with-param name="objectName"><xsl:value-of select="$objectName"/></xsl:with-param> </xsl:call-template> </div> </xsl:template> <xsl:template match="/"> <xsl:comment>Generated by jGrouseDoc</xsl:comment> <html> <head> <title><xsl:value-of select="$projectName"/></title> <script> (function() { var loc = window.location.protocol + '//' + window.location.hostname + window.location.pathname; loc = loc.split('\\'); loc = loc.join('/'); loc = loc.split('/'); loc.pop(); loc = loc.join('/'); loc += '/' + '<xsl:value-of select="$trueRootPath"/>'; document.write("<base href='" + loc + "'></base>"); })(); </script> <xsl:call-template name="writeCss"> <xsl:with-param name="rootPath"></xsl:with-param> <xsl:with-param name="aux_css"><xsl:value-of select="$aux_css"/></xsl:with-param> </xsl:call-template> <script type="text/javascript" src="navTree.js"></script> <script type="text/javascript" src="jgdoc.js"></script> </head> <body> <div class="startup" id="startup"> <div class="banner" id="banner"> <h1 class="projectName"> <xsl:element name="a"> <xsl:attribute name="href">.</xsl:attribute> <xsl:value-of select="$projectName"/> </xsl:element> </h1> <div class="bar"> version <xsl:value-of select="$version"/> </div> </div> <div class="content" id="docContent"> <div class="block"> <div id="searchBlock"> <div class="search" > <div class="searchLabel">Search:</div> <div class="searchBlock" style="height:100%"> <input id="jgsSearchString" type="text" size="60" class="jgdSearchString"/> <div id="jgsSearchPanel" class="jgsSearchPanel" style="display:none"> <div class="jgdSearchRect" > <div id="jgsSearchResults"> Loading.... </div> </div> <div id="jgsInfo" class="jgsInfo" >No selection</div> </div> </div> </div> </div> <div id="docScroll" class="docScroll"> <div> <hr/> <xsl:apply-templates select="/jgdoc/items/*[@id=$objectName]"/> </div> </div> </div> </div> <xsl:call-template name="navigationPane"> <xsl:with-param name="elementType"><xsl:value-of select="$navSection"/></xsl:with-param> </xsl:call-template> </div> </body> <script type="text/javascript"> jgdoc.Searcher.start(); jgdoc.NavTree.initialize('<xsl:value-of select="$objectName"/>'); </script> <script type="text/javascript" src="jsindex.js"> </script> </html> </xsl:template> </xsl:stylesheet>