<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xslc="http://xslcomponents.org/TR/WD-xslc">
<xsl:import href="../xslc.xsl"/>
<xsl:import href="XMLCAdm_Tabs.xsl"/>
<xsl:variable name="DoSort">
<xsl:choose>
<xsl:when test="/document/Params/XMLC_SortField != ''">1</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="XMLC_SortField">
<xsl:choose>
<xsl:when test="/document/Params/XMLC_SortField != ''">
<xsl:value-of select="/document/Params/XMLC_SortField"/>
</xsl:when>
<xsl:otherwise>XMLModule</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="XMLC_SortOrder">
<xsl:choose>
<xsl:when test="/document/Params/XMLC_SortOrder != ''">
<xsl:value-of select="/document/Params/XMLC_SortOrder"/>
</xsl:when>
<xsl:otherwise>ascending</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="XMLC_SortType">
<xsl:choose>
<xsl:when test="/document/Params/XMLC_SortType != ''">
<xsl:value-of select="/document/Params/XMLC_SortType"/>
</xsl:when>
<xsl:otherwise>text</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:template match="/">
<xsl:apply-templates select="document"/>
</xsl:template>
<xsl:template match="document">
<xsl:call-template name="xslc:Page">
<xsl:with-param name="Title" select="/document/Locales/XMLC_StatsQueriesTitle"/>
<xsl:with-param name="PageTitle">
<img align="absmiddle" src="{$XMLC_PictosPath}Button_StatsQuery.gif"/>&#160;<xsl:value-of select="/document/Locales/XMLC_StatsQueriesPageTitle"/>
</xsl:with-param>
<xsl:with-param name="ToolbarButtonsLeft">
<xsl:call-template name="AdmCommonToolbarButtonsLeft"/>
</xsl:with-param>
<xsl:with-param name="ToolbarButtonsRight">
<xsl:call-template name="AdmCommonToolbarButtonsRight"/>
</xsl:with-param>
<xsl:with-param name="ActivePageName">XMLC_StatsQueries</xsl:with-param>
<xsl:with-param name="Tabs">
<xsl:call-template name="XMLCAdm_Tabs"/>
</xsl:with-param>
<xsl:with-param name="DisplayTabs">1</xsl:with-param>
<xsl:with-param name="Body">
<xsl:apply-templates select="Queries"/>
</xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template match="Queries">
<table border="0" cellpadding="2" cellspacing="0" class="clFlatTable" width="100%">
<tr class="clRowHeader">
<td valign="top">
<xsl:call-template name="HeaderLink">
<xsl:with-param name="Caption" select="/document/Locales/XMLModuleHeader"/>
<xsl:with-param name="Field">XMLModule</xsl:with-param>
<xsl:with-param name="SortType">text</xsl:with-param>
</xsl:call-template>
</td>
<td valign="top">
<xsl:call-template name="HeaderLink">
<xsl:with-param name="Caption" select="/document/Locales/QueryHeader"/>
<xsl:with-param name="Field">Name</xsl:with-param>
<xsl:with-param name="SortType">text</xsl:with-param>
</xsl:call-template>
</td>
<td align="right">
<xsl:call-template name="HeaderLink">
<xsl:with-param name="Caption" select="/document/Locales/AverageTimeHeader"/>
<xsl:with-param name="Field">AverageTime</xsl:with-param>
<xsl:with-param name="DefaultSortOrder">descending</xsl:with-param>
</xsl:call-template>
<br/>
<xsl:value-of select="TotalAverageTime"/>
</td>
<td align="right">
<xsl:call-template name="HeaderLink">
<xsl:with-param name="Caption" select="/document/Locales/CountHeader"/>
<xsl:with-param name="Field">RequestCount</xsl:with-param>
<xsl:with-param name="DefaultSortOrder">descending</xsl:with-param>
</xsl:call-template>
<br/>
<xsl:value-of select="TotalRequestCount"/>
</td>
<td align="right" valign="top">
<xsl:call-template name="HeaderLink">
<xsl:with-param name="Caption" select="/document/Locales/CPUTimeHeader"/>
<xsl:with-param name="Field">CPUTime</xsl:with-param>
<xsl:with-param name="DefaultSortOrder">descending</xsl:with-param>
</xsl:call-template>
<br/>
<xsl:value-of select="TotalCPUTime"/>
</td>
<td align="right" valign="top">
<xsl:call-template name="HeaderLink">
						<xsl:with-param name="Caption" select="/document/Locales/MinCPUHeader"/>
						<xsl:with-param name="Field">MinCPU</xsl:with-param>
						<xsl:with-param name="DefaultSortOrder">descending</xsl:with-param>
					</xsl:call-template>
				</td>
				<td align="right" valign="top">
					<xsl:call-template name="HeaderLink">
						<xsl:with-param name="Caption" select="/document/Locales/MaxCPUHeader"/>
						<xsl:with-param name="Field">MaxCPU</xsl:with-param>
						<xsl:with-param name="DefaultSortOrder">descending</xsl:with-param>
					</xsl:call-template>
				</td>
				<td align="right" valign="top">
					<xsl:call-template name="HeaderLink">
