PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3133

*** shadow/3133 Wed Aug 15 10:44:48 2001
--- shadow/3133.tmp.19747       Fri Aug 17 10:06:45 2001
***************
*** 26,29 ****
  
  ------- Additional Comments From [EMAIL PROTECTED]  2001-08-15 10:44 -------
  Actually, I'm not so sure this is a bug. Could you please include your entire 
! stylesheet so we can have a look? 
--- 26,997 ----
  
  ------- Additional Comments From [EMAIL PROTECTED]  2001-08-15 10:44 -------
  Actually, I'm not so sure this is a bug. Could you please include your entire 
! stylesheet so we can have a look? 
! 
! ------- Additional Comments From [EMAIL PROTECTED]  2001-08-17 10:06 -------
! Stylesheet follows:
! 
! <?xml version="1.0"?>
! <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
! <xsl:output method="html"/>
! <xsl:template match="/">
! <!--*************************************************-->
! <!--*************************************************-->
! <!-- This is a WIP, remove comments prior to release -->
! <!--*************************************************-->
! <!--*************************************************-->
!       <html>
!               <head>
!                       <TITLE></TITLE>
!                       <xsl:call-template name="attachScript" />
!               </head>
!               <body background="back.gif">
!               <xsl:choose>
!                       <xsl:when test="form">
!                               <xsl:attribute name="onload">initThisForm()
! </xsl:attribute>
!                               <a name="top"/>
!                       </xsl:when>
!               </xsl:choose>&#xA;
!               <FORM>&#xA;
!               <xsl:choose>
!                       <xsl:when test="form">
!                               <xsl:apply-templates select="form" />
!                       </xsl:when>
!                       <xsl:otherwise>
!                               <xsl:value-of select="name()"/>
!                       </xsl:otherwise>
!               </xsl:choose>&#xA;
!               </FORM>
!               </body>
!       </html>
! </xsl:template>
! 
! <!--********** FORM Match ******************-->
! <xsl:template match="form">
! 
!       <!-- Apply form templates -->
!       <xsl:if test="/form/PATH">
!               <xsl:apply-templates select="PATH"/>
!       </xsl:if>
! 
!       <xsl:if test="/form/toolbar">
!               <xsl:apply-templates select="toolbar"/>
!       </xsl:if>
!       <xsl:if test="/form/menu">
!               <xsl:apply-templates select="/form/menu"/>
!       </xsl:if>
! 
!       <xsl:call-template name="flds">
!               <xsl:with-param name="rows">
!                       <xsl:value-of select="/form/*[not(@row=preceding-
! sibling::*/@row)]/@row"/>
!               </xsl:with-param>
!               <xsl:with-param name="startnode">
!                       <xsl:value-of select="/form"/>
!               </xsl:with-param>
!       </xsl:call-template>
! 
!       <!-- build tabs -->
!       <xsl:call-template name="tabs"/>
!       
!       <table border="0" cellspacing="0" cellpadding="0" width="100%">
!       <tr><td align="center">
!               <!-- Check for other stuff at /form/* -->
!               <xsl:for-each select="/form/push">
!                       <xsl:call-template name="push" />
!               </xsl:for-each>
!       </td></tr>
!       </table>
! </xsl:template>
! 
! <!-- Tabs -->
! <xsl:template name="tabs">
!       <hr/>
!       <!-- Build Tab Nav Bar -->
!       <xsl:for-each select="./tabregion/*">
!               <a>
!                       <xsl:attribute name="href">
!                               <xsl:text>#</xsl:text><xsl:value-of 
! select="@nm"/>
!                       </xsl:attribute>
!                       <xsl:value-of select="@nm"/>
!               </a>&#160; <!-- Stick in a space -->
!       </xsl:for-each>
!       <hr/>
! 
!       <!-- Build Tabs -->
!       <xsl:for-each select="./tabregion/*">
!               <form>
!               <a>
!                       <xsl:attribute name="name">
!                               <xsl:value-of select="@nm"/>
!                       </xsl:attribute>
!               </a>
!                       <xsl:attribute name="fName"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!                       <p align="center"><b><xsl:value-of 
! select="@nm"/></b><br/>
!                       <a href="#top">Top</a></p>
!                       <xsl:call-template name="flds">
!                               <xsl:with-param name="rows">
!                                       <xsl:value-of select="./*[not
! (@row=preceding-sibling::*/@row)]/@row"/>
!                               </xsl:with-param>
!                               <xsl:with-param name="startnode">
!                                       <xsl:value-of select="."/>
!                               </xsl:with-param>
!                       </xsl:call-template>
!               </form>
!               <hr/>
!       </xsl:for-each>
! </xsl:template>
! 
! <!-- Detail Area -->
! <xsl:template name="detail">
!       <!-- Build detail area -->
!       <xsl:with-param name="dtlrows"/>
!       <xsl:with-param name="homenode"/>
! 
!       <hr/>
!       <xsl:if test="$dtlrows=$homenode/@height">
!       <!-- Do only if this is top -->
!               <xsl:call-template name="flds">
!                       <xsl:with-param name="rows">
!                               <xsl:value-of select="./*[not(@row=preceding-
! sibling::*/@row) and (./@header=1)]/@row"/>
!                       </xsl:with-param>
!                       <xsl:with-param name="startnode">
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!               <hr/>
!       </xsl:if>
!       <!-- Do these every time -->
!       <xsl:call-template name="flds">
!       <!--    <xsl:with-param name="rows" select="./*[not(@row=preceding-
! sibling::*/@row) and (./@row &lt; (../@rowspan+1)) and not
! (./@header=1)]/@row"/> -->
!               <xsl:with-param name="rows" select="./*[not(@row=preceding-
! sibling::*/@row) and (./@row &lt; (../@rowspan+2)) and not(./@header=1)]/@row"/>
!               <xsl:with-param name="startnode" select="."/>
!       </xsl:call-template>
!       <!-- Call recursively until 0 -->
!       <!-- This is a for-loop equivalent -->
!       <xsl:if test="($dtlrows - 1) &gt; 0">
!               <xsl:call-template name="detail">
!                       <xsl:with-param name="dtlrows">
!                               <xsl:value-of select="$dtlrows - 1"/>
!                       </xsl:with-param>
!                       <xsl:with-param name="homenode">
!                               <xsl:value-of select="$homenode"/>
!                       </xsl:with-param>
!               </xsl:call-template>
!       </xsl:if>
! </xsl:template>
! 
! <!-- Generate tables from field elements -->
! <xsl:template name="flds">
!       <xsl:with-param name="rows"/>
!       <xsl:with-param name="startnode"/>
! 
!               <xsl:for-each select="$rows">
! 
!               <table border="0" cellspacing="0" cellpadding="0" width="100%">
!               <tr>
!                       <xsl:for-each select="$startnode/*[@row=current()]">
!                               <xsl:variable name="elemtype"><xsl:value-of 
! select="./@tp"/></xsl:variable>
!                               <xsl:choose>
!                                       <xsl:when test="$elemtype='Hidden'">
!                                               <xsl:call-template 
! name="Hidden" />
!                                       </xsl:when>
!                                       <xsl:when test="$elemtype='Text'">
!                                               <xsl:call-template 
! name="Text" />
!                                       </xsl:when>
!                                       <xsl:when test="$elemtype='label'">
!                                               <xsl:call-template 
! name="label" />
!                                       </xsl:when>
!                                       <xsl:when test="$elemtype='Select'">
!                                               <xsl:call-template 
! name="Select" />
!                                       </xsl:when>
!                                       <xsl:when test="$elemtype='Out'">
!                                               <xsl:call-template name="Out" />
!                                       </xsl:when>
!                                       <xsl:when test="$elemtype='Sp'">
!                                               <xsl:call-template name="key" />
!                                       </xsl:when>
!                                       <xsl:when test="$elemtype='Fc'">
!                                               <xsl:call-template name="Fc" />
!                                       </xsl:when>
!                                       <xsl:when test="name()='detail'">
!                                               <form>
!                                               <!-- Need to give the form info 
! about detail area in form name -->
!                                               <xsl:attribute 
! name="name">det@il;<xsl:value-of select="./@nbr"/>;<xsl:value-of 
! select="./@height"/>;<xsl:value-of select="./@rowspan"/></xsl:attribute>
!                                               <xsl:call-template 
! name="detail">
!                                                       <xsl:with-param 
! name="dtlrows">
!                                                               <xsl:value-of 
! select="./@height"/>
!                                                       </xsl:with-param>
!                                                       <xsl:with-param 
! name="homenode">
!                                                               <xsl:value-of 
! select="."/>
!                                                       </xsl:with-param>
!                                               </xsl:call-template>
!                                               <hr/>
!                                               </form>
!                                       </xsl:when>
!                               </xsl:choose>
!                       </xsl:for-each>
!               <td width="99%" /> <!-- Filler for rest of row -->
!               </tr>
!               </table>
!               </xsl:for-each>
! </xsl:template>
! <!--********** MENU ELEMENTS ******************-->
! <xsl:template match="/form/menu">
!       <p align="left">
!       <li>
!       <a>
!               <xsl:attribute name="href">javascript:processPush('<xsl:value-
! of select="@TOKEN" />','<xsl:value-of select="@TOKEN" />','<xsl:value-of 
! select="@TOKEN" />' )</xsl:attribute>
!               <xsl:value-of select="@TITLE"/>
!       </a>
!       </li>
!       <br />
!       </p>
! </xsl:template>
! 
! <!--********** NAME FIELD ******************-->
! <xsl:template name="nameFld">
!       <xsl:with-param name="tgtnode"/>
! <!--  <xsl:attribute name="name">text<xsl:value-of 
! select="$tgtnode/@nbr"/></xsl:attribute> -->
! 
!       <!-- Need to precede field elements with a leading string.
!       There is no other way to differentiate form elements in Javascript 1.0 -
! ->
! 
!       <xsl:variable name="thisFld"><xsl:value-of select="substring
! ($tgtnode/@nbr,3,5)"/></xsl:variable>
!       <xsl:variable name="fld"><xsl:value-of select="substring-before
! ($thisFld,'r')"/></xsl:variable>
!       <xsl:variable name="row"><xsl:value-of select="substring-after
! ($thisFld,'r')"/></xsl:variable>
!       <xsl:if test="not(string-length($fld) &gt; 0)">
!               <xsl:attribute name="name">l@wson;<xsl:value-of 
! select="$thisFld"/>;<xsl:value-of select="$tgtnode/@keynbr"/>;<xsl:value-of 
! select="$tgtnode/@tp"/>;<xsl:value-of select="$tgtnode/@hsel"/>;null;null;null
!               </xsl:attribute>
!       </xsl:if>
!       <xsl:if test="string-length($fld) &gt; 0">
!               <!-- this is part of a detail area -->
!               <xsl:attribute name="name">l@wson;<xsl:value-of select="(10000 
! * ($row+1))+$fld"/>;<xsl:value-of select="$tgtnode/@keynbr"/>;<xsl:value-of 
! select="$tgtnode/@tp"/>;<xsl:value-of select="$tgtnode/@hsel"/>;<xsl:value-of 
! select="ancestor::detail/@nbr"/>;<xsl:value-of 
! select="ancestor::detail/@rowspan"/>;<xsl:value-of 
! select="ancestor::detail/@height"/>
!               </xsl:attribute>
!       </xsl:if>
!       <xsl:if test="$tgtnode/@tp = 'Sp'">
!               <!-- this is part of a detail area -->
!               <xsl:attribute name="name">l@wson;<xsl:value-of 
! select="$thisFld"/>;<xsl:value-of select="$tgtnode/@keynbr"/>;<xsl:value-of 
! select="$tgtnode/@tp"/>;<xsl:value-of select="$tgtnode/@hsel"/>;null;null;null
!               </xsl:attribute>
!       </xsl:if>
! </xsl:template>
! 
! <!--********** FIELD ELEMENTS ******************-->
! <xsl:template name="Hidden">
!       <xsl:element name="input">
!               <xsl:attribute name="type">hidden</xsl:attribute>
!               <xsl:attribute name="friendly-name"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               <xsl:call-template name="nameFld">
!                       <xsl:with-param name="tgtnode">
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!       <!--    <xsl:attribute name="size"><xsl:value-of 
! select="@sz"/></xsl:attribute> -->
!       </xsl:element>
! </xsl:template>
! <xsl:template name="key">
!       <xsl:element name="input">
!               <xsl:attribute name="type">hidden</xsl:attribute>
!               <xsl:attribute name="friendly-name"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               <xsl:call-template name="nameFld">
!                       <xsl:with-param name="tgtnode">
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!               <xsl:attribute name="size"><xsl:value-of 
! select="@sz"/></xsl:attribute>
!       </xsl:element>
! </xsl:template>
! <xsl:template name="label">
!       <xsl:element name="td">
!               <xsl:variable name="capLength">
!                       <!-- Store length of caption string -->
!                       <xsl:value-of select="string-length(@nm)"/>
!               </xsl:variable>
! 
!               <!-- calculate width -->
!               <!-- calculate width of label based on length of caption -->
!               <xsl:variable name="wide"><xsl:value-of select="(($capLength+2) 
! * 100) div 80"/></xsl:variable>
!               <xsl:choose>
!                       <xsl:when test="not(preceding-sibling::*[1]/@row)">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
!                               <!-- This is the last item in the row -->
!                               <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:otherwise>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="((following-sibling::*/@col - @col) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
!                       </xsl:otherwise>
!               </xsl:choose>
! 
!               <xsl:attribute name="align">right</xsl:attribute>
!               <xsl:value-of select="@nm"/><xsl:text> </xsl:text>
!       </xsl:element>
! </xsl:template>
! 
! <xsl:template name="Text">
!       <xsl:element name="td">
!               <!-- calculate width of column based on length of textbox -->
!               <xsl:variable name="wide"><xsl:value-of select="((@sz+2) * 100) 
! div 80"/></xsl:variable>
!               <xsl:choose>
!                       <xsl:when test="not(preceding-sibling::*[1]/@row)">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute 
! name="align">right</xsl:attribute>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute 
! name="align">right</xsl:attribute>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
!                               <!-- This is the last item in the row -->
!                               <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:otherwise>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="((following-sibling::*/@col - @col + 1) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
!                       </xsl:otherwise>
!               </xsl:choose>
!       <xsl:element name="input">
!               <xsl:attribute name="type">text</xsl:attribute>
!               <xsl:attribute name="friendly-name"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               <xsl:call-template name="nameFld">
!                       <xsl:with-param name="tgtnode"> 
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!               <xsl:attribute name="size"><xsl:value-of 
! select="@sz"/></xsl:attribute>
!       </xsl:element>
!       <xsl:if test="@hselrul[.='1']">
!               <a>
!                       <xsl:attribute name="href">javascript:select;<xsl:value-
! of select="./@nbr" />;<xsl:value-of select="./@keynbr" /></xsl:attribute>
!                       <img border="0" src="/kurt/images/blueselect.gif"/>
!               </a>
!       </xsl:if>
!       </xsl:element>
! </xsl:template>
! 
! <xsl:template name="Fc">
!       <xsl:element name="td">
!               <!-- calculate width of column based on length of textbox -->
!               <xsl:variable name="wide"><xsl:value-of select="((@sz+2) * 100) 
! div 80"/></xsl:variable>
!               <xsl:choose>
!                       <xsl:when test="not(preceding-sibling::*[1]/@row)">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute 
! name="align">right</xsl:attribute>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute 
! name="align">right</xsl:attribute>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
!                               <!-- This is the last item in the row -->
!                               <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:otherwise>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="((following-sibling::*/@col - @col + 1) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
!                       </xsl:otherwise>
!               </xsl:choose>
!       <xsl:element name="input">
!               <xsl:attribute name="type">text</xsl:attribute>
!               <xsl:attribute name="friendly-name"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               <xsl:call-template name="nameFld">
!                       <xsl:with-param name="tgtnode">
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!               <xsl:attribute name="size"><xsl:value-of 
! select="@sz"/></xsl:attribute>
!       </xsl:element>
!       <xsl:if test="@hsel[.='1']">
!               <a>
!                       <xsl:attribute name="href">javascript:doPick()
! </xsl:attribute>
!                       <img border="0" src="/kurt/images/blueselect.gif"/>
!               </a>
!       </xsl:if>
!       </xsl:element>
! </xsl:template>
! 
! <xsl:template name="Out">
!       <xsl:element name="td">
!               <xsl:choose>
!                       <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
!                               <!-- This is the last item in the row -->
!                               <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:otherwise>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="((following-sibling::*/@col - @col) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
!                       </xsl:otherwise>
!               </xsl:choose>
!       <xsl:element name="input">
!               <xsl:attribute name="type">text</xsl:attribute>
!               <xsl:attribute name="friendly-name"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               <xsl:call-template name="nameFld">
!                       <xsl:with-param name="tgtnode">
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!               <xsl:attribute name="size"><xsl:value-of 
! select="@sz"/></xsl:attribute>
!       </xsl:element>
!       </xsl:element>
! </xsl:template>
! 
! <xsl:template name="Select">
!       <xsl:element name="td">
!               <xsl:choose>
!                       <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
!                               <!-- This is the first item in the row -->
!                               <xsl:attribute name="width"><xsl:value-of 
! select="(@col * 100) div 80" /><xsl:text>%</xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
!                               <!-- This is the last item in the row -->
!                               <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
!                       </xsl:when>
!                       <xsl:otherwise>
!                               <xsl:attribute name="width"><xsl:value-of 
! select="((following-sibling::*[1]/@col - @col) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
!                       </xsl:otherwise>
!               </xsl:choose>
!       <xsl:element name="input">
!               <xsl:attribute name="type">text</xsl:attribute>
!               <xsl:attribute name="friendly-name"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               <xsl:call-template name="nameFld">
!                       <xsl:with-param name="tgtnode">
!                               <xsl:value-of select="."/>
!                       </xsl:with-param>
!               </xsl:call-template>
!               <xsl:attribute name="size"><xsl:value-of 
! select="@sz"/></xsl:attribute>
!       </xsl:element>
!       <xsl:if test="@hsel[.='1']">
!               <a>
!                       <xsl:attribute name="href">javascript:doPick()
! </xsl:attribute>
!                       <img border="0" src="/kurt/images/blueselect.gif"/>
!               </a>
!       </xsl:if>
!       </xsl:element>
! </xsl:template>
! 
! <!--********** Toolbar Match ******************-->
! <xsl:template match="toolbar">
!       <!-- <b>Working Transactions!</b> -->
!       <table>
!       <tr><td>
!       <xsl:for-each select="button">
!               <input type="button">
!                       <xsl:attribute name="name">button_<xsl:value-of 
! select="@value"/></xsl:attribute>
!                       <xsl:attribute name="onclick">formAction('<xsl:value-of 
! select="@value"/>')</xsl:attribute>
!               <!--    <xsl:attribute name="href">#top</xsl:attribute> -->
!                       <xsl:attribute name="value"><xsl:value-of 
! select="@nm"/></xsl:attribute>
!               </input>
!       </xsl:for-each>
!       </td></tr>
!       </table>
!       <hr/>
! </xsl:template>
! <!--********** PATH ITEM  BREAD CRUMBS******************-->
! <xsl:template match="PATH[1]">
!       <xsl:for-each select="./POSITION">
!       <xsl:if test="not(position()=last())">
!       <a class="pathtransfer">
!               <xsl:attribute name="href">javascript:processPush('<xsl:value-
! of select="@TOKEN" />','<xsl:value-of select="@TOKEN" />')</xsl:attribute>
!               <xsl:value-of select="@TITLE"/>
!       </a>
!       &gt;</xsl:if>
!       <xsl:if test="(position()=last())">
!               <b>
!               <xsl:value-of select="@TITLE"/>
!               </b>
!               <script language="javascript">
!                       var formPdl = &quot;<xsl:value-of 
! select="@PROD"/>&quot;;
!               </script>
!       </xsl:if>
!       </xsl:for-each>
!       <hr/>
! </xsl:template>
! <!--********** PUSH FIELD ******************-->
! <xsl:template name="push">
!       <xsl:choose>
!               <xsl:when test="@nm[.='SUBMIT']"/>
!               <xsl:when test="@nm[.='PRINT-MANAGER']"/>
!               <xsl:when test="@nm[.='JOB-SCHEDULER']"/>
!               <xsl:when test="@nm[.='REPORTS']"/>
!               <xsl:otherwise>
!                       <a>
!                               <xsl:attribute 
! name="href">javascript:processPush('<xsl:value-of 
! select="@keynbr" />','<xsl:value-of select="@keynbr" />')</xsl:attribute>
!                               <xsl:value-of select="@btnnm"/>
!                       </a>
!                       <xsl:text>&#160;&#160;</xsl:text>
!               </xsl:otherwise>
!       </xsl:choose>
! </xsl:template>
! <!--********** ATTACH SCRIPT ******************-->
! <xsl:template name="attachScript">
!       <script language="javascript">
!       var sysName = &quot;<xsl:value-of select="//form/@SYSTEM"/>&quot;;
!       var tknName = &quot;<xsl:value-of select="//form/@TOKEN"/>&quot;;
!       var gField;
!       <![CDATA[
!               var lawElements;
!               formStr = ""; // Keep a running string representing form
!               // "formPdl" is the form Productline name
! 
!               // Determine current path
!               servStr = parent.mainFrame.location.host;
!               fldrStr = parent.location.pathname;
!               fldrStr = fldrStr.substring(0,fldrStr.lastIndexOf('/'));
! 
!               function processPush(tkn, fld, url)
!               {
!                       parent.mainFrame.location.href = "http://"; + servStr +
!                       "/servlet/xsltservlet?srcurl=http://"; + servStr +
!                       "/cgi/form.exe?_TKN%3D" + tkn + "%26_OUT%
! 3DXML&xslurl=http://"; +
!                       servStr + fldrStr + "/precrunch.xsl&xslurl2=http://"; + 
!       servStr + fldrStr +
!                       "/tables.xsl";
!               }
! 
!               function formAction(actLetter)
!               {
!                       changeSrcDoc(actLetter);
!               }
! 
!               function refreshFormData()
!               {
!                       //alert("Refresh Form Data");
!                       numElems = lawElements.size;
!                       for(i=0;i<numElems;i++)
!                       {
!                               lawElements[i].fldRef.value = searchRec
! (lawElements[i].nbr,null);
!                       }
! 
!                       // Fill message bar
!                       var hfObj = parent.hiddenFrame;
!                       var tfObj = parent.toolFrame;
!                       
!                       tfObj.updateMessage(hfObj.msgtext);
!                       //if(hfObj.msgnbr != '000')
!                       //      TextBoxSetFocus(hfObj.fldnbr);
!               }
! 
!               function RefreshCallData()
!               {
!               // Refresh the document to send to AGS
!                       var formStr = "";
! 
!                       //alert("Refresh Call Data");
!                       numElems = lawElements.size;
!                       for(i=0;i<numElems;i++)
!                       {
!                               formStr += "%26_f" + lawElements[i].nbr + "%3D" 
! + lawElements[i].fldRef.value;
!                       }
!                       return formStr;
!               }
! 
!               function TextBoxSetFocus(fldnbr)
!               {
!                       var hfg = "";
!                       return hfg;
!               }
! 
!               function changeSrcDoc(actLetter)
!               {
!                       newLoc = "http://"; + servStr + "/servlet/xsltservlet?
! srcurl=http" +
!                               "://" + servStr + "/cgi/as.exe?";
! 
!               //      if(parent.hiddenFrame.pdl != '')
!               //              newLoc += "_PDL%3D" + parent.hiddenFrame.pdl 
! + "%26";
! 
! 
!                       newLoc+= "_RTN%3DDATA%26_LFN%3DFALSE%26_TDS%3DIgnore%
! 26" +
!                               "_TKN%3D" + tknName + "%26_OUT%3DXML%26_EVT%
! 3DADD" + "%26FC%3D" +
!                               actLetter + "%26_f1%3d" + actLetter + "%26" + 
! RefreshCallData() +
!                               "&xslurl=http://"; + servStr + fldrStr 
! + "/precrunch.xsl";
! 
!                       newLoc = spaceReplace(newLoc);
!                       alert(newLoc);
!                       parent.hiddenFrame.location.href = newLoc;
!               }
! 
!               function searchRec(nFld,row)
!               {
!                       var fldNumStart = nFld.indexOf('f')+1;
!                       var id = nFld.substring(nFld.length,fldNumStart); // 
! Returns 1 value as a numeric value??????
! 
!                       var fldObj = new FldObj();
!                       fldObj = parent.hiddenFrame.fdata[id];
! 
!                       var otherData = fldObj.val;
!                       //var otherData = parent.hiddenFrame.fdata[id];
! 
!                       //alert("nFld= "+nFld+"\notherData = " + otherData);
!                       return otherData;
!               }
! 
!               // Class framework
!               function FldObj(fld,row){
!                       this.fld = fld;               // add properties
!                       this.row = row;
!               }
! 
!               function establishDetailRows()
!               // This function finds all elements that are part of a detail 
! area
!               // and reassigns an appropriate number to each.
!               {
!                       //alert("establishDetailRows() function");
!                       
!                       var dtlStartRow = 0;
!                       var rowMultiplier = 0;
!                       var numElems = lawElements.size;
!                       for(i=0;i<numElems;i++)
!                       {
!                               if(lawElements[i].nbr > 10000)
!                               {
!                                       if(dtlStartRow == 0)
!                                               dtlStartRow = lawElements
! [i].nbr;
!                                       else if(dtlStartRow == lawElements
! [i].nbr)
!                                               rowMultiplier++;
! 
!                                       var newNum = (lawElements[i].nbr/1) + 
! (rowMultiplier*10000);
!                                       lawElements[i].nbr = newNum;
!                               }
!                       }
!               }
!               
!               function initThisForm()
!               {
!                       lawElements = new buildDocumentDotAll();  // Create 
! element array
!                       procLinkElms();
!                       establishDetailRows();
!                       changeSrcDoc('');
!               }
!               
!               function doPick()
!               {
!                       alert("\nThis type of select doesn't work yet.");
!               }
!               
!               function doSelect(elemIndex)
!               {
!                       // Need to preserve spaces in key numbers.
!                       var keyVal = spaceReplace(lawElements[elemIndex].key);
! 
!                       //create api 
!                       var api="http://ag/cgi/ida.exe?";
!                       api+="_OUT%3DXML"
!                       api+="%26_PDL%3D" + formPdl
!                       api+="%26_SYS%3D" + sysName
!                       api+="%26_TYP%3DSL%26"
!                       
!                       //for(i=0;i<lawElements.size;i++)
!                       for(i=0;i<elemIndex;i++)
!                       {
!                               if(trim(lawElements[i].key) != "")
!                               {
!                                       api+= trim(lawElements[i].key) +
!                                               "%3D" + spaceReplace(lawElements
! [i].fldRef.value)+"%26";
!                               }
!                       }
!                       api+="_KNB%3D"+keyVal;
!                       
!                       var xslapi="http://"; + servStr + "/servlet/xsltservlet?
! srcurl=" + api + "&xslurl=http://"; +
!                       servStr + fldrStr + "/sel.xsl";
!                       
!                       //xslapi = prompt("ida call:\n",xslapi);
!                       
!                       var x=window.open
! (xslapi,"","scrollbars=yes,status=yes,width=600,height=300");
!                       x.openerObj = self; // Give new window a handle to this 
! one
!                       // Set the field to be populated
!                       x.parFld=lawElements[elemIndex].fldRef;
!               }
!               
!               function trim(inputStr)
!               {
!               // Delete space padding
!                       while (true)
!                       {
!                               if(inputStr.charAt(inputStr.length-1) == ' ')
!                                       inputStr = inputStr.substring
! (0,inputStr.length-1);
!                               else if(inputStr.charAt(0) == ' ')
!                                       inputStr = inputStr.substring
! (1,inputStr.length);
!                               else
!                                       break;
!                       }
!                       return inputStr;
!               }
! 
!               function spaceReplace (srcStr)
!               {
!                       var i;
!                       var returnString = "";
! 
!                       // Search through string''s characters one by one.
!                       // If character is not in bag, append to returnString.
! 
!                       for (i = 0; i < srcStr.length; i++)
!                       {
!                       // Check that current character isn''t whitespace.
!                       var c = srcStr.charAt(i);
!                       if (c == ' ')
!                               returnString += "%20";
!                       else
!                               returnString += c;
!                       }
! 
!                       return returnString;
!               }
!               
!               function lmnt(nbr, key,typ,isSel,dtlName,span,height)
!               {
!                       this.nbr = nbr; // field number
!                       this.key = key;
!                       this.typ = typ
!                       this.isSel = isSel
!                       this.dtlName; // Name of detail area this element is 
! part of
!                       this.span = span
!                       this.height = height
!                       this.fldRef;    // Contains a form element object 
! reference
!                       this.toString = lmntToString;
!               }
! 
!               function parseLmnt(objStr)
!               {
!                       var ara = new ArrayFromStr(objStr,";");
!                       var newLmnt = new lmnt(ara[1],ara[2],ara[3],ara[4],ara
! [5],ara[6],ara[7]);
!                       return newLmnt;
!               }
! 
!               function lmntToString()
!               {
!                       var retStr = "";
!                       retStr += "l" + ";";
!                       retStr += this.nbr + ";";
!                       retStr += this.key + ";";
!                       return retStr;
!               }
! 
!               function ArrayFromStr(str, sep)
!               {
!                       if(str.charAt(str.length-1) == ';')
!                               str = str.substring(0,str.length-1);
!                       var n=0, i=0, s=str;
!                       while (n > -1)
!                       {                                               // 
! repeat 'til no separators left
!                               n = s.indexOf(sep);                     // 
! locate the separator
!                               if (n > -1)
!                               {                               // if separator 
! is found
!                                       this[i] = s.substring(0,n);     // add 
! element
!                                       s = s.substring(n+1);           // chop 
! the string 'til separator
!                               }else
!                                       this[i] = s;                    // add 
! last piece of string
!                               i++;                            // increase 
! elements count
!                       }
!                       this.size = i;                                  // set 
! size property
!               }
! 
!               function buildDocumentDotAll()
!               {
!                       var numLmnts = 0;
!                       var numForms = document.forms.length;  // Number of 
! forms in doc
!                       for(i=0;i<numForms;i++)
!                       {
!                               numElms = document.forms
! [i].elements.length;  // Number of elms in form
!                               for(j=0;j<numElms;j++)
!                               {
!                                       // Check for obj type
!                                       elType = document.forms[i].elements
! [j].name;
!                                       elType = elType.substring(0,6);
! 
!                                       if(elType == 'ln')
!                                       {
!                                               this[numLmnts] = parseLmnt
! (document.forms[i].elements[j].name);
!                                               // Attach element reference
!                                               this[numLmnts].fldRef = 
! document.forms[i].elements[j];
!                                               numLmnts++;
!                                       }
!                               }
!                       }
!                       this.size = numLmnts;
!               }
!               
!               function procLinkElms()
!               {
!                       // Links the select buttons to an index in 
! documentdotall
!                       var numLmnts = document.links.length;  // Number of 
! forms in doc
!                       for(i=0;i<numLmnts;i++)
!                       {
!                               // Check for obj type
!                               var elType = document.links[i].href;
!                               elType = elType.substring(0,17);
! 
!                               if(elType != 'javascript:select')
!                                       continue; // Not interested in this 
! element
!                               var thisElm = new ArrayFromStr(document.links
! [i].href, ';')
!                               for (j=0;j<lawElements.size;j++)
!                               { // Attempt to correlate with select field
!                                       if((parseInt(thisElm[1].substring
! (2,20)) == parseInt(lawElements[j].nbr)) 
!                                               && (trim(thisElm[2]) == trim
! (lawElements[j].key)))
!                                       {
!                                               document.links[i].href 
! = "javascript:doSelect("+ j +")";
!                                               break;
!                                       }
!                               }
!                       }
!               }
!       ]]>
!       </script>
! </xsl:template>
! <!--*****************************************************-->
! </xsl:stylesheet>

Reply via email to