You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2001/10/30 10:05:55 UTC

cvs commit: embperl/test/html if.htm table.htm

richter     01/10/30 01:05:55

  Modified:    .        Tag: Embperl2c epdom.c epdom.h
               test/cmp Tag: Embperl2c table.htm
               test/html Tag: Embperl2c if.htm table.htm
  Log:
  Embperl 2 - tree structure rewrite
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.62  +84 -21    embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.4.2.61
  retrieving revision 1.4.2.62
  diff -u -r1.4.2.61 -r1.4.2.62
  --- epdom.c	2001/10/29 20:07:12	1.4.2.61
  +++ epdom.c	2001/10/30 09:05:54	1.4.2.62
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.c,v 1.4.2.61 2001/10/29 20:07:12 richter Exp $
  +#   $Id: epdom.c,v 1.4.2.62 2001/10/30 09:05:54 richter Exp $
   #
   ###################################################################################*/
   
  @@ -1161,6 +1161,8 @@
           
               pRunNode -> xPrev = pPrevNode -> xNdx ;
               pPrevNode -> xNext = pRunNode -> xNdx ;
  +	    pRunNode -> bFlags  |= nflgNewLevelPrev ;
  +	    pPrevNode -> bFlags |= nflgNewLevelNext ;
   
               if (pCurrReq -> bDebug & dbgCheckpoint)
   		    lprintf (pCurrReq, "[%d]Checkpoint: jump forward DomTree=%d Index=%d Node=%d(%d) Line=%d -> Index=%d Node=%d(%d) Line=%d SVs=%d\n", 
  @@ -1183,6 +1185,8 @@
   		pRunNode -> xPrev = pPrevNode -> xNdx ;
   		pPrevNode -> xNext = pRunNode -> xNdx ;
   		pPrevNode -> xChilds = 0 ;
  +		pRunNode -> bFlags  |= nflgNewLevelPrev ;
  +		pPrevNode -> bFlags |= nflgNewLevelNext ;
   
   		if (pCurrReq -> bDebug & dbgCheckpoint)
   		    lprintf (pCurrReq, "[%d]Checkpoint: jump forward last child DomTree=%d Index=%d Node=%d(%d) Line=%d -> Index=%d Node=%d(%d) Line=%d SVs=%d\n", 
  @@ -1200,6 +1204,8 @@
   		    pCompileParent = Node_selfCondCloneNode (pDomTree, pCompileParent, r -> nCurrRepeatLevel) ;
   		    pRunParent -> xPrev     = pCompileParent -> xNdx ;
   		    pCompileParent -> xNext = pRunParent -> xNdx ;
  +		    pRunParent -> bFlags  |= nflgNewLevelPrev ;
  +		    pCompileParent -> bFlags |= nflgNewLevelNext ;
   		    }
   		else
   		    {
  @@ -1207,17 +1213,22 @@
   		    int nRun     = Attr_selfAttrNum(((tAttrData *)pRunParent)) ;
   		    int i ;
   
  +		    pCompileParent2 = Node_selfLevel (pDomTree, pCompileParent2 -> xNdx, r -> nCurrRepeatLevel) ;
   		    pCompileParent2 = Node_selfCondCloneNode (pDomTree, pCompileParent2, r -> nCurrRepeatLevel) ;
   
   		    for (i = nRun - 1 ; i > nCompile; i--)
   			{
  -			tAttrData * pAttr = Element_selfGetNthAttribut (pDomTree, pCompileParent2, i) ;
  -			/* lprintf (r, "remove attr #%d flags=%x node=%d\n", i, pAttr -> bFlags, pAttr ->xNdx) ; */
  +			if (pCurrReq -> bDebug & dbgCheckpoint)
  +			    {
  +			    tAttrData * pAttr = Element_selfGetNthAttribut (pDomTree, pCompileParent2, i) ;
  +			    lprintf (r, "[%d]Checkpoint: remove attr #%d flags=%x attr=%d node=%d\n", pCurrReq -> nPid, i, pAttr -> bFlags, pAttr ->xNdx, pCompileParent2 -> xNdx) ; 
  +			    }
   			Element_selfRemoveNthAttribut (pDomTree, pCompileParent2, r -> nCurrRepeatLevel, i) ;
   			}
   		    }
   
   		pPrevNode -> xNext = Node_selfFirstChild (pDomTree, pCompileParent, r -> nCurrRepeatLevel) -> xNdx ;
  +		pPrevNode -> bFlags |= nflgNewLevelNext ;
                   if (pCurrReq -> bDebug & dbgCheckpoint)
                       lprintf (pCurrReq, "[%d]Checkpoint: jump forward2 DomTree=%d Index=%d Node=%d(%d),%d,%d Line=%d -> Index=%d Node=%d(%d),%d,%d Line=%d SVs=%d\n", 
   		                   pCurrReq -> nPid, r -> xCurrDomTree, nCompileCheckpoint, 
  @@ -1261,6 +1272,7 @@
           
           tNodeData * pCompileParent = NodeAttr_selfParentNode (pDomTree, pCompileNode, r -> nCurrRepeatLevel) ;
           tNodeData * pRunParent     = NodeAttr_selfParentNode (pDomTree, pRunNode, r -> nCurrRepeatLevel) ;
  +        tNodeData * pRunParent2    = NodeAttr_selfParentNode (pDomTree, pRunParent, r -> nCurrRepeatLevel) ;
   
           if (pPrevNode)
               pPrevNode = Node_selfCondCloneNode (pDomTree, pPrevNode, r -> nCurrRepeatLevel) ;
  @@ -1277,6 +1289,8 @@
           
               pRunNode -> xPrev = pPrevNode -> xNdx ;
               pPrevNode -> xNext = pRunNode -> xNdx ;
  +	    pRunNode -> bFlags  |= nflgNewLevelPrev ;
  +	    pPrevNode -> bFlags |= nflgNewLevelNext ;
   
               if (pCurrReq -> bDebug & dbgCheckpoint)
   	        lprintf (pCurrReq, "[%d]Checkpoint: jump backward DomTree=%d Index=%d Node=%d RepeatLevel=%d Line=%d -> Index=%d Node=%d Line=%d SVs=%d\n", pCurrReq -> nPid, r -> xCurrDomTree, nCompileCheckpoint, pPrevNode -> xNdx, r -> nCurrRepeatLevel, pPrevNode -> nLinenumber, nRunCheckpoint, pRunNode -> xNdx, pRunNode -> nLinenumber, sv_count) ; 
  @@ -1284,7 +1298,6 @@
               }
           else if (xNode_selfLevelNull(pDomTree,pPrevNode) == xNode_selfLevelNull(pDomTree,pRunParent))
               {
  -	    /*
               if (pCurrReq -> bDebug & dbgCheckpoint)
   	        lprintf (pCurrReq, "[%d]Checkpoint: jump backward2 DomTree=%d Index=%d Node=%d(%d),%d(%d) Line=%d -> Index=%d Node=%d(%d),%d(%d) Line=%d SVs=%d\n", 
   			    pCurrReq -> nPid, r -> xCurrDomTree, 
  @@ -1294,7 +1307,6 @@
   			    nRunCheckpoint,	pRunNode -> xNdx,	xNode_selfLevelNull(pDomTree,pRunNode),
   						pRunParent -> xNdx,	xNode_selfLevelNull(pDomTree,pRunParent),
   						pRunNode -> nLinenumber, sv_count) ; 
  -            */
   	    pPrevNode = Node_selfLastChild (pDomTree, pPrevNode, r -> nCurrRepeatLevel) ;
               pPrevNode = Node_selfCondCloneNode (pDomTree, pPrevNode, r -> nCurrRepeatLevel) ;
           
  @@ -1303,6 +1315,8 @@
               pRunNode = Node_selfCondCloneNode (pDomTree, pRunNode, r -> nCurrRepeatLevel) ;
               pRunNode -> xPrev = pPrevNode -> xNdx ;
               pPrevNode -> xNext = pRunNode -> xNdx ;
  +	    pRunNode -> bFlags  |= nflgNewLevelPrev ;
  +	    pPrevNode -> bFlags |= nflgNewLevelNext ;
   	    pCheckpointStatus -> xJumpFromNode    = pPrevNode -> xNdx ;
   	    pCheckpointStatus -> xJumpToNode      = pRunNode -> xNdx ;
   
  @@ -1313,6 +1327,38 @@
   			    nRunCheckpoint,     pRunNode -> xNdx, xNode_selfLevelNull(pDomTree,pRunNode), pRunNode -> nLinenumber, sv_count) ; 
   
               }
  +        else if (xNode_selfLevelNull(pDomTree,pPrevNode) == xNode_selfLevelNull(pDomTree,pRunParent2))
  +            {
  +            if (pCurrReq -> bDebug & dbgCheckpoint)
  +	        lprintf (pCurrReq, "[%d]Checkpoint: jump backward2 DomTree=%d Index=%d Node=%d(%d),%d(%d) Line=%d -> Index=%d Node=%d(%d),%d(%d) Line=%d SVs=%d\n", 
  +			    pCurrReq -> nPid, r -> xCurrDomTree, 
  +			    nCompileCheckpoint, pPrevNode -> xNdx,	xNode_selfLevelNull(pDomTree,pPrevNode),
  +						pCompileParent -> xNdx, xNode_selfLevelNull(pDomTree,pCompileParent),
  +						pPrevNode -> nLinenumber, 
  +			    nRunCheckpoint,	pRunNode -> xNdx,	xNode_selfLevelNull(pDomTree,pRunNode),
  +						pRunParent -> xNdx,	xNode_selfLevelNull(pDomTree,pRunParent),
  +						pRunNode -> nLinenumber, sv_count) ; 
  +	    pPrevNode = Node_selfLastChild (pDomTree, pPrevNode, r -> nCurrRepeatLevel) ;
  +	    pPrevNode = Node_selfLastChild (pDomTree, pPrevNode, r -> nCurrRepeatLevel) ;
  +            pPrevNode = Node_selfCondCloneNode (pDomTree, pPrevNode, r -> nCurrRepeatLevel) ;
  +        
  +            r -> nCurrRepeatLevel++ ;            
  +
  +            pRunNode = Node_selfCondCloneNode (pDomTree, pRunNode, r -> nCurrRepeatLevel) ;
  +            pRunNode -> xPrev = pPrevNode -> xNdx ;
  +            pPrevNode -> xNext = pRunNode -> xNdx ;
  +	    pRunNode -> bFlags  |= nflgNewLevelPrev ;
  +	    pPrevNode -> bFlags |= nflgNewLevelNext ;
  +	    pCheckpointStatus -> xJumpFromNode    = pPrevNode -> xNdx ;
  +	    pCheckpointStatus -> xJumpToNode      = pRunNode -> xNdx ;
  +
  +            if (pCurrReq -> bDebug & dbgCheckpoint)
  +	        lprintf (pCurrReq, "[%d]Checkpoint: jump backward last child 2 DomTree=%d Index=%d Node=%d(%d) RepeatLevel=%d Line=%d -> Index=%d Node=%d(%d) Line=%d SVs=%d\n", 
  +			    pCurrReq -> nPid, r -> xCurrDomTree, 
  +			    nCompileCheckpoint, pPrevNode -> xNdx, xNode_selfLevelNull(pDomTree,pPrevNode), r -> nCurrRepeatLevel, pPrevNode -> nLinenumber, 
  +			    nRunCheckpoint,     pRunNode -> xNdx, xNode_selfLevelNull(pDomTree,pRunNode), pRunNode -> nLinenumber, sv_count) ; 
  +
  +            }
           else
               {
               if (pCurrReq -> bDebug & dbgCheckpoint)
  @@ -1516,6 +1562,7 @@
   
       {
       tRepeatLevelLookup * pLookupLevelNode  ;
  +    tLookupItem *   pLookup  ;
   
       pLookupLevelNode = pDomTree -> pLookup[xNode].pLookupLevel ;
       if (pLookupLevelNode)
  @@ -1523,7 +1570,13 @@
   	register tRepeatLevelLookupItem * pLookupLevelNodeLevel	= &pLookupLevelNode -> items[nLevel & pLookupLevelNode -> nMask] ;
   	register tNodeData *              pLnNode		= pLookupLevelNodeLevel -> pNode ;
   	if (!pLnNode)
  -	    return ((struct tNodeData *)(DomTree_self(pDomTree -> xSourceNdx) -> pLookup[xNode].pLookup)) ;
  +	    {
  +	    pLookup = DomTree_self(pDomTree -> xSourceNdx) -> pLookup ;
  +	    if (ArrayGetSize(pLookup) > xNode)
  +		return ((struct tNodeData *)(pLookup[xNode].pLookup)) ;
  +	    else
  +		return ((struct tNodeData *)(pDomTree -> pLookup[xNode].pLookup)) ;
  +	    }
   	if (pLnNode -> nRepeatLevel == nLevel)
   	    return pLnNode ;
   	while (pLookupLevelNodeLevel = pLookupLevelNodeLevel -> pNext)
  @@ -1534,8 +1587,12 @@
   	    }
   	}
       
  +    
  +    pLookup = DomTree_self(pDomTree -> xSourceNdx) -> pLookup ;
  +    if (ArrayGetSize(pLookup) > xNode)
  +	return ((struct tNodeData *)(pLookup[xNode].pLookup)) ;
       
  -    return ((struct tNodeData *)(DomTree_self(pDomTree -> xSourceNdx) -> pLookup[xNode].pLookup)) ;
  +    return ((struct tNodeData *)(pDomTree -> pLookup[xNode].pLookup)) ;
       }
   
   
  @@ -2608,7 +2665,7 @@
   
       {
       if (pNode -> xChilds)
  -        return Node_selfNotNullLevel (pDomTree, Node_selfFirstChild (pDomTree, pNode, nRepeatLevel) -> xPrev, nRepeatLevel) ;
  +        return Node_selfLevel (pDomTree, Node_selfFirstChild (pDomTree, pNode, nRepeatLevel) -> xPrev, nRepeatLevel) ;
       
       return 0 ;
       }
  @@ -2674,13 +2731,16 @@
       if (pNode -> xNext == pNode -> xNdx)
           return NULL ;
       
  -    if ((pParent = Node_selfNotNullLevel (pDomTree, pNode -> xParent, nRepeatLevel)) != NULL)
  +    if ((pParent = Node_self (pDomTree, pNode -> xParent)) != NULL)
           {
           if (pParent -> xChilds == pNode -> xNext)
               return NULL ;
           }
   
  -    pNxt = Node_selfNotNullLevel (pDomTree, pNode -> xNext, nRepeatLevel) ; 
  +    if (pNode -> bFlags & nflgNewLevelNext)
  +	pNxt = Node_self (pDomTree, pNode -> xNext) ; 
  +    else
  +	pNxt = Node_selfLevel (pDomTree, pNode -> xNext, nRepeatLevel) ; 
       
       if (!pParent)
           {
  @@ -2712,7 +2772,7 @@
       if (pNode -> xNext == pNode -> xNdx)
           return 0 ;
       
  -    pParent = Node_selfNotNullLevel (pDomTree, pNode -> xParent, nRepeatLevel) ;
  +    pParent = Node_self (pDomTree, pNode -> xParent, nRepeatLevel) ;
       if (pParent -> xChilds == pNode -> xNext)
           return 0 ;
       
  @@ -2739,11 +2799,14 @@
       if (pNode -> xPrev == pNode -> xNdx)
           return 0 ;
       
  -    pParent = Node_selfNotNullLevel (pDomTree, pNode -> xParent, nRepeatLevel) ;
  +    pParent = Node_self (pDomTree, pNode -> xParent, nRepeatLevel) ;
       if (pParent -> xChilds == pNode -> xNdx)
           return 0 ;
       
  -    return Node_selfNotNullLevel (pDomTree, pNode -> xPrev, nRepeatLevel) ;
  +    if (pNode -> bFlags & nflgNewLevelPrev)
  +	return Node_self (pDomTree, pNode -> xPrev) ; 
  +    else
  +	return Node_selfLevel (pDomTree, pNode -> xPrev, nRepeatLevel) ; 
       }
   
   
  @@ -2768,7 +2831,7 @@
       if (pNode -> xPrev == pNode -> xNdx)
           return 0 ;
       
  -    pParent = Node_selfNotNullLevel (pDomTree, pNode -> xParent, nRepeatLevel) ;
  +    pParent = Node_self (pDomTree, pNode -> xParent) ;
       if (pParent -> xChilds == pNode -> xNdx)
           return 0 ;
       
  @@ -2841,11 +2904,9 @@
   
       {
       tRepeatLevel nRepeatLevel = *pRepeatLevel ;
  -    tNodeData * pNode = Node_selfLevel (pDomTree, xNode, nRepeatLevel) ;
  -    
  +    tNodeData * pNode = Node_self (pDomTree, xNode) ;
  +    tNodeData * pLast ;
       
  -    if (pNode -> nType != ntypAttr && pNode -> nRepeatLevel)
  -        nRepeatLevel = pNode -> nRepeatLevel ;
       
       if (pNode -> nType == ntypDocumentFraq)
   	{
  @@ -2863,9 +2924,6 @@
   
       while (pNode)
   	{
  -        if (pNode -> nRepeatLevel)
  -            nRepeatLevel = pNode -> nRepeatLevel ;
  -
   	if (pCurrReq -> bDebug & dbgOutput)
   	    lprintf (r, "[%d]toString: Node=%d(%d) RepeatLevel=%d type=%d flags=%x text=>%s<= (#%d) SVs=%d\n", r -> nPid, pNode -> xNdx, xNode_selfLevelNull(pDomTree,pNode), nRepeatLevel, pNode -> nType,  pNode -> bFlags, Ndx2String (pNode -> nText), pNode -> nText, sv_count) ; 
   
  @@ -3034,7 +3092,12 @@
   	    }
   
   
  +	pLast   = pNode ;
   	pNode  = Node_selfNextSibling (pDomTree, pNode, nRepeatLevel) ;
  +
  +        if (pNode && pLast -> bFlags & nflgNewLevelNext)
  +            nRepeatLevel = pNode -> nRepeatLevel ;
  +
   	}
   
       *pRepeatLevel = nRepeatLevel ;
  
  
  
  1.4.2.38  +5 -3      embperl/Attic/epdom.h
  
  Index: epdom.h
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.h,v
  retrieving revision 1.4.2.37
  retrieving revision 1.4.2.38
  diff -u -r1.4.2.37 -r1.4.2.38
  --- epdom.h	2001/10/29 20:07:12	1.4.2.37
  +++ epdom.h	2001/10/30 09:05:54	1.4.2.38
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.h,v 1.4.2.37 2001/10/29 20:07:12 richter Exp $
  +#   $Id: epdom.h,v 1.4.2.38 2001/10/30 09:05:54 richter Exp $
   #
   ###################################################################################*/
   
  @@ -135,7 +135,9 @@
       nflgOK	    = 1,
       nflgEscUrl      = 2,
       nflgEscChar	    = 4,
  -    nflgIgnore      = 8,
  +    nflgIgnore      = 8,	/**< Ignore this node */
  +    nflgNewLevelNext = 16,	/**< Next sibling has new RepeatLevel */
  +    nflgNewLevelPrev = 32,	/**< Previous sibling has new RepeatLevel */
       nflgSubCheckpoint= 128
       } ;
   
  @@ -518,5 +520,5 @@
   			     /*out*/ char * *		ppAttr) ;
   
   
  -#define NodeAttr_selfParentNode(pDomTree,pNode,nLevel) (pNode->nType == ntypAttr?Attr_selfNode(((tAttrData *)pNode)):(Node_selfLevel(pDomTree,(pNode)->xParent,nLevel)))
  +#define NodeAttr_selfParentNode(pDomTree,pNode,nLevel) (pNode->nType == ntypAttr?Attr_selfNode(((tAttrData *)pNode)):(Node_self(pDomTree,(pNode)->xParent,nLevel)))
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.5.6.5   +57 -6     embperl/test/cmp/table.htm
  
  Index: table.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/table.htm,v
  retrieving revision 1.5.6.4
  retrieving revision 1.5.6.5
  diff -u -r1.5.6.4 -r1.5.6.5
  --- table.htm	2001/03/26 10:29:18	1.5.6.4
  +++ table.htm	2001/10/30 09:05:54	1.5.6.5
  @@ -20,7 +20,6 @@
   
   <P>$tabmode = default <P>
   
  -
   <table>
       <tr>
           <td>a1/1</td>
  @@ -114,11 +113,11 @@
   </table>
   
   <table></table>
  -^-<table>
  -^-    <tr></tr> 
  -^-</table>
  -^-
  -^-
  +<table>
  +    <tr></tr> 
  +</table>
  +
  +
   <table border="1" width="100%">
       <tr>
           <td>a1/1 </td>
  @@ -508,6 +507,58 @@
        <td align="center"><font size="+1">World</font></td>
      </tr>
   </table>
  +
  +
  +<table border="14"><tr><td>a1/1</td></tr><tr><td>a2/1</td></tr><tr><td>a3/1</td></tr></table>
  +<table border="15"><tr><td>a3/1</td><td>a3/2</td><td>a3/3</td></tr></table>
  +<table border="16"><tr><td>a1/1</td></tr> <tr><td>a2/1</td><td>a2/2</td></tr> <tr><td>a3/1</td><td>a3/2</td><td>a3/3</td></tr> </table>
  +
  +<table border="17">
  +  <tr>
  +	<td>a1/1</td>
  +	<td>
  +		<img   src="/icons/iiilogo_narrow_else.gif"  WIDTH="5" HEIGHT="0" BORDER="0"   ALT="iii logo" >
  +	</td>
  +  </tr>
  +
  +  <tr>
  +	<td>a2/1</td>
  +	<td>
  +		<img   src="/icons/iiilogo_narrow_else.gif"  WIDTH="5" HEIGHT="1" BORDER="0"   ALT="iii logo" >
  +	</td>
  +  </tr>
  +
  +  <tr>
  +	<td>a3/1</td>
  +	<td>
  +		<img   src="/icons/iiilogo_narrow_else.gif"  WIDTH="5" HEIGHT="2" BORDER="0"   ALT="iii logo" >
  +	</td>
  +  </tr>
  +</table>
  +
  +<table>
  +    <tr>
  +        <td>a1/1</td>
  +    </tr> 
  +
  +    <tr>
  +        <td>a2/1</td>
  +    </tr> 
  +
  +    <tr>
  +        <td>a3/1</td>
  +    </tr> 
  +</table>
  +<table>
  +    <tr>
  +        <td>a3/1</td>
  +    
  +        <td>a3/2</td>
  +    
  +        <td>a3/3</td>
  +    </tr> 
  +</table>
  +
   
   </body>
   </html>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.3.6.3   +0 -1      embperl/test/html/if.htm
  
  Index: if.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/if.htm,v
  retrieving revision 1.3.6.2
  retrieving revision 1.3.6.3
  diff -u -r1.3.6.2 -r1.3.6.3
  --- if.htm	2000/09/14 05:08:33	1.3.6.2
  +++ if.htm	2001/10/30 09:05:54	1.3.6.3
  @@ -1,4 +1,3 @@
  -
   <html>
   <head>
   <title>IF Metacommand in Embperl</title>
  
  
  
  1.4.6.9   +38 -1     embperl/test/html/table.htm
  
  Index: table.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/table.htm,v
  retrieving revision 1.4.6.8
  retrieving revision 1.4.6.9
  diff -u -r1.4.6.8 -r1.4.6.9
  --- table.htm	2001/10/29 20:07:13	1.4.6.8
  +++ table.htm	2001/10/30 09:05:54	1.4.6.9
  @@ -40,7 +40,6 @@
   
   <P>$tabmode = default <P>
   
  -
   <table>
       <tr>
           <td>[+ $a[$row][0] +]</td>
  @@ -248,6 +247,44 @@
        <td align="center"><font size="+1">[+ $multi[$row][$col] +]</font></td>
      </tr>
   </table>
  +
  +
  +<table border="14"><tr><td>[+ $a[$row][0] +]</td></tr></table>
  +<table border="15"><tr><td>[+ $a[2][$col] +]</td></tr></table>
  +<table border="16"><tr><td>[+ $a[$row][$col] +]</td></tr> </table>
  +
  +<table border="17">
  +  <tr>
  +	<td>[+ $a[$icon_height=$row][0] +]</td>
  +	<td>
  +		[- $icon_width = 5 ; -]
  +
  +		<IMG 
  +		[$ if (($server_type eq "iii")) $]
  +		SRC="/i/www.[+ $server_type +]/[+ $badge || "iiilogo_narrow_if" +].gif" WIDTH="[+ $icon_width +]" HEIGHT="[+ $icon_height +]" BORDER="0"
  +		[$ else $]
  +		SRC="/icons/[+ $badge || "iiilogo_narrow_else" +].gif" WIDTH="[+ $icon_width +]" HEIGHT="[+ $icon_height +]" BORDER="0" 
  +		[$ endif $]
  +		[$ if ($badge eq "iit") $]
  +			ALT="iit logo"
  +		[$ else $]
  +			ALT="iii logo"
  +		[$ endif $]>
  +	</td>
  +  </tr>
  +</table>
  +
  +<table>
  +    <tr>
  +        <td>[+ $a[$row][0] +]</td>
  +    </tr> 
  +</table>
  +<table>
  +    <tr>
  +        <td>[+ $a[2][$col] +]</td>
  +    </tr> 
  +</table>
  +
   
   </body>
   </html>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org