<xsl:with-param name="Caption" select="/document/Locales/LastCPUTimeHeader"/>
<xsl:with-param name="Field">LastCPUTime</xsl:with-param>
<xsl:with-param name="DefaultSortOrder">descending</xsl:with-param>
</xsl:call-template>
</td>
<td align="right">
<xsl:value-of select="/document/Locales/FetchesHeader"/>
<br/>
<xsl:value-of select="TotalFetches"/>
</td>
<td align="right">
<xsl:value-of select="/document/Locales/FetchAverageTimeHeader"/>
<br/>
<xsl:value-of select="TotalAverageFetchTime"/>
</td>
<td align="right">
<xsl:value-of select="/document/Locales/FetchesAveragePerRequestHeader"/>
<br/>
<xsl:value-of select="TotalAverageFetchesPerRequest"/>
</td>
</tr>
<xsl:choose>
<xsl:when test="$DoSort = '1'">
<xsl:variable name="XMLC_SortOrder" select="$XMLC_SortOrder"/>
<xsl:variable name="XMLC_SortType" select="$XMLC_SortType"/>
<xsl:apply-templates select="Query">
<xsl:sort select="node()[name() = $XMLC_SortField]" order="{$XMLC_SortOrder}" data-type="{$XMLC_SortType}"/>
</xsl:apply-templates>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="Query"/>
</xsl:otherwise>
</xsl:choose>
</table>
</xsl:template>
<xsl:template match="Query">
<xsl:variable name="clValue">
<xsl:choose>
<xsl:when test="position() mod 2 = 0">clRowDark</xsl:when>
<xsl:otherwise>clRowLight</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="Position" select="position()"/>
<tr class="{$clValue}">
<td>
<xsl:choose>
<xsl:when test="($XMLC_SortField = 'XMLModule' and $XMLC_SortOrder = 'ascending')">
<xsl:if test="($Position = 1) or (../Query[position() = $Position - 1]/XMLModule != XMLModule)">
<a>
<xsl:attribute name="href"><xsl:value-of select="/document/XMLC_Params/XMLC_ScriptName"/><xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">?XMLC_Action=</xsl:when><xsl:otherwise>/</xsl:otherwise></xsl:choose>XMLC_StatsXMLModule<xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose>XMLC_Pool=<xsl:value-of select="/document/XMLC_Pool"/>&amp;XMLModule=<xsl:value-of select="XMLModule"/></xsl:attribute>
<xsl:value-of select="XMLModule"/>
</a>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<a>
<xsl:attribute name="href"><xsl:value-of select="/document/XMLC_Params/XMLC_ScriptName"/><xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">?XMLC_Action=</xsl:when><xsl:otherwise>/</xsl:otherwise></xsl:choose>XMLC_StatsXMLModule<xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose>XMLC_Pool=<xsl:value-of select="/document/XMLC_Pool"/>&amp;XMLModule=<xsl:value-of select="XMLModule"/></xsl:attribute>
<xsl:value-of select="XMLModule"/>
</a>
</xsl:otherwise>
</xsl:choose>
</td>
<td valign="top">
<a>
<xsl:attribute name="href"><xsl:value-of select="/document/XMLC_Params/XMLC_ScriptName"/><xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">?XMLC_Action=</xsl:when><xsl:otherwise>/</xsl:otherwise></xsl:choose>XMLC_StatsQuery<xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose>XMLC_Pool=<xsl:value-of select="/document/XMLC_Pool"/>&amp;XMLModule=<xsl:value-of select="XMLModule"/>&amp;Query=<xsl:value-of select="Name"/></xsl:attribute>
<xsl:value-of select="Name"/>
</a>
</td>
<td align="right" valign="top">
<xsl:value-of select="AverageTime"/>
</td>
<td align="right" valign="top">
<xsl:value-of select="RequestCount"/>
</td>
<td align="right" valign="top">
<xsl:value-of select="CPUTime"/>
</td>
<td align="right" valign="top">
				<xsl:value-of select="MinCPU"/>
			</td>
			<td align="right" valign="top">
				<xsl:value-of select="MaxCPU"/>
			</td>
			<td align="right" valign="top">
