Re: [xsl] Number of Recursive XSL Templates exceeded --> XML - Part 9

Subject: Re: [xsl] Number of Recursive XSL Templates exceeded --> XML - Part 9
From: Mukul Gandhi <mukul_gandhi@xxxxxxxxx>
Date: Thu, 9 Dec 2004 00:51:48 -0800 (PST)
I appreciate you for sharing your source code. But am
feeling scared to test it! I suggest to please use
some XSLT profiling tool(if you are not able to debug
it manually).

A small debugging tip could be; you can put construct
like <xsl:text>123</xsl:text> at places where you feel
execution stops..

Regards,
Mukul

--- Sundararaman S A <sundararaman.sa@xxxxxxxxx>
wrote:

>
*********************************************************************
> XSL FILE - PART 8
>
********************************************************************
> 	<xsl:template name="displayimagesforsearch">
> 	<xsl:param name="sessionId"/>
> 	<xsl:param name="searchid"/>
> 	<xsl:param name="searchconfigid"/>
> 	<xsl:param name="searchconfigid"/>
> 	<xsl:param name="configName"/>
> 	<xsl:param name="readMode"/>
> 	<xsl:param name="horizontaldisplay"/>
> 	<xsl:param name="stylesheet"/>
> 	<xsl:param name="searchandclear"/>
> 	<xsl:param name="casesensitive"/>
> 	<xsl:param name="parent"/>
> 	<xsl:param name="xslFile"/>
> 	<xsl:param name="menu"/>
> 	<xsl:param name="extrainfo"/>
> 	<xsl:param name="csvprocessflow"/>
> 
> 		<xsl:if test="string($searchandclear)!='0'">
> 		<tr>
> 					<td>
> 
> <a href="#">
> 											<img src="{$DMT_IMAGES}/search.gif"
> alt="Search" border="0"
> onclick="javascript:submitSearch('{$configName}');"
> style="cursor:hand"/>
> 										</a>
> 
> 				<xsl:text
>
disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;</xsl:text>
> 
> 					
> <a href="javascript:clearFilter('{$configName}');">
> 											<img src="{$DMT_IMAGES}/clear.gif"
> alt="Clear"
> border="0"	style="cursor:hand"/>
> 										</a>
> 					</td>
> 			</tr>				
> 		</xsl:if>
> 
> </xsl:template>
> 
> 	
> 	<xsl:template name="confirmationPageForDelete">
> 		<xsl:param name="readMode"/>
> 		<xsl:param name="stylesheet"/>
> 		<xsl:param name="casesensitive"/>
> 		<xsl:param name="searchandclear"/>
> 		<xsl:param name="horizontaldisplay"/>
> 		<xsl:param name="xslFile"/>
> 		<xsl:param name="menu"/>
> 		<xsl:param name="extrainfo"/>
> 		<xsl:param name="csvprocessflow"/>
> 		<xsl:param name="RecordsNotFound"/>
> 		<xsl:param name="objpermission"/>
> 		<xsl:param name="parentobjIns"/>
> 		<xsl:param name="tempFlagForProcessing"/>
> 		<xsl:param name="checkboxEnable"/>
> 		<xsl:param name="checkBoxString"/>
> 		<xsl:param name="configName"/>
> 		<xsl:variable name="pKey"
>
select="name(//search/SearchResult/sdmsearchresult[1]//*[@id])"/>
> 		<xsl:for-each
> select="//search/SearchResult/sdmsearchresult">
> 			<xsl:if test="$parentobjIns=
> (.//*[string(@id)!='']) and
> string($tempFlagForProcessing) = ''">
> 				<xsl:text
> disable-output-escaping="yes"><![CDATA[<tr
> class="alternateRow1">]]></xsl:text>
> 				<xsl:for-each select=".//*[@hide]">
> 					<xsl:sort select="@displayposition"
> data-type="number"/>
> 					<xsl:if test="@domain">
> 						<xsl:variable name="objectname"
> select="name(..)"/>
> 						<xsl:variable name="primarykey_value"
> select="../*[string(@id)!='']/@id"/>
> 						<xsl:variable name="object"
>
select="concat($objectname,'[',$primarykey_value,'].')"/>
> 						<xsl:variable name="columnName"
> select="name(.)"/>
> 						<!-- Lov calculation starts here -->
> 						<xsl:variable name="lovs">
> 							<xsl:if test="string(@domain)!=''">
> 								<xsl:for-each
> select="//search/SearchHeader//*">
> 									<xsl:if test="($columnName = name(.)) and
> ($objectname = name(..))">
> 										<xsl:value-of select="@domain"/>
> 									</xsl:if>
> 								</xsl:for-each>
> 							</xsl:if>
> 						</xsl:variable>
> 						<xsl:variable name="separator">
> 							<xsl:value-of select="','"/>
> 						</xsl:variable>
> 						<xsl:variable name="separator2">
> 							<xsl:value-of select="'|'"/>
> 						</xsl:variable>
> 						<xsl:variable name="separator3">
> 							<xsl:value-of select="'|'"/>
> 						</xsl:variable>
> 						<xsl:variable name="lovsDomain">
> 							<xsl:call-template name="findDomain">
> 								<xsl:with-param name="lovs" select="$lovs"/>
> 								<xsl:with-param name="separator"
> select="$separator"/>
> 								<xsl:with-param name="separator2"
> select="$separator2"/>
> 								<xsl:with-param name="separator3"
> select="$separator3"/>
> 							</xsl:call-template>
> 						</xsl:variable>
> 						<xsl:variable name="lovsValue">
> 							<xsl:call-template name="findValue">
> 								<xsl:with-param name="lovs" select="$lovs"/>
> 								<xsl:with-param name="separator"
> select="$separator"/>
> 								<xsl:with-param name="separator2"
> select="$separator2"/>
> 								<xsl:with-param name="separator3"
> select="$separator3"/>
> 							</xsl:call-template>
> 						</xsl:variable>
> 						<!-- Lov calculation ends here -->
> 						<xsl:variable name="fieldname"
> select="normalize-space(concat($object,name(.)))"/>
> 						<xsl:variable name="fieldvalue"
> select="normalize-space(text())"/>
> 						<xsl:variable name="sizeofinputtext">
> 							<xsl:choose>
> 								<xsl:when test="string(@linkimage)!=''">
> 									<xsl:value-of select="@linkimage"/>
> 								</xsl:when>
> 								<xsl:otherwise>
> 									<xsl:value-of select="'10'"/>
> 								</xsl:otherwise>
> 							</xsl:choose>
> 						</xsl:variable>
> 						<xsl:choose>
> 							<xsl:when test="string(@hide)='1'">
> 								<input type="hidden" name="{$fieldname}"
> value="{$fieldvalue}"/>
> 							</xsl:when>
> 							<xsl:otherwise>
> 								<td>
> 									<xsl:choose>
> 										<xsl:when test="@domain!=''">
> 											<xsl:variable name="valuetemp"/>
> 											<xsl:call-template name="selectedValue">
> 												<xsl:with-param name="domain"
> select="$lovsValue"/>
> 												<xsl:with-param name="desc"
> select="$lovsDomain"/>
> 												<xsl:with-param name="disabled"
> select="'disabled'"/>
> 												<xsl:with-param name="funcname"
> select="'return true'"/>
> 												<xsl:with-param name="value"
> select="$fieldvalue"/>
> 												<xsl:with-param name="name"
> select="$fieldname"/>
> 												<xsl:with-param
> name="displayselectedvalue" select="$fieldvalue"/>
> 											</xsl:call-template>
> 											<input type="hidden" name="{$fieldname}"
> value="{$valuetemp}"/>
> 										</xsl:when>
> 										<xsl:otherwise>
> 											<input type="hidden" name="{$fieldname}"
> value="{$fieldvalue}"/>
> 											<xsl:value-of select="$fieldvalue"/>
> 										</xsl:otherwise>
> 									</xsl:choose>
> 								</td>
> 							</xsl:otherwise>
> 						</xsl:choose>
> 					</xsl:if>
> 				</xsl:for-each>
> 				<xsl:text
>
disable-output-escaping="yes"><![CDATA[</tr>]]></xsl:text>
> 				<tr>
> 					<td align="left" colspan="100">
> 						<table border="0" cellspacing="0"
> cellpadding="3" id="Data"
> style="margin-left:10px" width="90%"
> bgcolor="#CCCCCC">
> 							<tr>
> 								<td>
> 									<xsl:choose>
> 										<xsl:when
> test="string($checkboxEnable)=''">
> 											Are you sure you want to delete this
> record? 	
> 											<input type="checkbox" name="id"
> value="{$parentobjIns}"
> style="width:13px;height:13px;"/>
> 											<br/>
> 											The relationships with this record are
> given below<br/>
> 											<xsl:call-template
> name="relationshipDisplay">
> 												<xsl:with-param name="checkBoxString"
> select="$checkBoxString"/>
> 											</xsl:call-template>
> 										</xsl:when>
> 										<xsl:otherwise>
> 											You can not delete this record <br/>
> 											The relationships with this record are
> given below<br/>
> 											<xsl:call-template
> name="relationshipDisplay">
> 												<xsl:with-param name="checkBoxString"
> select="$checkBoxString"/>
> 											</xsl:call-template>
> 											<br/></xsl:otherwise>
> 									</xsl:choose>
> 								</td>
> 							</tr>
> 						</table>
> 					</td>
> 				</tr>
> 			</xsl:if>
> 		</xsl:for-each>
> 		<xsl:if test="$RecordsNotFound">
> 			<font color="red" size="2">
> 				<xsl:value-of select="$RECORDSNOTFOUND"/>
> 			</font>
> 		</xsl:if>
> 	</xsl:template>
> 	
> 	<xsl:template name="displayHeader2">
> 		<xsl:param name="readMode"/>
> 		<xsl:param name="stylesheet"/>
> 		<xsl:param name="casesensitive"/>
> 		<xsl:param name="searchandclear"/>
> 		<xsl:param name="horizontaldisplay"/>
> 		<xsl:param name="xslFile"/>
> 		<xsl:param name="menu"/>
> 		<xsl:param name="extrainfo"/>
> 		<xsl:param name="csvprocessflow"/>
> 		<tr class="contentHeaderRow">
> 			<xsl:for-each
>
select="//search/SearchResult/sdmsearchresult[position()=1]//*[@hide]">
> 				<xsl:sort select="@displayposition"
> data-type="number"/>
> 				<xsl:if test="@hide">
> 					<xsl:choose>
> 						<xsl:when test="string(@returnchildname) != ''
> and
> not(string($readMode)='1')">
> 							<xsl:if test="@hide!='1'">
> 								<th class="contentHeaderRow" align="left">
> 									<table id="GenericDataFull" width="20%">
> 										<tr class="contentHeaderRow">
> 											<th class="contentHeaderRow"
> align="left">
> 												<b>
> 													<xsl:value-of
> select="normalize-space(@displayname)"/>
> 												</b>
> 											</th>
> 										</tr>
> 									</table>
> 								</th>
> 							</xsl:if>
> 						</xsl:when>
> 						<xsl:otherwise>
> 							<xsl:if test="@hide!='1'">
> 								<th class="contentHeaderRow" align="left">
> 									<xsl:value-of
> select="normalize-space(@displayname)"/>
> 								</th>
> 							</xsl:if>
> 						</xsl:otherwise>
> 					</xsl:choose>
> 				</xsl:if>
> 			</xsl:for-each>
> 		</tr>
> 	</xsl:template>
> 	
> 	<xsl:template name="relationshipDisplay">
> 		<xsl:param name="checkBoxString"/>
> 		<xsl:if
> test="contains($checkBoxString,'EENNDDHHEERREE')">
> 		<li>
> 			<xsl:value-of
>
select="substring-before($checkBoxString,'EENNDDHHEERREE')"/>
> 			</li>
> 			<xsl:call-template name="relationshipDisplay">
> 				<xsl:with-param name="checkBoxString"
>
select="substring-after($checkBoxString,'EENNDDHHEERREE')"/>
> 			</xsl:call-template>
> 		</xsl:if>
> 	</xsl:template>
> 
> 	<xsl:template name="confirmDeleteTemplate">
> 		<xsl:param name="sessionId"/>
> 		<xsl:param name="searchid"/>
> 		<xsl:param name="searchconfigid"/>
> 		<xsl:param name="configName"/>
> 		<xsl:param name="readMode"/>
> 		<xsl:param name="currentpage"/>
> 		<xsl:param name="horizontaldisplay"/>
> 		<xsl:param name="stylesheet"/>
> 		<xsl:param name="objectType"/>
> 		<xsl:param name="searchandclear"/>
> 		<xsl:param name="casesensitive"/>
> 		<xsl:param name="parent"/>
> 		<xsl:param name="xslFile"/>
> 		<xsl:param name="menu"/>
> 		<xsl:param name="extrainfo"/>
> 		<xsl:param name="csvprocessflow"/>
> 		<xsl:param name="objpermission"/>
> 		<xsl:param name="noOfRows"/>
> 		<table border="0" cellspacing="1" cellpadding="3"
> id="Data"
> style="margin-left:10px" width="90%"
> bgcolor="#CCCCCC">
> 			<form action="{$action}" method="post"
> name="confirmationDeletePageForm">
> 				<input type="hidden" name="action"
> value="delete"/>
> 				<input type="hidden" name="save" value="true"/>
> 				<input type="hidden" name="confirmdelete"
> value="true"/>
> 				<input type="hidden" name="sessionId"
> value="{$sessionId}"/>
> 				<input type="hidden" name="search"
> value="{$searchid}"/>
> 				<input type="hidden" name="searchconfigid"
> value="{$searchconfigid}"/>
> 				<input type="hidden" name="configName"
> value="{$configName}"/>
> 				<input type="hidden" name="readMode"
> value="{$readMode}"/>
> 				<input type="hidden" name="horizontaldisplay"
> value="{$horizontaldisplay}"/>
> 				<input type="hidden" name="page"
> value="{$currentpage}"/>
> 				<input type="hidden" name="currentpage"
> value="{$currentpage}"/>
> 				<input type="hidden" name="filter"
> value="true"/>
> 				<input type="hidden" name="searchandclear"
> value="{$searchandclear}"/>
> 				<input type="hidden" name="casesensitive"
> value="{$casesensitive}"/>
> 				<input type="hidden" name="parent"
> value="{$parent}"/>
> 				<input type="hidden" name="xslFile"
> value="{$xslFile}"/>
> 				<input type="hidden" name="stylesheet"
> value="{$stylesheet}"/>
> 				<input type="hidden" name="style"
> value="{$xslFile}"/>
> 				<input type="hidden" name="exec" value="1"/>
> 				<input type="hidden" name="menu"
> value="{$menu}"/>
> 				<input type="hidden" name="extrainfo"
> value="{$extrainfo}"/>
> 				<input type="hidden" name="csvprocessflow"
> value="{$csvprocessflow}"/>
> 				<input type="hidden" name="noOfRows"
> value="{$noOfRows}"/>
> 				<input type="hidden" name="type"
> value="{$objectType}"/>
> 				<xsl:call-template name="displayHeader2">
> 					<xsl:with-param name="readMode"
> select="$readMode"/>
> 					<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 					<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 					<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 					<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 					<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 					<xsl:with-param name="menu" select="$menu"/>
> 					<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 					<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 				</xsl:call-template>
> 				<xsl:for-each select="//Error">
> 					<xsl:if test="@type='Composition' or
> @type='Aggregation' or
> @type='Association'">
> 						<xsl:variable name="valOfType" select="."/>
> 						<xsl:variable name="parentobj"
> select="substring-before($valOfType,':')"/>
> 						<xsl:variable name="valOfType"
> select="substring-after($valOfType,':')"/>
> 						<xsl:variable name="parentobjIns"
> select="substring-before($valOfType,':')"/>
> 						<xsl:variable name="valOfType"
> select="substring-after($valOfType,':')"/>
> 						<xsl:variable name="childobj"
> select="substring-before($valOfType,':')"/>
> 						<xsl:variable name="childobjIns"
> select="substring-after($valOfType,':')"/>
> 						<xsl:variable name="checkboxEnable">
> 							<xsl:for-each select="//Error">
> 								<xsl:variable name="objInst"
>
select="substring-before(substring-after((//Error),':'),':')"/>
> 								<xsl:if test="$objInst= $parentobjIns">
> 									<xsl:if test="@type = 'Aggregation'">
> 										<xsl:value-of select="'disable'"/>
> 									</xsl:if>
> 								</xsl:if>
> 							</xsl:for-each>
> 						</xsl:variable>
> 						<!--
>
**********************************************************************************************************
> 				<b>Parent OBject</b>
> 				<xsl:value-of select="$parentobj"/>,
> 				<b>Parent Object Instance</b>
> 				<xsl:value-of select="$parentobjIns"/>,
> 				<b>Child Object</b>
> 				<xsl:value-of select="$childobj"/>,
> 				<b>Child Object Instance</b>
> 				<xsl:value-of select="$childobjIns"/>.<br/>
>
***********************************************************************************************************-->
> 						<xsl:variable name="pos" select="position()"/>
> 						<xsl:variable name="tempFlagForProcessing">
> 							<xsl:if test="$pos!=0">
> 								<xsl:variable name="prevobjInst"
>
select="substring-before(substring-after((//Error[position()=$pos
> -
> 1]),':'),':')"/>
> 								<xsl:if test="$parentobjIns = $prevobjInst">
> 									<xsl:value-of select="'false'"/>
> 								</xsl:if>
> 							</xsl:if>
> 						</xsl:variable>
> 						<xsl:variable name="checkBoxString">
> 							<xsl:if test="$tempFlagForProcessing= ''">
> 								<xsl:call-template name="parseError">
> 									<xsl:with-param name="objectid"
> select="$parentobjIns"/>
> 								</xsl:call-template>
> 							</xsl:if>
> 						</xsl:variable>
> 						<xsl:call-template
> name="confirmationPageForDelete">
> 							<xsl:with-param name="readMode"
> select="$readMode"/>
> 							<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 							<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 							<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 							<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 							<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 							<xsl:with-param name="menu" select="$menu"/>
> 							<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 							<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 							<xsl:with-param name="RecordsNotFound"
> select="''"/>
> 							<xsl:with-param name="objpermission"
> select="$objpermission"/>
> 							<xsl:with-param name="parentobjIns"
> select="$parentobjIns"/>
> 							<xsl:with-param name="tempFlagForProcessing"
> select="$tempFlagForProcessing"/>
> 							<xsl:with-param name="checkboxEnable"
> select="$checkboxEnable"/>
> 							<xsl:with-param name="checkBoxString"
> select="$checkBoxString"/>
> 						</xsl:call-template>
> 					</xsl:if>
> 				</xsl:for-each>
> 			</form>
> 		</table>
> 		<br/>
> 		<br/>
> 		<table border="0" cellspacing="0" cellpadding="3"
> id="Data"
> style="margin-left:10px" bgcolor="#CCCCCC">
> 			<tr>
> 				<xsl:call-template name="addparenttemplate">
> 					<xsl:with-param name="parent"
> select="$parent"/>
> 					<xsl:with-param name="session"
> select="$session"/>
> 					<xsl:with-param name="menu" select="$menu"/>
> 				</xsl:call-template>
> 				<xsl:variable name="submitType">
> 					<xsl:call-template name="FormSubmitTemplate">
> 						<xsl:with-param name="frames"
> select="$FRAMES"/>
> 						<xsl:with-param name="frmobj"
>
select="'window.document.confirmationDeletePageForm'"/>
> 					</xsl:call-template>
> 				</xsl:variable>
> 				<td>
> 					<img src="{$DMT_IMAGES}/deletion.gif"
> alt="Delete" border="0"
>
onclick="javascript:multipleDeleteForDeletionIntegrity();"
> style="cursor:hand"/>
> 				</td>
> 			</tr>
> 		</table>
> 	</xsl:template>
> 	<xsl:template name="parseError">
> 		<xsl:param name="objectid"/>
> 		<xsl:for-each select="//Error">
> 			<xsl:variable name="objInst"
>
select="substring-before(substring-after((.),':'),':')"/>
> 			<xsl:if test="$objInst = $objectid">
> <!--				<xsl:value-of select="$objectid"/>-->
> 				<xsl:value-of select="' This record is related
> with '"/>
> 				<xsl:variable name="objInst2"
>
select="substring-after(substring-after(substring-after((.),':'),':'),':')"/>
> 				<xsl:variable name="obj2"
>
select="substring-before(substring-after(substring-after((.),':'),':'),':')"/>
> 				<xsl:value-of select="$objInst2"/>
> 				<xsl:value-of select="' of '"/>
> 				<xsl:value-of select="$obj2"/>
> 				<xsl:value-of select="' as '"/>
> 				<xsl:value-of select="@type"/>
> 				<xsl:value-of select="' EENNDDHHEERREE '"/>
> 			</xsl:if>
> 		</xsl:for-each>
> 	</xsl:template>
> 
> 	
> 	<xsl:template name="displaytable">
> 		<xsl:param name="configName"/>
> 		<xsl:param name="stylesheet"/>
> 		<xsl:param name="searchandclear"/>
> 		<xsl:param name="parent"/>
> 		<xsl:param name="casesensitive"/>
> 		<xsl:param name="readMode"/>
> 		<xsl:param name="horizontaldisplay"/>
> 		<xsl:param name="xslFile"/>
> 		<xsl:param name="menu"/>
> 		<xsl:param name="extrainfo"/>
> 		<xsl:param name="csvprocessflow"/>
> 		<xsl:variable name="sessionId"
> select="//Header/sessionId"/>
> 		<xsl:variable name="searchid"
> select="//search/sdmsearch/searchid"/>
> 		<xsl:variable name="searchconfigid"
> select="//search/sdmsearch/searchconfigid"/>
> 		<xsl:variable name="objectName"
>
select="//search/sdmsearch/sdmsearchobject/objectname"/>
> 		<xsl:variable name="currentpage"
> select="//search/SearchResult/@CurrentPage"/>
> 		<xsl:variable name="noOfRows"
> select="//search/sdmsearch/rowsperpage"/>
> 		<xsl:variable name="objectType">
> 			<xsl:value-of
> select="//search/SearchResult/@schemaalias"/>
> 		</xsl:variable>
> 		<xsl:variable name="totalpages"
> select="//search/SearchResult/@Pages + 1"/>
> 		<xsl:variable name="objpermission"
> select="//search/sdmsearch/distinctsearch"/>
> 		<xsl:variable name="prevRowsExisting"
> select="//search/SearchResult/@RecordCount"/>
> 		<xsl:variable name="RecordsNotFound"
>
select="not(//search/SearchResult/sdmsearchresult)"/>
> 		<xsl:variable name="errormsg">
> 			<xsl:for-each select="//Header/Error">
> 				<xsl:if test="not(contains(text(),'session'))">
> 					<xsl:value-of select="."/>
> 				</xsl:if>
> 			</xsl:for-each>
> 			<xsl:for-each select="//Message/Error">
> 				<xsl:if test="not(contains(text(),'session'))">
> 					<xsl:value-of select="."/>
> 				</xsl:if>
> 			</xsl:for-each>
> 		</xsl:variable>
> 		<html>
> 			<head>
> 				<link rel="stylesheet" type="text/css"
> href="{$stylesheet}"/>
> 				<script language="Javascript"
> src="dmt/docs/js/calender.js"/>
> 				<script language="Javascript"
> src="dmt/docs/js/DateScripts.js"/>
> 				<script language="Javascript"
> src="dmt/docs/js/customvalidations.js"/>		
> 				<xsl:call-template name="fsclientjs"/>
> 			</head>
> 			<xsl:call-template name="JavaScriptFunctions"/>
> 			
> 			<body>
> 				<!--Calling the  Result template-->
> 				<!--				<div id="contentd" style="position:
> relative; top:
> 0px;left: 0px;  width: 700px; overflow-y:
> scroll;overflow-x: scroll;"> </div>-->
> 				<xsl:variable name="headerEnable">
> 					<xsl:call-template name="menutemplate">
> 						<xsl:with-param name="menuvalue"
> select="$menu"/>
> 						<xsl:with-param name="menuname"
> select="$HEADER"/>
> 					</xsl:call-template>
> 				</xsl:variable>
> 				<xsl:choose>
> 					<xsl:when test="string($headerEnable)='true'">
> 						<xsl:variable name="headername">
> 							<xsl:value-of select="'Data Maintenance -
> '"/>
> 							<xsl:value-of select="$configName"/>
> 						</xsl:variable>
> 						<xsl:call-template name="header">
> 							<xsl:with-param name="headerName"
> select="$headername"/>
> 						</xsl:call-template>
> 					</xsl:when>
> 					<xsl:otherwise>
> 						<xsl:choose>
> 							<xsl:when
> test="contains($parent,'configName')">
> 								<h1>
> 									<xsl:value-of select="'Parent Table'"/>
> 								</h1>
> 							</xsl:when>
> 							<xsl:otherwise>
> 								<h1>
> 									<xsl:value-of select="$extrainfo"/>
> 								</h1>
> 							</xsl:otherwise>
> 						</xsl:choose>
> 					</xsl:otherwise>
> 				</xsl:choose>
> 				<br/>
> 				<xsl:if test="string($errormsg)!=''">
> 					<xsl:variable name="tempFlag">
> 						<xsl:for-each select="//Error">
> 							<xsl:variable name="valvar" select="@type"/>
> 							<xsl:if test="contains($valvar,'Composition')
> or
> contains($valvar,'Aggregation') or
> contains($valvar,'Association')">
> 								<xsl:value-of select="'true'"/>
> 							</xsl:if>
> 						</xsl:for-each>
> 					</xsl:variable>
> 					<xsl:choose>
> 
> 						<xsl:when test="string($tempFlag)!=''">
> 						
> 
> 						
> 					<xsl:variable name="currParent"
>
select="concat($parent,'|style-',$xslFile,'^action-startprocess^process-dmtconfigname_lastpage^horizontaldisplay-',$horizontaldisplay,'^casesensitive-',$casesensitive,'^stylesheet-',$stylesheet,'^configName-',$configName,'^noOfRows-',$noOfRows,'^readMode-',$readMode,'^extrainfo-',$extrainfo,'^csvprocessflow-',$csvprocessflow,'^searchandclear-',$searchandclear,'^filter-true^update-true^lastpage-',$currentpage,'^menu-',$menu,'^!')"/>
> 		
> 							<xsl:call-template
> name="confirmDeleteTemplate">
> 								<xsl:with-param name="configName"
> select="$configName"/>
> 								<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 								<xsl:with-param name="readMode"
> select="$readMode"/>
> 								<xsl:with-param name="sessionId"
> select="$sessionId"/>
> 								<xsl:with-param name="searchid"
> select="$searchid"/>
> 								<xsl:with-param name="searchconfigid"
> select="$searchconfigid"/>
> 								<xsl:with-param name="currentpage"
> select="$currentpage"/>
> 								<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 								<xsl:with-param name="objectType"
> select="$objectType"/>
> 								<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 								<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 								<xsl:with-param name="parent"
> select="$currParent"/>
> 								<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 								<xsl:with-param name="menu" select="$menu"/>
> 								<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 								<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 								<xsl:with-param name="objpermission"
> select="$objpermission"/>
> 								<xsl:with-param name="noOfRows"
> select="$noOfRows"/>
> 							</xsl:call-template>
> 				
> 						</xsl:when>
> 						<xsl:otherwise>
> 							<center>
> 								<font style="{$ERRORMSG}">
> 									<xsl:choose>
> 										<xsl:when
> test="contains($errormsg,'Session Expired')">
> 										Session Expired <a
> href="javascript:sessionRefresh();">Re Login</a>
> 								</xsl:when>
> 										<xsl:otherwise>
> 											<xsl:value-of select="'Error  : '"/>
> 											<xsl:value-of select="$errormsg"/>
> 											<xsl:variable name="newURL">
> 												<xsl:call-template
> name="AnchorSubmitTemplate">
> 													<xsl:with-param name="URL"
>
select="concat($action,'?action=startprocess&amp;process=dmtgetsearchfilterandresultwithconfigname&amp;menu=',//Header/menu,'&amp;readMode=',//Header/readMode,'&amp;search=',//Header/search,'&amp;searchconfigid=',//Header/searchconfigid,'&amp;extrainfo=',//Header/extrainfo,'&amp;sessionId=',//Header/sessionId,'&amp;parent=',//Header/parent,'&amp;horizontaldisplay=',//Header/horizontaldisplay,'&amp;configName=',//Header/configName,'&amp;stylesheet=',//Header/stylesheet,'&amp;searchandclear=',//Header/searchandclear,'&amp;noOfRows=',//Header/noOfRows,'&amp;currentpage=',//Header/currentpage,'&amp;casesensitive=',//Header/casesensitive,'&amp;style=',//Header/xslFile,'&amp;filter=true&amp;update=true&amp;csvprocessflow=',//Header/csvprocessflow)"/>
> 													<xsl:with-param name="frames"
> select="$FRAMES"/>
> 												</xsl:call-template>
> 											</xsl:variable>
> 											<br/>
> 											<br/>
> 											<xsl:variable name="newURL2">
> 												<xsl:call-template
> name="AnchorSubmitTemplate">
> 													<xsl:with-param name="URL"
>
select="concat($action,'?action=startprocess&amp;process=dmtgetsearchresult_page&amp;menu=',//Header/menu,'&amp;readMode=',//Header/readMode,'&amp;search=',//Header/search,'&amp;searchconfigid=',//Header/searchconfigid,'&amp;extrainfo=',//Header/extrainfo,'&amp;sessionId=',//Header/sessionId,'&amp;parent=',//Header/parent,'&amp;horizontaldisplay=',//Header/horizontaldisplay,'&amp;configName=',//Header/configName,'&amp;stylesheet=',//Header/stylesheet,'&amp;searchandclear=',//Header/searchandclear,'&amp;noOfRows=',//Header/noOfRows,'&amp;currentpage=',//Header/currentpage,'&amp;casesensitive=',//Header/casesensitive,'&amp;style=',//Header/xslFile,'&amp;filter=true&amp;update=true&amp;csvprocessflow=',//Header/csvprocessflow)"/>
> 													<xsl:with-param name="frames"
> select="$FRAMES"/>
> 												</xsl:call-template>
> 											</xsl:variable>
> 											<br/>
> 											<br/>
> 											<xsl:choose>
> 												<xsl:when
> test="//Header/action='getsearchresult'">
> 													<a href="{$newURL}">
> 														<img src="images/dmt/back.gif"
> alt="Back"
> style="cursor:hand" border="0"/>
> 													</a>
> 												</xsl:when>
> 												<xsl:otherwise>
> 													<a href="{$newURL2}">
> 														<img src="images/dmt/back.gif"
> alt="Back"
> style="cursor:hand" border="0"/>
> 													</a>
> 												</xsl:otherwise>
> 											</xsl:choose>
> 										</xsl:otherwise>
> 									</xsl:choose>
> 								</font>
> 							</center>
> 							<br/>
> 						</xsl:otherwise>
> 					</xsl:choose>
> 				</xsl:if>
> 				<xsl:variable name="filterEnable">
> 					<xsl:call-template name="menutemplate">
> 						<xsl:with-param name="menuvalue"
> select="$menu"/>
> 						<xsl:with-param name="menuname"
> select="$SEARCHFILTER"/>
> 					</xsl:call-template>
> 				</xsl:variable>
> 				<!--			<xsl:if test="string(//Header/Error)">
> 			<xsl:if
> test="self::node()[@type!='integrityError']">
> 				<font color="red">
> 					<b>Error: </b><xsl:value-of
> select="//Header/Error"/>
> 				</font><br/>
> 				</xsl:if>
> 			</xsl:if>-->
> 				<!--				<xsl:if test="string(//Message/Error)">
> 				<font color="red">
> 					<b>Error: </b><xsl:value-of
> select="//Message/Error"/>
> 				</font>
> 				</xsl:if>-->
> 				<xsl:if test="string($errormsg)=''">
> 					<xsl:if test="string(//Header/process) =
> 'dmtaddnewrows' or
> string(//Header/process) = 'dmtcreatenewrows'">
> 						<script language="javascript">
> 							insertConfirmation();
> 						</script>
> 						</xsl:if>
> 					<xsl:if test="string($filterEnable)='true'">
> 						<table border="0" cellspacing="0"
> cellpadding="0" id="Filter"
> style="margin-left:10px">
> 							<xsl:call-template
> name="filterDisplayTemplate">
> 								<xsl:with-param name="configName"
> select="$configName"/>
> 								<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 								<xsl:with-param name="readMode"
> select="$readMode"/>
> 								<xsl:with-param name="sessionId"
> select="$sessionId"/>
> 								<xsl:with-param name="searchid"
> select="$searchid"/>
> 								<xsl:with-param name="searchconfigid"
> select="$searchconfigid"/>
> 								<xsl:with-param name="currentpage"
> select="$currentpage"/>
> 								<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 								<xsl:with-param name="objectType"
> select="$objectType"/>
> 								<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 								<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 								<xsl:with-param name="parent"
> select="$parent"/>
> 								<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 								<xsl:with-param name="menu" select="$menu"/>
> 								<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 								<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 							</xsl:call-template>
> 						</table>
> 						<br/>
> 						<table border="0" cellspacing="0"
> cellpadding="0" id="Filter"
> style="margin-left:10px">
> 							<xsl:call-template
> name="displayimagesforsearch">
> 								<xsl:with-param name="configName"
> select="$configName"/>
> 								<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 								<xsl:with-param name="readMode"
> select="$readMode"/>
> 								<xsl:with-param name="sessionId"
> select="$sessionId"/>
> 								<xsl:with-param name="searchid"
> select="$searchid"/>
> 								<xsl:with-param name="searchconfigid"
> select="$searchconfigid"/>
> 								<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 								<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 								<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 								<xsl:with-param name="parent"
> select="$parent"/>
> 								<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 								<xsl:with-param name="menu" select="$menu"/>
> 								<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 								<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 							</xsl:call-template>
> 						</table>
> 						<br/>
> 					</xsl:if>
> 					<!--				<table border="5" cellspacing="0"
> cellpadding="0" 
> id="Data" style="margin-left:10px">-->
> 					<table border="0" cellspacing="1"
> cellpadding="3" id="Data"
> style="margin-left:10px" width="97%"
> bgcolor="#CCCCCC">
> 						<xsl:call-template
> name="resultDisplayTemplate">
> 							<xsl:with-param name="configName"
> select="$configName"/>
> 							<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 							<xsl:with-param name="readMode"
> select="$readMode"/>
> 							<xsl:with-param name="sessionId"
> select="$sessionId"/>
> 							<xsl:with-param name="searchid"
> select="$searchid"/>
> 							<xsl:with-param name="searchconfigid"
> select="$searchconfigid"/>
> 							<xsl:with-param name="currentpage"
> select="$currentpage"/>
> 							<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 							<xsl:with-param name="objectType"
> select="$objectType"/>
> 							<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 							<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 							<xsl:with-param name="parent"
> select="$parent"/>
> 							<xsl:with-param name="noOfRows"
> select="$noOfRows"/>
> 							<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 							<xsl:with-param name="menu" select="$menu"/>
> 							<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 							<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 							<xsl:with-param name="RecordsNotFound"
> select="$RecordsNotFound"/>
> 							<xsl:with-param name="objpermission"
> select="$objpermission"/>
> 						</xsl:call-template>
> 					</table>
> 					<xsl:call-template name="navigationTemplate">
> 						<xsl:with-param name="configName"
> select="$configName"/>
> 						<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 						<xsl:with-param name="readMode"
> select="$readMode"/>
> 						<xsl:with-param name="sessionId"
> select="$sessionId"/>
> 						<xsl:with-param name="searchid"
> select="$searchid"/>
> 						<xsl:with-param name="searchconfigid"
> select="$searchconfigid"/>
> 						<xsl:with-param name="noOfRows"
> select="$noOfRows"/>
> 						<xsl:with-param name="currentpage"
> select="$currentpage"/>
> 						<xsl:with-param name="objectType"
> select="$objectType"/>
> 						<xsl:with-param name="totalpages"
> select="$totalpages"/>
> 						<xsl:with-param name="prevRowsExisting"
> select="$prevRowsExisting"/>
> 						<xsl:with-param name="objpermission"
> select="$objpermission"/>
> 						<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 						<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 						<xsl:with-param name="casesensitive"
> select="$casesensitive"/>
> 						<xsl:with-param name="parent"
> select="$parent"/>
> 						<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 						<xsl:with-param name="menu" select="$menu"/>
> 						<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 						<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 						<xsl:with-param name="RecordsNotFound"
> select="$RecordsNotFound"/>
> 					</xsl:call-template>
> 				</xsl:if>
> 				<script language="Javascript" defer="defer">
> 					function sessionRefresh(){
> 						var topLocationURL = top.location.href;
> 						top.location.href = topLocationURL;
> 					}
> 				</script>
> 				<xsl:call-template name="fscclosebody"/>
> 			</body>
> 		</html>
> 	</xsl:template>
> 	<xsl:template name="menutemplate">
> 		<xsl:param name="menuvalue"/>
> 		<xsl:param name="menuname"/>
> 		<xsl:variable name="menuenable">
> 			<xsl:value-of
> select="substring($menuvalue,$menuname,1)"/>
> 		</xsl:variable>
> 		<xsl:choose>
> 			<xsl:when
> test="string(normalize-space($menuenable))='1'">
> 				<xsl:value-of select="'true'"/>
> 			</xsl:when>
> 			<xsl:otherwise>
> 				<xsl:value-of select="'false'"/>
> 			</xsl:otherwise>
> 		</xsl:choose>
> 	</xsl:template>
> 
> 
> 	<xsl:variable name="FRAMES" select="'false'"/>	
> 	<xsl:output method="html" indent="yes"/>
> 	<xsl:template match="/Response">
> 		<xsl:variable name="configName"
> select="Header/configName"/>
> 		<xsl:variable name="stylesheet"
> select="Header/stylesheet"/>
> 		<xsl:variable name="searchandclear"
> select="Header/searchandclear"/>
> 		<xsl:variable name="parent"
> select="Header/parent"/>
> 		<xsl:variable name="casesensitive"
> select="Header/casesensitive"/>
> 		<xsl:variable name="xslFile"
> select="'dmt/docs/xsl/dmt.xsl'"/>
> 		<xsl:variable name="menu" select="Header/menu"/>
> 		<xsl:variable name="extrainfo"
> select="Header/extrainfo"/>
> 		<xsl:variable name="csvprocessflow"
> select="Header/csvprocessflow"/>
> 		<xsl:variable name="readMode">
> 			<xsl:choose>
> 				<xsl:when test="string(Header/readMode)">
> 					<xsl:value-of select="Header/readMode"/>
> 				</xsl:when>
> 				<xsl:otherwise>
> 					<xsl:value-of select="'1'"/>
> 				</xsl:otherwise>
> 			</xsl:choose>
> 		</xsl:variable>
> 		<xsl:variable name="horizontaldisplay">
> 			<xsl:choose>
> 				<xsl:when
> test="string(Header/horizontaldisplay)">
> 					<xsl:value-of
> select="Header/horizontaldisplay"/>
> 				</xsl:when>
> 				<xsl:otherwise>
> 					<xsl:value-of select="'1'"/>
> 				</xsl:otherwise>
> 			</xsl:choose>
> 		</xsl:variable>
> 		<xsl:call-template name="displaytable">
> 			<xsl:with-param name="configName"
> select="$configName"/>
> 			<xsl:with-param name="stylesheet"
> select="$stylesheet"/>
> 			<xsl:with-param name="searchandclear"
> select="$searchandclear"/>
> 			<xsl:with-param name="parent" select="$parent"/>
> 			<xsl:with-param name="casesensitive"
> select="$casesensitive"/>			
> 			<xsl:with-param name="readMode"
> select="$readMode"/>
> 			<xsl:with-param name="horizontaldisplay"
> select="$horizontaldisplay"/>
> 			<xsl:with-param name="xslFile"
> select="$xslFile"/>
> 			<xsl:with-param name="menu" select="$menu"/>
> 			<xsl:with-param name="extrainfo"
> select="$extrainfo"/>
> 			<xsl:with-param name="csvprocessflow"
> select="$csvprocessflow"/>
> 		</xsl:call-template>
> 	</xsl:template>
> 	
> </xsl:stylesheet>
> 
> 



		
__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 
http://my.yahoo.com 

Current Thread