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/04/27 08:33:29 UTC

cvs commit: embperl/test/html inputjava.htm

richter     01/04/26 23:33:28

  Modified:    .        Tag: Embperl2c Changes.pod epparse.c test.pl
               Embperl/Syntax Tag: Embperl2c EmbperlBlocks.pm HTML.pm
               test/cmp Tag: Embperl2c inputjava.htm
               test/cmp2 Tag: Embperl2c if.htm
               test/html Tag: Embperl2c inputjava.htm
  Log:
     - Embperl doesn't search for attributes inside of quotes inside of
       html tags anymore. Spotted by Ian Van der Poel.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.16 +2 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.15
  retrieving revision 1.129.4.16
  diff -u -r1.129.4.15 -r1.129.4.16
  --- Changes.pod	2001/04/27 05:01:13	1.129.4.15
  +++ Changes.pod	2001/04/27 06:33:18	1.129.4.16
  @@ -16,6 +16,8 @@
      - fixed bug in Node_insertAfter which may cause a single Execute
        on the second line of a file to loop endless. Spotted by
        Janny Cavell.
  +   - Embperl doesn't search for attributes inside of quotes inside of
  +     html tags anymore. Spotted by Ian Van der Poel.
   
   =head1 2.0b2 (BETA)  29. Mar 2001
   
  
  
  
  1.4.2.18  +28 -10    embperl/Attic/epparse.c
  
  Index: epparse.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epparse.c,v
  retrieving revision 1.4.2.17
  retrieving revision 1.4.2.18
  diff -u -r1.4.2.17 -r1.4.2.18
  --- epparse.c	2001/04/26 13:12:51	1.4.2.17
  +++ epparse.c	2001/04/27 06:33:18	1.4.2.18
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epparse.c,v 1.4.2.17 2001/04/26 13:12:51 richter Exp $
  +#   $Id: epparse.c,v 1.4.2.18 2001/04/27 06:33:18 richter Exp $
   #
   ###################################################################################*/
   
  @@ -515,14 +515,15 @@
   				int			bUnescape,
   				const char *		pParentNodeName,
   				tNode			xParentNode,
  -				int			level) 
  +				int			level, 
  +				char *			pCDATAStart) 
   
       {
       unsigned char * pStartChars = pTokenTable -> cStartChars ;
       struct tTokenCmp c ;    
       int nEndText = sEndText?strlen (sEndText):0 ;    
       char * pCurr = *ppCurr  ;
  -    char * pCurrStart = pCurr ;
  +    char * pCurrStart = pCDATAStart?pCDATAStart:pCurr ;
       tNode xNewNode ;
       int	    rc ;
       tDomTree * pDomTree = DomTree_self (r -> xCurrDomTree) ;
  @@ -663,16 +664,24 @@
   			xParentNode = Node_parentNode  (pDomTree, xParentNode) ;
   			level-- ;
   			}
  -		    /* add token as node */
  -                    if (!(xNewNode = Node_appendChild (pDomTree, pToken -> nNodeType, (nCDataType == ntypAttrValue && pToken -> nNodeType != ntypAttr)?(pToken -> nForceType?2:1):0, pNodeName, strlen (pNodeName), xParentNode, level, GetLineNoOf (r, pCurrTokenStart))))
  +		    if (pToken -> nNodeType != ntypCDATA || pToken -> sNodeName)
   			{
  -			r -> Buf.pCurrPos = pCurrTokenStart ;
  +			/* add token as node if not cdata*/
  +			if (!(xNewNode = Node_appendChild (pDomTree, pToken -> nNodeType, (nCDataType == ntypAttrValue && pToken -> nNodeType != ntypAttr)?(pToken -> nForceType?2:1):0, pNodeName, strlen (pNodeName), xParentNode, level, GetLineNoOf (r, pCurrTokenStart))))
  +			    {
  +			    r -> Buf.pCurrPos = pCurrTokenStart ;
   
  -			return rc ;
  +			    return rc ;
  +			    }
   			}
  +		    else
  +			{
  +			xNewNode = xParentNode ;
  +			}
  +
   		    if (pInside = pToken -> pInside)
   			{ /* parse for further tokens inside of this token */
  -                        ParseTokens (r, &pCurr, pEnd, pInside, pToken -> sEndText, pToken -> pContains, pToken -> nCDataType == ntypCDATA?ntypAttrValue:pToken -> nCDataType, 0, pToken -> bUnescape, pNodeName, xNewNode, level+1) ;
  +                        ParseTokens (r, &pCurr, pEnd, pInside, pToken -> sEndText, pToken -> pContains, pToken -> nCDataType == ntypCDATA && !pToken -> sNodeName?ntypAttrValue:pToken -> nCDataType, 0, pToken -> bUnescape, pNodeName, xNewNode, level+1, pToken -> nNodeType == ntypCDATA?pCurrTokenStart:0) ;
   			}    
   		    else
   			{ /* nothing more inside of this token allowed, so search for the end of the token */
  @@ -690,6 +699,12 @@
   			    {
   			    pEndCurr = strstr (pCurr, pToken -> sEndText) ;
   			    nSkip = strlen (pToken -> sEndText) ;
  +			    if (pToken -> nNodeType == ntypCDATA && pEndCurr && !pToken -> sNodeName)
  +				{
  +				pEndCurr += nSkip ;
  +				nSkip = 0 ;
  +				pCurr = pCurrTokenStart ;
  +				}
   			    }
   
   			if (pEndCurr)
  @@ -738,10 +753,13 @@
           else if (sEndText == NULL ||
   	    (*pCurr == *sEndText && strncmp (pCurr, sEndText, nEndText) == 0))
               {
  +	    if (pCDATAStart)
  +		pCurr += nEndText ;
   	    if ((pCurr - pCurrStart != 0 || nCDataType == ntypAttrValue) && nCDataType)
   		if (!(xNewNode = Node_appendChild (pDomTree,  nCDataType, 0, pCurrStart, pCurr - pCurrStart, xParentNode, level, GetLineNoOf (r, pCurr))))
   		    return 1 ;
  -            pCurr += nEndText ;
  +	    if (!pCDATAStart)
  +		pCurr += nEndText ;
               *ppCurr = pCurr ;
               return 0 ;
               }
  @@ -804,7 +822,7 @@
   
       pTokenTableSave = r -> pTokenTable ;
       
  -    if ((rc = ParseTokens (r, &pStart, pEnd, r -> pTokenTable, "", NULL, ntypCDATA, 0, 0, "root", xDocNode, 0)) != ok)
  +    if ((rc = ParseTokens (r, &pStart, pEnd, r -> pTokenTable, "", NULL, ntypCDATA, 0, 0, "root", xDocNode, 0, NULL)) != ok)
   	return rc ; 
       
       r -> pTokenTable = pTokenTableSave ;
  
  
  
  1.70.4.48 +4 -1      embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.70.4.47
  retrieving revision 1.70.4.48
  diff -u -r1.70.4.47 -r1.70.4.48
  --- test.pl	2001/04/27 05:01:14	1.70.4.47
  +++ test.pl	2001/04/27 06:33:19	1.70.4.48
  @@ -11,7 +11,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: test.pl,v 1.70.4.47 2001/04/27 05:01:14 richter Exp $
  +#   $Id: test.pl,v 1.70.4.48 2001/04/27 06:33:19 richter Exp $
   #
   ###################################################################################
    
  @@ -166,6 +166,9 @@
           },
       'java.htm' => { },
       'inputjava.htm' => { },
  +    'inputjs2.htm' => {
  +        'version'    => 2,
  +     },
       'heredoc.htm' => { },
       'post.htm' => {
           'offline'    => 0,
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.16  +17 -1     embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm
  
  Index: EmbperlBlocks.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/EmbperlBlocks.pm,v
  retrieving revision 1.1.2.15
  retrieving revision 1.1.2.16
  diff -u -r1.1.2.15 -r1.1.2.16
  --- EmbperlBlocks.pm	2001/04/26 13:13:05	1.1.2.15
  +++ EmbperlBlocks.pm	2001/04/27 06:33:21	1.1.2.16
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: EmbperlBlocks.pm,v 1.1.2.15 2001/04/26 13:13:05 richter Exp $
  +#   $Id: EmbperlBlocks.pm,v 1.1.2.16 2001/04/27 06:33:21 richter Exp $
   #
   ###################################################################################
    
  @@ -212,6 +212,22 @@
                           }
                       }
                   }
  +            }
  +
  +        my $quotes = $self -> {"-htmlQuotes"} ;
  +        my $blocks = $self -> {"-epbBlocks"} ;
  +        while (my ($k2, $v2) = each %$quotes)
  +            {
  +            if (ref($v2) eq 'HASH')
  +		{	  
  +		$v2 -> {inside} ||= {} ;
  +                my $inside = $v2 -> {inside} ;
  +
  +	        while (my ($k, $v) = each (%$blocks))
  +                    {
  +                    $inside -> {$k} = $v ;
  +                    }
  +		}
               }
           }
       return $tag ;
  
  
  
  1.1.2.11  +20 -3     embperl/Embperl/Syntax/Attic/HTML.pm
  
  Index: HTML.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Attic/HTML.pm,v
  retrieving revision 1.1.2.10
  retrieving revision 1.1.2.11
  diff -u -r1.1.2.10 -r1.1.2.11
  --- HTML.pm	2001/03/28 19:15:32	1.1.2.10
  +++ HTML.pm	2001/04/27 06:33:22	1.1.2.11
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: HTML.pm,v 1.1.2.10 2001/03/28 19:15:32 richter Exp $
  +#   $Id: HTML.pm,v 1.1.2.11 2001/04/27 06:33:22 richter Exp $
   #
   ###################################################################################
    
  @@ -21,7 +21,7 @@
   use HTML::Embperl::Syntax (':types') ;
   
   use strict ;
  -use vars qw{@ISA %Attr %AssignAttr %AssignAttrLink} ;
  +use vars qw{@ISA %Attr %AssignAttr %AssignAttrLink %Quotes} ;
   
   
   @ISA = qw(HTML::Embperl::Syntax) ;
  @@ -50,6 +50,7 @@
           {
           $self -> {-htmlAssignAttr}     = $self -> CloneHash (\%AssignAttr) ;
           $self -> {-htmlAssignAttrLink} = $self -> CloneHash (\%AssignAttr) ;
  +        $self -> {-htmlQuotes}         = $self -> CloneHash (\%Quotes) ;
           }
   
       return $self ;
  @@ -80,7 +81,7 @@
                                 } ;
       $tag -> {'procinfo'} = { $self -> {-procinfotype} => $procinfo } if ($procinfo) ;
   
  -    my %inside ;
  +    my %inside = %{$self -> {-htmlQuotes}} ;
       my $addinside = 0 ;
       if ($attrs)
           {
  @@ -272,6 +273,22 @@
           }
       ) ;
   
  +%Quotes = (
  +    'Quote ""' => 
  +        {
  +        'text'   => '"',
  +        'end'    => '"',
  +        'nodetype'   => ntypCDATA,
  +        'cdatatype'  => ntypAttrValue,
  +        },
  +    'Quote \'\'' => 
  +        {
  +        'text'   => '\'',
  +        'end'    => '\'',
  +        'nodetype'   => ntypCDATA,
  +        'cdatatype'  => ntypAttrValue,
  +        },
  +    ) ;
   
   
   1;
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.3.6.3   +7 -0      embperl/test/cmp/inputjava.htm
  
  Index: inputjava.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/inputjava.htm,v
  retrieving revision 1.3.6.2
  retrieving revision 1.3.6.3
  diff -u -r1.3.6.2 -r1.3.6.3
  --- inputjava.htm	2001/04/27 05:01:16	1.3.6.2
  +++ inputjava.htm	2001/04/27 06:33:23	1.3.6.3
  @@ -16,7 +16,14 @@
   	<select bla="xxx" onChange="javascript:this.value=this.value.toUpperCase();"   name="xxx"> </select>
   	<foo  bla="xxx" onChange="javascript:this.value=this.value.toUpperCase();" name="xxx">
   
  +	<input type="text" name="titleref" value=""  SIZE="20"    
  +        MAXSIZE="20" onChange="javascript:this.value=this.value.toUpperCase();">
   
  +^	<input type=("text"|'text') name="titleref" value=""  SIZE='20'    
  +        MAXSIZE="20" onChange='javascript:this.value=this.value.toUpperCase();'>
  +
  +^	<input type=("text"|'text') name="titleref" value=""  SIZE='20'    
  +        MAXSIZE="20" onChange='javascript:this.value=this.value.toUpperCase(1);'>
   
       </body>
     </html>
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +7 -18     embperl/test/cmp2/Attic/if.htm
  
  Index: if.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp2/Attic/if.htm,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- if.htm	2000/09/14 05:10:43	1.1.2.1
  +++ if.htm	2001/04/27 06:33:25	1.1.2.2
  @@ -57,9 +57,7 @@
     <TD ALIGN="LEFT">
      <a href="/">
      <img src="/icons/iiilogo_narrow.gif" 
  -  WIDTH="" HEIGHT="" BORDER="0" 
  -    ALT="iii logo"
  -     qqq >
  +  WIDTH="" HEIGHT="" BORDER="0" ALT="iii logo"  qqq >
   
     </TD>
   </tr>
  @@ -70,27 +68,18 @@
     <TD ALIGN="LEFT">
      <a href="/">
      <img src="/i/www.iii.co.uk/iiilogo_narrow.gif" 
  -  WIDTH="1" HEIGHT="2" BORDER="0" 
  -    ALT="iii logo"
  -     onload="window.open('/iit/leavingiit.epl','dis','status=no,scrollbars=no,resizable=yes,width=370,height=320,screenX=100,screenY=100,top=100,left=100'); return false"
  -    >
  +  WIDTH="1" HEIGHT="2" BORDER="0" ALT="iii logo"  onload="window.open('/iit/leavingiit.epl','dis','status=no,scrollbars=no,resizable=yes,width=370,height=320,screenX=100,screenY=100,top=100,left=100'); return false" >
   
     </TD>
   </tr>
   </table>
   
   
  -<img  src="/icons/iiilogo_narrow_else.gif"  WIDTH="5" HEIGHT="10" BORDER="0" 
  -  ALT="iii logo"
  - >
  -
  -<img  src="/i/www.iii/iit.gif"  WIDTH="6" HEIGHT="11" BORDER="0"
  -  ALT="iit logo"
  - >
  -
  -<img  src="/i/www.iii/iit.gif"  WIDTH="6" HEIGHT="11" BORDER="0"
  -  ALT="iit logo"
  - qqq>
  +<img  src="/icons/iiilogo_narrow_else.gif"  WIDTH="5" HEIGHT="10" BORDER="0"  ALT="iii logo" >
  +
  +<img  src="/i/www.iii/iit.gif"  WIDTH="6" HEIGHT="11" BORDER="0"  ALT="iit logo" >
  +
  +<img  src="/i/www.iii/iit.gif"  WIDTH="6" HEIGHT="11" BORDER="0"  ALT="iit logo" qqq>
   
   
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1.6.2 +7 -0      embperl/test/html/inputjava.htm
  
  Index: inputjava.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/inputjava.htm,v
  retrieving revision 1.1.2.1.6.1
  retrieving revision 1.1.2.1.6.2
  diff -u -r1.1.2.1.6.1 -r1.1.2.1.6.2
  --- inputjava.htm	2001/04/27 05:01:17	1.1.2.1.6.1
  +++ inputjava.htm	2001/04/27 06:33:27	1.1.2.1.6.2
  @@ -28,7 +28,14 @@
   	<select  bla="xxx" onChange="javascript:this.value=this.value.toUpperCase();"  name="xxx"> </select>
   	<foo  bla="xxx" onChange="javascript:this.value=this.value.toUpperCase();" name="xxx">
   
  +	<INPUT TYPE="text" NAME="titleref" VALUE="" SIZE="20"    
  +        MAXSIZE="20" onChange="javascript:this.value=this.value.toUpperCase();">
   
  +	<INPUT TYPE='text' NAME="titleref" VALUE="" SIZE='20'    
  +        MAXSIZE="20" onChange='javascript:this.value=this.value.toUpperCase();'>
  +
  +	<INPUT TYPE='text' NAME="titleref" VALUE="" SIZE='20'    
  +        MAXSIZE="20" onChange='javascript:this.value=this.value.toUpperCase([+ '1' +]);'>
   
     </body>
     </html>
  
  
  

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