<xsl:value-of select="LastCPUTime"/>
</td>
<td align="right" valign="top">
<xsl:value-of select="Fetches"/>
</td>
<td align="right" valign="top">
<xsl:value-of select="AverageFetchTime"/>
</td>
<td align="right" valign="top">
<xsl:value-of select="AverageFetchesPerRequest"/>
</td>
</tr>
</xsl:template>
<xsl:template name="HeaderLink">
<xsl:param name="Caption"/>
<xsl:param name="Field"/>
<xsl:param name="DefaultSortOrder">ascending</xsl:param>
<xsl:param name="SortOrder">
<xsl:choose>
<xsl:when test="$XMLC_SortField = $Field">
<xsl:choose>
<xsl:when test="$XMLC_SortOrder = 'ascending'">descending</xsl:when>
<xsl:otherwise>ascending</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$DefaultSortOrder"/>
</xsl:otherwise>
</xsl:choose>
</xsl:param>
<xsl:param name="SortType">number</xsl:param>
<a>
<xsl:attribute name="href"><xsl:value-of select="/document/XMLC_Params/XMLC_ScriptName"/><xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">?XMLC_Action=</xsl:when><xsl:otherwise>/</xsl:otherwise></xsl:choose>XMLC_StatsQueries<xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose>XMLC_SortField=<xsl:value-of select="$Field"/>&amp;XMLC_SortType=<xsl:value-of select="$SortType"/>&amp;XMLC_SortOrder=<xsl:value-of select="$SortOrder"/></xsl:attribute>
<xsl:value-of select="$Caption"/>
</a>
<xsl:if test="$XMLC_SortField = $Field">&#160;<a>
<xsl:attribute name="href"><xsl:value-of select="/document/XMLC_Params/XMLC_ScriptName"/><xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">?XMLC_Action=</xsl:when><xsl:otherwise>/</xsl:otherwise></xsl:choose>XMLC_StatsQueries<xsl:choose><xsl:when test="/document/XMLC_Params/XMLC_UseXMLC_Action = '1'">&amp;</xsl:when><xsl:otherwise>?</xsl:otherwise></xsl:choose>XMLC_SortField=<xsl:value-of select="$Field"/>&amp;XMLC_SortType=<xsl:value-of select="$SortType"/>&amp;XMLC_SortOrder=<xsl:value-of select="$SortOrder"/></xsl:attribute>
<img align="absmiddle" border="0">
<xsl:attribute name="src"><xsl:value-of select="$XMLC_PictosPath"/><xsl:choose><xsl:when test="$SortOrder = 'ascending'">ico_CheckAfter.gif</xsl:when><xsl:otherwise>ico_CheckBefore.gif</xsl:otherwise></xsl:choose></xsl:attribute>
</img>
</a>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
