Subject: [xsl] Number of Recursive XSL Templates exceeded --> XML - Part 5 From: Sundararaman S A <sundararaman.sa@xxxxxxxxx> Date: Thu, 9 Dec 2004 13:55:34 +0530 |
********************************************************************* XSL FILE - PART 4 ******************************************************************** <xsl:template name="filterDisplayTemplate"> <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"/> <form action="{$action}" method="post" name="filterDisplayTemplateForm"> <input type="hidden" name="header" value="true"/> <input type="hidden" name="action" value="getsearchresult"/> <input type="hidden" name="process" value="dmtupdatesearch"/> <input type="hidden" name="sessionId" value="{$sessionId}"/> <input type="hidden" name="id" 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="stylesheet" value="{$stylesheet}"/> <input type="hidden" name="horizontaldisplay" value="{$horizontaldisplay}"/> <input type="hidden" name="filter" value="true"/> <input type="hidden" name="update" value="true"/> <input type="hidden" name="type" value="{$objectType}"/> <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="style" value="{$xslFile}"/> <input type="hidden" name="menu" value="{$menu}"/> <input type="hidden" name="extrainfo" value="{$extrainfo}"/> <input type="hidden" name="csvprocessflow" value="{$csvprocessflow}"/> <xsl:apply-templates select="//sdmsearchobject/sdmsearchfilterobject"> <xsl:sort select="displayposition"/> <xsl:with-param name="searchandclear" select="$searchandclear"/> </xsl:apply-templates> <xsl:if test="string($casesensitive)!='0'"> <tr> <xsl:for-each select="/Response//sdmsearch/casesensitivity"> <xsl:variable name="cobjectname" select="name(..)"/> <xsl:variable name="cobjectid" select="../@id"/> <xsl:variable name="cfieldname" select="name()"/> <xsl:variable name="copenbrace" select="'['"/> <xsl:variable name="cclosebrace" select="']'"/> <xsl:variable name="cdot" select="'.'"/> <xsl:variable name="finalstrings"> <xsl:value-of select="concat($cobjectname,$copenbrace,$cobjectid,$cclosebrace,$cdot,$cfieldname)"/> </xsl:variable> <script language="javascript" defer="defer"> function caseSensitivity(checkboxer) { var docForms = window.document.forms; elems = window.document.filterDisplayTemplateForm.elements; for(i=0;i<docForms.length;i++) { var thisForm = docForms[i]; for (idxElement=0;idxElement<thisForm.elements.length;idxElement++) { var thisElement = thisForm.elements[idxElement]; if(thisElement.name=='<xsl:value-of select="$finalstrings"/>') { var gotElement = thisElement; } } } if(checkboxer.checked) gotElement .value =1; else gotElement .value = 0; } </script> <td>Case Sensitivity </td> <td> <input type="checkbox" name="makecaseinsensitive_cb"> <xsl:attribute name="onclick"><xsl:text>javascript:caseSensitivity(this);</xsl:text></xsl:attribute> <xsl:if test="/Response//sdmsearch/casesensitivity='1'"> <xsl:attribute name="checked">checked</xsl:attribute> </xsl:if> </input> <input> <xsl:attribute name="type"><xsl:value-of select="'hidden'"/></xsl:attribute> <xsl:attribute name="name"><xsl:value-of select="$finalstrings"/></xsl:attribute> <xsl:choose> <xsl:when test="/Response//sdmsearch/casesensitivity='1'"> <xsl:attribute name="value">1</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="value">0</xsl:attribute> </xsl:otherwise> </xsl:choose> </input> </td> </xsl:for-each> </tr> </xsl:if> </form> </xsl:template> <xsl:template name="findValue"> <xsl:param name="separator"/> <xsl:param name="separator2"/> <xsl:param name="separator3"/> <xsl:param name="lovs"/> <xsl:if test="contains($lovs, $separator)"> <xsl:value-of select="substring-before($lovs, $separator)"/> <xsl:variable name="tempLovs"> <xsl:value-of select="substring-after($lovs,$separator2)"/> </xsl:variable> <xsl:if test="contains($tempLovs, $separator)"> <xsl:value-of select="$separator3"/> </xsl:if> </xsl:if> <xsl:if test="contains($lovs, $separator2)"> <xsl:call-template name="findValue"> <xsl:with-param name="lovs" select="substring-after($lovs,$separator2)"/> <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:if> </xsl:template> <xsl:template name="findDomain"> <xsl:param name="separator"/> <xsl:param name="separator2"/> <xsl:param name="separator3"/> <xsl:param name="lovs"/> <xsl:if test="contains($lovs, $separator)"> <xsl:variable name="tempLovs0"> <xsl:value-of select="substring-after($lovs,$separator)"/> </xsl:variable> <xsl:value-of select="substring-before($tempLovs0, $separator2)"/> <xsl:variable name="tempLovs"> <xsl:value-of select="substring-after($lovs,$separator2)"/> </xsl:variable> <xsl:if test="contains($tempLovs, $separator)"> <xsl:value-of select="$separator3"/> </xsl:if> </xsl:if> <xsl:if test="contains($lovs, $separator2)"> <xsl:call-template name="findDomain"> <xsl:with-param name="lovs" select="substring-after($lovs,$separator2)"/> <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:if> </xsl:template> <xsl:template name="resultDisplayTemplateVertical"> <xsl:param name="readMode"/> <xsl:param name="url1"/> <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="currentpage"/> <xsl:param name="parent"/> <xsl:param name="configName"/> <xsl:param name="searchid"/> <xsl:param name="searchconfigid"/> <xsl:variable name="currentdate" select="//sdmsearch/@currentdate"/> <xsl:variable name="orderbylist" select="//orderbylist"/> <xsl:variable name="modifiedby" select="//Response/Header/workflowresponse/userid"/> <xsl:variable name="copyImageEnable"> <xsl:call-template name="menutemplate"> <xsl:with-param name="menuvalue" select="$menu"/> <xsl:with-param name="menuname" select="$COPYINSERT"/> </xsl:call-template> </xsl:variable> <xsl:variable name="deleteImageEnable"> <xsl:call-template name="menutemplate"> <xsl:with-param name="menuvalue" select="$menu"/> <xsl:with-param name="menuname" select="$DELETE"/> </xsl:call-template> </xsl:variable> <xsl:variable name="tempflag"> <xsl:choose> <xsl:when test="string($copyImageEnable)='true' or string($deleteImageEnable)='true' or (string($objpermission)='4' and (string($copyImageEnable)='true' or string($deleteImageEnable)='true'))"> <xsl:value-of select="'true'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="'false'"/> </xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="pKey" select="name(//search/SearchResult/sdmsearchresult[1]//*[@id])"/> <xsl:variable name="objectName"> <xsl:for-each select="//search/SearchResult/sdmsearchresult[1]//*[@id]"> <xsl:value-of select="name(..)"/> </xsl:for-each> </xsl:variable> <input type="hidden" name="pKey" value="{$pKey}"/> <input type="hidden" name="objectName" value="{$objectName}"/> <input type="hidden" name="type" value="{$objectName}"/> <xsl:variable name="container" select="//search/SearchResult/sdmsearchresult"/> <xsl:if test="string($container)"> <xsl:if test="string($readMode)!='1'"> <tr> <xsl:if test="string($tempflag)='true'"> <td class="contentHeaderRow" align="left"> <input type="checkbox" name="topcheckbox" value="" onclick="javascript:selectAllCheckBoxes()" size="10" style="width:13px;height:13px;"/> </td> </xsl:if> <xsl:for-each select="$container"> <xsl:variable name="pos" select="count(preceding-sibling::*) + 1"/> <xsl:variable name="primarykey_value" select="*//*[string(@id)!='']/@id"/> <xsl:choose> <xsl:when test="position() mod 2 = 1"> <xsl:if test="string($tempflag)='true'"> <td class="alternateRow1" align="left"> <input type="checkbox" name="id" value="{$primarykey_value}" style="width:13px;height:13px;"/> </td> </xsl:if> </xsl:when> <xsl:otherwise> <xsl:if test="string($tempflag)='true'"> <td class="alternateRow2" align="left"> <input type="checkbox" name="id" value="{$primarykey_value}" style="width:13px;height:13px;"/> </td> </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:for-each> </tr> </xsl:if> </xsl:if> <xsl:for-each select="$container[1]"> <xsl:for-each select=".//*[@hide]"> <xsl:sort select="@displayposition" data-type="number"/> <xsl:value-of select="$orderbylist"/> <xsl:variable name="sortOrd"> <xsl:call-template name="findTheOrdering"> <xsl:with-param name="sortCol" select="@searchinfoconfigid"/> <xsl:with-param name="orderbylist" select="$orderbylist"/> </xsl:call-template> </xsl:variable> <xsl:variable name="sortUrl"> <xsl:call-template name="AnchorSubmitTemplate"> <xsl:with-param name="URL" select="concat($action,'?action=startprocess&process=dmtsort&sortCol=',@searchinfoconfigid,'&sortOrd=',$sortOrd,'&searchid=',$searchid,'&sessionId=',$session,'&readMode=',$readMode,'&page1=',$currentpage,'&parent=',$parent,'&xslFile=',$xslFile,'&menu=',$menu,'&extrainfo=',$extrainfo,'&csvprocessflow=',$csvprocessflow,'&configName=',$configName,'&horizontaldisplay=',$horizontaldisplay,'&casesensitive=',$casesensitive,'&searchandclear=',$searchandclear,'&stylesheet=',$stylesheet,'&style=',$xslFile,'&filter=true&header=true')"/> <xsl:with-param name="frames" select="$FRAMES"/> </xsl:call-template> </xsl:variable> <xsl:if test="@domain"> <xsl:variable name="pos" select="count(preceding-sibling::*) + 1"/> <xsl:if test="string(@hide)!='1'"> <xsl:text disable-output-escaping="yes"><![CDATA[<tr>]]></xsl:text> </xsl:if> <xsl:choose> <xsl:when test="string(@hide)='1'"> </xsl:when> <xsl:when test="string(@returnchildname) != '' and not(string($readMode)='1')"> <td class="contentHeaderRow" width="18%"> <table id="GenericDataFull" width="20%"> <tr> <xsl:variable name="newURL"> <xsl:call-template name="AnchorSubmitTemplate"> <xsl:with-param name="URL" select="concat($action,'?action=startprocess&process=dmtgetsearchfilterandresultwithconfigname&sessionId=',$session,'&stylesheet=',$stylesheet,'&configName=',@returnchildname,'&style=',$xslFile,'&readMode=0&parent=',$url1,'&casesensitive=',$casesensitive,'&menu=',$menu,'&extrainfo=',$extrainfo,'&csvprocessflow=',$csvprocessflow,'&searchandclear=',$searchandclear,'&horizontaldisplay=',$horizontaldisplay)"/> <xsl:with-param name="frames" select="$FRAMES"/> </xsl:call-template> </xsl:variable> <td class="contentHeaderRow" width="18%"> <a href="{$newURL}"> <img src="{$DMT_IMAGES}/addParent.gif" alt="Add Parent" border="0"/> </a> </td> <td class="contentHeaderRow" width="18%"> <a href="{$sortUrl}" onclick="javascript:DisableLinks('{@displayname}');"> <b> <xsl:value-of select="normalize-space(@displayname)"/> </b> </a> </td> </tr> </table> </td> </xsl:when> <xsl:otherwise> <td class="contentHeaderRow" width="18%"> <a href="{$sortUrl}" onclick="javascript:DisableLinks('{@displayname}');"> <xsl:value-of select="normalize-space(@displayname)"/> </a> </td> </xsl:otherwise> </xsl:choose> <xsl:variable name="objectname" select="name(..)"/> <xsl:for-each select="$container//*[position()=$pos and @hide]"> <xsl:variable name="primarykey_value" select="../*[string(@id)!='']/@id"/> <xsl:variable name="object" select="concat($objectname,'[',$primarykey_value,'].')"/> <xsl:variable name="fieldname" select="normalize-space(concat($object,name(.)))"/> <xsl:variable name="fieldvalue" select="normalize-space(text())"/> <xsl:variable name="columnName" select="name(.)"/> <!-- Lov calculation starts here --> <xsl:variable name="lovs"> <xsl:for-each select="//search/SearchHeader//*"> <xsl:if test="$columnName = name(.)"> <xsl:value-of select="@domain"/> </xsl:if> </xsl:for-each> </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:if test="string(@hide)!='1'"> <xsl:choose> <xsl:when test="position() mod 2 = 1"> <xsl:text disable-output-escaping="yes"><![CDATA[<td class="alternateRow1">]]></xsl:text> </xsl:when> <xsl:otherwise> <xsl:text disable-output-escaping="yes"><![CDATA[<td class="alternateRow2">]]></xsl:text> </xsl:otherwise> </xsl:choose> </xsl:if> <xsl:choose> <xsl:when test="@hide='1'"> <input type="hidden" name="{$fieldname}" value="{$fieldvalue}"/> </xsl:when> <xsl:when test="@pageview='1' or string($readMode) = '1'"> <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>--> </xsl:variable> <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> <xsl:value-of select="$valuetemp"/> <xsl:text disable-output-escaping="yes">&nbsp;&nbsp;</xsl:text> <input type="hidden" name="{$fieldname}" value="{$valuetemp}"/> </xsl:when> <xsl:otherwise> <input type="hidden" name="{$fieldname}" value="{$fieldvalue}"/> <xsl:value-of select="$fieldvalue"/> <xsl:text disable-output-escaping="yes">&nbsp;&nbsp;</xsl:text> </xsl:otherwise> </xsl:choose> </xsl:when> <xsl:when test="@domain!=''"> <xsl:call-template name="selectbox2"> <xsl:with-param name="domain" select="$lovsValue"/> <xsl:with-param name="desc" select="$lovsDomain"/> <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:with-param name="primarykey_value" select="$primarykey_value"/> <xsl:with-param name="currentdate" select="$currentdate"/> <xsl:with-param name="modifiedby" select="$modifiedby"/> <xsl:with-param name="objectname" select="$objectname"/> </xsl:call-template> </xsl:when> <xsl:otherwise> <table id="Data" cellpadding="0" cellspacing="0"><tr><td> <xsl:choose> <xsl:when test="string(@format)!=''"> <input type="text" size="10" name="{$fieldname}" value="{$fieldvalue}" onchange="javascript:validate('{$primarykey_value}','{$currentdate}','{$modifiedby}','{$objectname}')"/> <xsl:text disable-output-escaping="yes"><![CDATA[<a href="]]></xsl:text> <xsl:text disable-output-escaping="yes"><![CDATA[javascript:openDateWindow(document.resultDisplayTemplateForm[]]></xsl:text> <xsl:text disable-output-escaping="yes"><![CDATA[']]></xsl:text> <xsl:value-of select="$fieldname"/> <xsl:text disable-output-escaping="yes"><![CDATA['],'',']]></xsl:text> <xsl:value-of select="@format"/> <xsl:text disable-output-escaping="yes"><![CDATA[','','true','',']]></xsl:text> <xsl:value-of select="$primarykey_value"/> <xsl:text disable-output-escaping="yes"><![CDATA[',']]></xsl:text> <xsl:value-of select="$currentdate"/> <xsl:text disable-output-escaping="yes"><![CDATA[',']]></xsl:text> <xsl:value-of select="$modifiedby"/> <xsl:text disable-output-escaping="yes"><![CDATA[',']]></xsl:text> <xsl:value-of select="$objectname"/> <xsl:text disable-output-escaping="yes"><![CDATA[','1']]></xsl:text> <xsl:text disable-output-escaping="yes"><![CDATA[);">]]></xsl:text> <img src="{$DMT_IMAGES}/calendar.gif" alt="Calendar" border="0"/> <xsl:text disable-output-escaping="yes"><![CDATA[</a>]]></xsl:text> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="string(@id)!=''"> <xsl:value-of select="$fieldvalue"/> <input type="hidden" name="{$fieldname}" value="{$fieldvalue}"/> </xsl:when> <xsl:otherwise> <input type="text" name="{$fieldname}" value="{$fieldvalue}" onchange="javascript:validate('{$primarykey_value}','{$currentdate}','{$modifiedby}','{$objectname}')"/> </xsl:otherwise> </xsl:choose> </xsl:otherwise> </xsl:choose> </td></tr></table> </xsl:otherwise> </xsl:choose> <xsl:if test="string(@hide)!='1'"> <xsl:text disable-output-escaping="yes"><![CDATA[</td>]]></xsl:text> </xsl:if> </xsl:for-each> <xsl:if test="string(@hide)!='1'"> <xsl:text disable-output-escaping="yes"><![CDATA[</tr>]]></xsl:text> </xsl:if> </xsl:if> </xsl:for-each> </xsl:for-each> <xsl:if test="$RecordsNotFound"> <font color="red" size="2"><xsl:value-of select="$RECORDSNOTFOUND"/></font> </xsl:if> </xsl:template>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Number of Recursive XSL Templ, Sundararaman S A | Thread | [xsl] Number of Recursive XSL Templ, Sundararaman S A |
[xsl] Number of Recursive XSL Templ, Sundararaman S A | Date | [xsl] Number of Recursive XSL Templ, Sundararaman S A |
Month |