Annotation of loncom/xml/londefdef.pm, revision 1.30

1.1       sakharuk    1: # The LearningOnline Network with CAPA
                      2: # Tags Default Definition Module 
                      3: #
                      4: # last modified 06/26/00 by Alexander Sakharuk
1.28      www         5: # 11/6,11/30,02/01/01,5/4 Gerd Kortemeyer
1.1       sakharuk    6: 
1.2       albertel    7: package Apache::londefdef; 
1.1       sakharuk    8: 
                      9: use strict;
1.3       sakharuk   10: use Apache::lonxml;
1.1       sakharuk   11: 
1.3       sakharuk   12: sub BEGIN {
1.15      sakharuk   13: 
1.20      www        14:     &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','select','option','input','textarea','form','meta','title','body','center','b','strong','table','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u','output','param','applet','img','embed','tr','td','allow'));
1.15      sakharuk   15: 
1.3       sakharuk   16: }
1.1       sakharuk   17: 
                     18: #===================================================================== TAG SUBROUTINES
1.8       sakharuk   19: #-- <output>
1.21      albertel   20: sub start_output {
                     21:   my ($target) = @_;
1.22      albertel   22:   if ($target eq 'meta') { $Apache::lonxml::metamode--; }
1.21      albertel   23:   return '';
                     24: }
                     25: sub end_output {
                     26:   my ($target) = @_;
1.22      albertel   27:   if ($target eq 'meta') { $Apache::lonxml::metamode++; }
1.21      albertel   28:   return '';
                     29: }
1.4       sakharuk   30: #-- <m> tag
1.1       sakharuk   31:         sub start_m {
1.30    ! albertel   32: 	    my ($target,$token,$tagstack,$parstack,$parser) = @_;
1.1       sakharuk   33:             my $currentstring = '';
                     34:             if ($target eq 'web') {
1.5       sakharuk   35: 		my $inside = &Apache::lonxml::get_all_text("/m",$$parser[$#$parser]); 
                     36:                 $inside ='\\documentstyle{article}'.$inside;
                     37: #          &Apache::lonxml::debug($inside);
                     38:                 $currentstring = &Apache::lontexconvert::converted(\$inside);
                     39: #          &Apache::lonxml::debug($currentstring);
                     40: 
1.1       sakharuk   41: 	    } elsif ($target eq 'tex') {
1.7       sakharuk   42:               $currentstring = "";
1.1       sakharuk   43:             }
                     44: 	   return $currentstring;
                     45: 	}
                     46:         sub end_m {
                     47: 	    my ($target,$token) = @_;
                     48:             my $currentstring = '';
                     49:             if ($target eq 'web') {
                     50:             } elsif ($target eq 'tex') {
1.7       sakharuk   51:               $currentstring = "";
1.6       sakharuk   52: 	    } elsif ($target eq 'meta') {
1.1       sakharuk   53:             }
                     54: 	   return $currentstring;
                     55: 	}
                     56: #-------------------------------------------------------------------------- <html> tag    
                     57:       sub start_html {
                     58: 	    my ($target,$token) = @_;
                     59:             my $currentstring = '';
                     60:             if ($target eq 'web') {
1.29      www        61:               $currentstring = &Apache::lonxml::xmlbegin().
                     62:                                &Apache::lonxml::fontsettings();     
1.1       sakharuk   63: 	    } 
                     64: 	   return $currentstring;
                     65: 	}
                     66:         sub end_html {
                     67: 	    my ($target,$token) = @_;
                     68:             my $currentstring = '';
                     69:             if ($target eq 'web') {
1.28      www        70: 		$currentstring = &Apache::lonxml::xmlend();
1.1       sakharuk   71:             } 
                     72: 	   return $currentstring;
                     73: 	}
                     74: #-------------------------------------------------------------------------- <head> tag
                     75:       sub start_head {
                     76: 	    my ($target,$token) = @_;
                     77:             my $currentstring = '';
                     78:             if ($target eq 'web') {
                     79:               $currentstring = $token->[4];     
                     80: 	    } 
                     81: 	   return $currentstring;
                     82: 	}
                     83:         sub end_head {
                     84: 	    my ($target,$token) = @_;
                     85:             my $currentstring = '';
                     86:             if ($target eq 'web') {
1.29      www        87:               $currentstring = &Apache::lonxml::registerurl().
                     88:                                $token->[2];    
1.1       sakharuk   89:             } 
                     90: 	   return $currentstring;
                     91: 	}
                     92: #--------------------------------------------------------------------------- <map> tag
                     93:       sub start_map {
                     94: 	    my ($target,$token) = @_;
                     95:             my $currentstring = '';
                     96:             if ($target eq 'web') {
                     97:               $currentstring = $token->[4];     
                     98: 	    } 
                     99: 	   return $currentstring;
                    100: 	}
                    101:         sub end_map {
                    102: 	    my ($target,$token) = @_;
                    103:             my $currentstring = '';
                    104:             if ($target eq 'web') {
                    105:               $currentstring = $token->[2];    
                    106:             } 
                    107: 	   return $currentstring;
                    108: 	}
1.19      www       109: 
1.1       sakharuk  110: #------------------------------------------------------------------------ <select> tag
                    111:       sub start_select {
                    112: 	    my ($target,$token) = @_;
                    113:             my $currentstring = '';
                    114:             if ($target eq 'web') {
                    115:               $currentstring = $token->[4];     
                    116: 	    } 
                    117: 	   return $currentstring;
                    118: 	}
                    119:         sub end_select {
                    120: 	    my ($target,$token) = @_;
                    121:             my $currentstring = '';
                    122:             if ($target eq 'web') {
                    123:               $currentstring = $token->[2];    
                    124:             } 
                    125: 	   return $currentstring;
                    126: 	}
                    127: #------------------------------------------------------------------------ <option> tag
                    128:       sub start_option {
                    129: 	    my ($target,$token) = @_;
                    130:             my $currentstring = '';
                    131:             if ($target eq 'web') {
                    132:               $currentstring = $token->[4];     
                    133: 	    } 
                    134: 	   return $currentstring;
                    135: 	}
                    136:         sub end_option {
                    137: 	    my ($target,$token) = @_;
                    138:             my $currentstring = '';
                    139:             if ($target eq 'web') {
                    140:               $currentstring = $token->[2];    
                    141:             } 
                    142: 	   return $currentstring;
                    143: 	}
                    144: #------------------------------------------------------------------------- <input> tag
                    145:       sub start_input {
                    146: 	    my ($target,$token) = @_;
                    147:             my $currentstring = '';
                    148:             if ($target eq 'web') {
                    149:               $currentstring = $token->[4];     
                    150: 	    } 
                    151: 	   return $currentstring;
                    152: 	}
                    153:         sub end_input {
                    154: 	    my ($target,$token) = @_;
                    155:             my $currentstring = '';
                    156:             if ($target eq 'web') {
                    157:               $currentstring = $token->[2];    
                    158:             } 
                    159: 	   return $currentstring;
                    160: 	}
                    161: #---------------------------------------------------------------------- <textarea> tag
                    162:       sub start_textarea {
                    163: 	    my ($target,$token) = @_;
                    164:             my $currentstring = '';
                    165:             if ($target eq 'web') {
                    166:               $currentstring = $token->[4];     
                    167: 	    } 
                    168: 	   return $currentstring;
                    169: 	}
                    170:         sub end_textarea {
                    171: 	    my ($target,$token) = @_;
                    172:             my $currentstring = '';
                    173:             if ($target eq 'web') {
                    174:               $currentstring = $token->[2];    
                    175:             } 
                    176: 	   return $currentstring;
                    177: 	}
                    178: #-------------------------------------------------------------------------- <form> tag
                    179:       sub start_form {
                    180: 	    my ($target,$token) = @_;
                    181:             my $currentstring = '';
                    182:             if ($target eq 'web') {
                    183:               $currentstring = $token->[4];     
                    184: 	    } 
                    185: 	   return $currentstring;
                    186: 	}
                    187:         sub end_form {
                    188: 	    my ($target,$token) = @_;
                    189:             my $currentstring = '';
                    190:             if ($target eq 'web') {
                    191:               $currentstring = $token->[2];    
                    192:             } 
                    193: 	   return $currentstring;
                    194: 	}
                    195: #------------------------------------------------------------------------- <title> tag
                    196:       sub start_title {
                    197: 	    my ($target,$token) = @_;
                    198:             my $currentstring = '';
                    199:             if ($target eq 'web') {
                    200:               $currentstring = $token->[4];     
                    201: 	    }
1.13      www       202:             if ($target eq 'meta') {
                    203: 		$currentstring='<title>';
                    204:                 &start_output();
                    205:             }
1.1       sakharuk  206: 	   return $currentstring;
                    207: 	}
                    208:         sub end_title {
                    209: 	    my ($target,$token) = @_;
                    210:             my $currentstring = '';
                    211:             if ($target eq 'web') {
                    212:               $currentstring = $token->[2];    
1.13      www       213:             }
                    214:             if ($target eq 'meta') {
                    215:                &end_output();
                    216:                $currentstring='</title>';
1.1       sakharuk  217:             } 
                    218: 	   return $currentstring;
                    219: 	}
                    220: #-------------------------------------------------------------------------- <meta> tag
                    221:       sub start_meta {
1.30    ! albertel  222: 	    my ($target,$token,$tagstack,$parstack,$parser) = @_;
1.1       sakharuk  223:             my $currentstring = '';
                    224:             if ($target eq 'web') {
1.25      albertel  225: 	      my $args='';
                    226: 	      if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
                    227: 	      if ($args eq '') {
                    228: 		&Apache::lonxml::get_all_text("/meta",$$parser[$#$parser]);
                    229: 	      } else {
                    230: 		$currentstring = $token->[4];
                    231: 	      }
1.12      www       232: 	    }
                    233:             if ($target eq 'meta') {
                    234: 		unless ($token->[2]->{'http-equiv'}) {
                    235: 		    my $name=$token->[2]->{'name'};
                    236:                     $name=~tr/A-Z/a-z/;
                    237:                     $name=~s/\s/\_/g;
                    238:                     if ($name) {
                    239:                        $currentstring='<'.$name.'>'.
                    240:                                          $token->[2]->{'content'}.
                    241: 			              '</'.$name.'>';
                    242: 		    }
                    243:                 }
1.1       sakharuk  244: 	    }
                    245: 	   return $currentstring;
                    246: 	}
1.26      albertel  247:       sub end_meta {
1.30    ! albertel  248: 	my ($target,$token,$tagstack,$parstack,$parser) = @_;
1.26      albertel  249: 	my $currentstring = '';
                    250: 	if ($target eq 'web') {
                    251: 	  my $args='';
                    252: 	  if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
                    253: 	  if ($args ne '') {
                    254: 	    $currentstring = $token->[4];
                    255: 	  }
                    256: 	} 
                    257: 	return $currentstring;
                    258:       }
1.1       sakharuk  259: #-------------------------------------------------------------------------- <body> tag
                    260:         sub start_body {
                    261: 	    my ($target,$token) = @_;
                    262:             my $currentstring = '';
                    263:             if ($target eq 'web') {
1.28      www       264: 		$token->[2]->{'onLoad'}.=&Apache::lonxml::loadevents();
                    265: 		$token->[2]->{'onUnload'}.=&Apache::lonxml::unloadevents();
                    266:              
                    267: 		$currentstring = '<'.$token->[1];
                    268:                 map {
                    269: 		    $currentstring.=' '.$_.'="'.$token->[2]->{$_}.'"';
                    270:                 } keys %{$token->[2]};
                    271:                 $currentstring.='>';
                    272:        	    } elsif ($target eq 'tex') {
1.1       sakharuk  273:               $currentstring = " \\begin{document} ";  
                    274: 	    } 
                    275: 	   return $currentstring;
                    276: 	}
                    277:         sub end_body {
                    278: 	    my ($target,$token) = @_;
                    279:             my $currentstring = '';
                    280:             if ($target eq 'web') {
                    281:               $currentstring = $token->[2];     
                    282: 	    } elsif ($target eq 'tex') {
                    283:               $currentstring = " \\end{document}";  
                    284: 	    } 
                    285: 	   return $currentstring;
                    286: 	}
                    287: #------------------------------------------------------------------------ <center> tag
                    288:         sub start_center {
                    289: 	    my ($target,$token) = @_;
                    290:             my $currentstring = '';
                    291:             if ($target eq 'web') {
                    292:               $currentstring = $token->[4];     
                    293: 	    } elsif ($target eq 'tex') {
                    294:               $currentstring = " \\begin{center} ";  
1.18      sakharuk  295: 	    }  elsif ($target eq 'latexsource') {
                    296:               $currentstring = " \\begin{center} ";  
1.1       sakharuk  297: 	    } 
                    298: 	   return $currentstring;
                    299: 	}
                    300:         sub end_center {
                    301: 	    my ($target,$token) = @_;
                    302:             my $currentstring = '';
                    303:             if ($target eq 'web') {
                    304:               $currentstring = $token->[2];     
                    305: 	    } elsif ($target eq 'tex') {
                    306:               $currentstring = " \\end{center}";  
1.18      sakharuk  307: 	    }  elsif ($target eq 'latexsource') {
                    308:               $currentstring = " \\end{center}";  
1.1       sakharuk  309: 	    } 
                    310: 	   return $currentstring;
                    311: 	}
                    312: #----------------------------------------------------------------------------- <b> tag
                    313:         sub start_b {
                    314: 	    my ($target,$token) = @_;
                    315:             my $currentstring = '';
                    316:             if ($target eq 'web') {
                    317:               $currentstring = $token->[4];     
                    318: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  319:               $currentstring = " \\textbf{";  
                    320: 	    }  elsif ($target eq 'latexsource') {
                    321:               $currentstring = " \\textbf{";  
1.1       sakharuk  322: 	    } 
                    323: 	   return $currentstring;
                    324: 	}
                    325:         sub end_b {
                    326: 	    my ($target,$token) = @_;
                    327:             my $currentstring = '';
                    328:             if ($target eq 'web') {
                    329:               $currentstring = $token->[2];     
                    330: 	    } elsif ($target eq 'tex') {
                    331:               $currentstring = "}";  
1.18      sakharuk  332: 	    } elsif ($target eq 'latexsource') {
                    333:               $currentstring = "}";  
1.1       sakharuk  334: 	    } 
                    335: 	   return $currentstring;
                    336: 	}
                    337: #------------------------------------------------------------------------ <strong> tag
                    338:         sub start_strong {
                    339: 	    my ($target,$token) = @_;
                    340:             my $currentstring = '';
                    341:             if ($target eq 'web') {
                    342:               $currentstring = $token->[4];     
                    343: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  344:               $currentstring = " \\textbf{";  
                    345: 	    } elsif ($target eq 'latexsource') {
                    346:               $currentstring = " \\textbf{";  
1.1       sakharuk  347: 	    } 
                    348: 	   return $currentstring;
                    349: 	}
                    350:         sub end_strong {
                    351: 	    my ($target,$token) = @_;
                    352:             my $currentstring = '';
                    353:             if ($target eq 'web') {
                    354: 
                    355:               $currentstring = $token->[2];     
                    356: 	    } elsif ($target eq 'tex') {
                    357:               $currentstring = "}";  
1.18      sakharuk  358: 	    }  elsif ($target eq 'latexsource') {
                    359:               $currentstring = "}";  
1.1       sakharuk  360: 	    } 
                    361: 	   return $currentstring;
                    362: 	}
                    363: #---------------------------------------------------------------------------- <h1> tag
                    364:         sub start_h1 {
                    365: 	    my ($target,$token) = @_;
                    366:             my $currentstring = '';
                    367:             if ($target eq 'web') {
                    368: 	       $currentstring .= $token->[4];
                    369: 	    } elsif ($target eq 'tex') {
                    370: 		$currentstring .= "\\chapter{ ";
1.13      www       371: 	    } elsif ($target eq 'meta') {
                    372: 		$currentstring='<subject>';
                    373:                 &start_output();
                    374:             }
1.1       sakharuk  375:            return $currentstring;
                    376: 	}
                    377:         sub end_h1 {
                    378: 	    my ($target,$token) = @_;
                    379:             my $currentstring = '';
                    380:             if ($target eq 'web') {
                    381: 	       $currentstring .= $token->[2];
                    382: 	    } elsif ($target eq 'tex') {
                    383: 		$currentstring .= "}";
1.13      www       384: 	    } elsif ($target eq 'meta') {
                    385:                 &end_output();
                    386: 		$currentstring='</subject>';
                    387:             } 
1.1       sakharuk  388:            return $currentstring;
                    389: 	}
                    390: #---------------------------------------------------------------------------- <h2> tag
                    391:         sub start_h2 {
                    392: 	    my ($target,$token) = @_;
                    393:             my $currentstring = '';
                    394:             if ($target eq 'web') {
                    395: 	       $currentstring .= $token->[4];
                    396: 	    } elsif ($target eq 'tex') {
                    397: 		$currentstring .= "\\section{ ";
                    398: 	    } 
                    399:            return $currentstring;
                    400: 	}
                    401:         sub end_h2 {
                    402: 	    my ($target,$token) = @_;
                    403:             my $currentstring = '';
                    404:             if ($target eq 'web') {
                    405: 	       $currentstring .= $token->[2];
                    406: 	    } elsif ($target eq 'tex') {
                    407: 		$currentstring .= "}";
                    408: 	    } 
                    409:            return $currentstring;
                    410: 	}
                    411: #---------------------------------------------------------------------------- <h3> tag
                    412:         sub start_h3 {
                    413: 	    my ($target,$token) = @_;
                    414:             my $currentstring = '';
                    415:             if ($target eq 'web') {
                    416: 	       $currentstring .= $token->[4];
                    417: 	    } elsif ($target eq 'tex') {
                    418: 		$currentstring .= "\\subsection{ ";
                    419: 	    } 
                    420:            return $currentstring;
                    421: 	}
                    422:         sub end_h3 {
                    423: 	    my ($target,$token) = @_;
                    424:             my $currentstring = '';
                    425:             if ($target eq 'web') {
                    426: 	       $currentstring .= $token->[2];
                    427: 	    } elsif ($target eq 'tex') {
                    428: 		$currentstring .= "}";
                    429: 	    } 
                    430:            return $currentstring;
                    431: 	}
                    432: #---------------------------------------------------------------------------- <h4> tag
                    433:         sub start_h4 {
                    434: 	    my ($target,$token) = @_;
                    435:             my $currentstring = '';
                    436:             if ($target eq 'web') {
                    437: 	       $currentstring .= $token->[4];
                    438: 	    } elsif ($target eq 'tex') {
                    439: 		$currentstring .= "\\subsubsection{ ";
                    440: 	    } 
                    441:            return $currentstring;
                    442: 	}
                    443:         sub end_h4 {
                    444: 	    my ($target,$token) = @_;
                    445:             my $currentstring = '';
                    446:             if ($target eq 'web') {
                    447: 	       $currentstring .= $token->[2];
                    448: 	    } elsif ($target eq 'tex') {
                    449: 		$currentstring .= "}";
                    450: 	    } 
                    451:            return $currentstring;
                    452: 	}
                    453: #---------------------------------------------------------------------------- <h5> tag
                    454:         sub start_h5 {
                    455: 	    my ($target,$token) = @_;
                    456:             my $currentstring = '';
                    457:             if ($target eq 'web') {
                    458: 	       $currentstring .= $token->[4];
                    459: 	    } elsif ($target eq 'tex') {
                    460: 		$currentstring .= "\\paragraph{ ";
                    461: 	    } 
                    462:            return $currentstring;
                    463: 	}
                    464:         sub end_h5 {
                    465: 	    my ($target,$token) = @_;
                    466:             my $currentstring = '';
                    467:             if ($target eq 'web') {
                    468: 	       $currentstring .= $token->[2];
                    469: 	    } elsif ($target eq 'tex') {
                    470: 		$currentstring .= "}";
                    471: 	    } 
                    472:            return $currentstring;
                    473: 	}
                    474: #---------------------------------------------------------------------------- <h6> tag
                    475:         sub start_h6 {
                    476: 	    my ($target,$token) = @_;
                    477:             my $currentstring = '';
                    478:             if ($target eq 'web') {
                    479: 	       $currentstring .= $token->[4];
                    480: 	    } elsif ($target eq 'tex') {
                    481: 		$currentstring .= "\\subparagraph{ ";
                    482: 	    } 
                    483:            return $currentstring;
                    484: 	}
                    485:         sub end_h6 {
                    486: 	    my ($target,$token) = @_;
                    487:             my $currentstring = '';
                    488:             if ($target eq 'web') {
                    489: 	       $currentstring .= $token->[2];
                    490: 	    } elsif ($target eq 'tex') {
                    491: 		$currentstring .= "}";
                    492: 	    } 
                    493:            return $currentstring;
                    494: 	}
                    495: #-------------------------------------------------------------------------- <cite> tag
                    496:         sub start_cite {
                    497: 	    my ($target,$token) = @_;
                    498:             my $currentstring = '';
                    499:             if ($target eq 'web') {
                    500: 	       $currentstring .= $token->[4];
                    501: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  502: 		$currentstring .= "\\textit{";
                    503: 	    }  elsif ($target eq 'latexsource') {
                    504: 		$currentstring .= "\\textit{";
1.1       sakharuk  505: 	    } 
                    506:            return $currentstring;
                    507: 	}
                    508:         sub end_cite {
                    509: 	    my ($target,$token) = @_;
                    510:             my $currentstring = '';
                    511:             if ($target eq 'web') {
                    512: 	       $currentstring .= $token->[2];
                    513: 	    } elsif ($target eq 'tex') {
                    514: 		$currentstring .= "}";
1.18      sakharuk  515: 	    }  elsif ($target eq 'latexsource') {
                    516: 		$currentstring .= "}";
1.1       sakharuk  517: 	    } 
                    518:            return $currentstring;
                    519: 	}
                    520: #----------------------------------------------------------------------------- <i> tag
                    521:         sub start_i {
                    522: 	    my ($target,$token) = @_;
                    523:             my $currentstring = '';
                    524:             if ($target eq 'web') {
                    525: 	       $currentstring .= $token->[4];
                    526: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  527: 		$currentstring .= "\\textit{";
                    528: 	    }  elsif ($target eq 'latexsource') {
                    529: 		$currentstring .= "\\textit{";
1.1       sakharuk  530: 	    } 
                    531:            return $currentstring;
                    532: 	}
                    533:         sub end_i {
                    534: 	    my ($target,$token) = @_;
                    535:             my $currentstring = '';
                    536:             if ($target eq 'web') {
                    537: 	       $currentstring .= $token->[2];
                    538: 	    } elsif ($target eq 'tex') {
                    539: 		$currentstring .= "}";
1.18      sakharuk  540: 	    } elsif ($target eq 'latexsource') {
                    541: 		$currentstring .= "}";
1.1       sakharuk  542: 	    } 
                    543:            return $currentstring;
                    544: 	}
                    545: #----------------------------------------------------------------------- <address> tag
                    546:         sub start_address {
                    547: 	    my ($target,$token) = @_;
                    548:             my $currentstring = '';
                    549:             if ($target eq 'web') {
                    550: 	       $currentstring .= $token->[4];
                    551: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  552: 		$currentstring .= "\\textit{";
                    553: 	    } elsif ($target eq 'latexsource') {
                    554: 		$currentstring .= "\\textit{";
1.1       sakharuk  555: 	    } 
                    556:            return $currentstring;
                    557: 	}
                    558:         sub end_address {
                    559: 	    my ($target,$token) = @_;
                    560:             my $currentstring = '';
                    561:             if ($target eq 'web') {
                    562: 	       $currentstring .= $token->[2];
                    563: 	    } elsif ($target eq 'tex') {
                    564: 		$currentstring .= "}";
1.18      sakharuk  565: 	    } elsif ($target eq 'latexsource') {
                    566: 		$currentstring .= "}";
1.1       sakharuk  567: 	    }
                    568:            return $currentstring;
                    569: 	}
                    570: #--------------------------------------------------------------------------- <dfn> tag
                    571:         sub start_dfn {
                    572: 	    my ($target,$token) = @_;
                    573:             my $currentstring = '';
                    574:             if ($target eq 'web') {
                    575: 	       $currentstring .= $token->[4];
                    576: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  577: 		$currentstring .= "\\textit{";
                    578: 	    } elsif ($target eq 'latexsource') {
                    579: 		$currentstring .= "\\textit{";
1.1       sakharuk  580: 	    } 
                    581:            return $currentstring;
                    582: 	}
                    583:         sub end_dfn {
                    584: 	    my ($target,$token) = @_;
                    585:             my $currentstring = '';
                    586:             if ($target eq 'web') {
                    587: 	       $currentstring .= $token->[2];
                    588: 	    } elsif ($target eq 'tex') {
                    589: 		$currentstring .= "}";
1.18      sakharuk  590: 	    } elsif ($target eq 'latexsource') {
                    591: 		$currentstring .= "}";
1.1       sakharuk  592: 	    } 
                    593:            return $currentstring;
                    594: 	}
                    595: #---------------------------------------------------------------------------- <tt> tag
                    596:         sub start_tt {
                    597: 	    my ($target,$token) = @_;
                    598:             my $currentstring = '';
                    599:             if ($target eq 'web') {
                    600: 	       $currentstring .= $token->[4];
                    601: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  602: 		$currentstring .= "\\texttt{";
                    603: 	    } elsif ($target eq 'latexsource') {
                    604: 		$currentstring .= "\\texttt{";
1.1       sakharuk  605: 	    } 
                    606:            return $currentstring;
                    607: 	}
                    608:         sub end_tt {
                    609: 	    my ($target,$token) = @_;
                    610:             my $currentstring = '';
                    611:             if ($target eq 'web') {
                    612: 	       $currentstring .= $token->[2];
                    613: 	    } elsif ($target eq 'tex') {
                    614: 		$currentstring .= "}";
1.18      sakharuk  615: 	    } elsif ($target eq 'latexsource') {
                    616: 		$currentstring .= "}";
                    617: 	    }
1.1       sakharuk  618:            return $currentstring;
                    619: 	}
                    620: #---------------------------------------------------------------------------- <kbd> tag
                    621:         sub start_kbd {
                    622: 	    my ($target,$token) = @_;
                    623:             my $currentstring = '';
                    624:             if ($target eq 'web') {
                    625: 	       $currentstring .= $token->[4];
                    626: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  627: 		$currentstring .= "\\texttt";
                    628: 	    } elsif ($target eq 'latexsource') {
                    629: 		$currentstring .= "\\texttt{";
1.1       sakharuk  630: 	    } 
                    631:            return $currentstring;
                    632: 	}
                    633:         sub end_kbd {
                    634: 	    my ($target,$token) = @_;
                    635:             my $currentstring = '';
                    636:             if ($target eq 'web') {
                    637: 	       $currentstring .= $token->[2];
                    638: 	    } elsif ($target eq 'tex') {
                    639: 		$currentstring .= "}";
1.18      sakharuk  640: 	    } elsif ($target eq 'latexsource') {
                    641: 		$currentstring .= "}";
1.1       sakharuk  642: 	    } 
                    643:            return $currentstring;
                    644: 	}
                    645: #-------------------------------------------------------------------------- <code> tag
                    646:         sub start_code {
                    647: 	    my ($target,$token) = @_;
                    648:             my $currentstring = '';
                    649:             if ($target eq 'web') {
                    650: 	       $currentstring .= $token->[4];
                    651: 	    } elsif ($target eq 'tex') {
                    652: 		$currentstring .= "{ \\tt ";
                    653: 	    } 
                    654:            return $currentstring;
                    655: 	}
                    656:         sub end_code {
                    657: 	    my ($target,$token) = @_;
                    658:             my $currentstring = '';
                    659:             if ($target eq 'web') {
                    660: 	       $currentstring .= $token->[2];
                    661: 	    } elsif ($target eq 'tex') {
                    662: 		$currentstring .= "}";
                    663: 	    } 
                    664:            return $currentstring;
                    665: 	}
                    666: #---------------------------------------------------------------------------- <em> tag
                    667:         sub start_em {
                    668: 	    my ($target,$token) = @_;
                    669:             my $currentstring = '';
                    670:             if ($target eq 'web') {
                    671: 	       $currentstring .= $token->[4];
                    672: 	    } elsif ($target eq 'tex') {
1.15      sakharuk  673: 		$currentstring .= "\\emph{";
1.18      sakharuk  674: 	    } elsif ($target eq 'latexsource') {
                    675: 		$currentstring .= "\\emph{";
1.1       sakharuk  676: 	    } 
                    677:            return $currentstring;
                    678: 	}
                    679:         sub end_em {
                    680: 	    my ($target,$token) = @_;
                    681:             my $currentstring = '';
                    682:             if ($target eq 'web') {
                    683: 	       $currentstring .= $token->[2];
                    684: 	    } elsif ($target eq 'tex') {
                    685: 		$currentstring .= "}";
1.18      sakharuk  686: 	    } elsif ($target eq 'latexsource') {
                    687: 		$currentstring .= "}";
                    688: 	    }  
1.1       sakharuk  689:            return $currentstring;
                    690: 	}
                    691: #----------------------------------------------------------------------------- <q> tag
                    692:         sub start_q {
                    693: 	    my ($target,$token) = @_;
                    694:             my $currentstring = '';
                    695:             if ($target eq 'web') {
                    696: 	       $currentstring .= $token->[4];
                    697: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  698: 		$currentstring .= "\\emph{";
                    699: 	    }  elsif ($target eq 'latexsource') {
                    700: 		$currentstring .= "\\emph{";
                    701: 	    }
1.1       sakharuk  702:            return $currentstring;
                    703: 	}
                    704:         sub end_q {
                    705: 	    my ($target,$token) = @_;
                    706:             my $currentstring = '';
                    707:             if ($target eq 'web') {
                    708: 	       $currentstring .= $token->[2];
                    709: 	    } elsif ($target eq 'tex') {
                    710: 		$currentstring .= "}";
1.18      sakharuk  711: 	    } elsif ($target eq 'latexsource') {
                    712: 		$currentstring .= "}";
                    713: 	    }  
1.1       sakharuk  714:            return $currentstring;
                    715: 	}
                    716: #----------------------------------------------------------------------------- <p> tag
                    717:         sub start_p {
                    718: 	    my ($target,$token) = @_;
                    719:             my $currentstring = '';
                    720:             if ($target eq 'web') {
                    721: 	       $currentstring .= $token->[4];
                    722: 	    } elsif ($target eq 'tex') {
                    723: 		$currentstring .= "{\\par ";
1.18      sakharuk  724: 	    } elsif ($target eq 'latexsource') {
                    725: 		$currentstring .= "{\\par ";
1.1       sakharuk  726: 	    } 
                    727:            return $currentstring;
                    728: 	}
                    729:         sub end_p {
                    730: 	    my ($target,$token) = @_;
                    731:             my $currentstring = '';
                    732:             if ($target eq 'web') {
                    733: 	       $currentstring .= $token->[2];
                    734: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  735: 	        $currentstring .= "}";
                    736:             } elsif ($target eq 'latexsource') {
                    737: 	        $currentstring .= "}";
1.1       sakharuk  738:             }
                    739:            return $currentstring;
                    740: 	}
                    741: #---------------------------------------------------------------------------- <br> tag
                    742:         sub start_br {
                    743: 	    my ($target,$token) = @_;
                    744:             my $currentstring = '';
                    745:             if ($target eq 'web') {
                    746: 	       $currentstring .= $token->[4];
                    747: 	    } elsif ($target eq 'tex') {
                    748: 		$currentstring .= "\\\\";
1.18      sakharuk  749: 	    } elsif ($target eq 'latexsource') {
                    750: 		$currentstring .= "\\\\";
1.1       sakharuk  751: 	    } 
                    752:            return $currentstring;
                    753: 	}
                    754:         sub end_br {
                    755: 	    my ($target,$token) = @_;
                    756:             my $currentstring = '';
                    757:             if ($target eq 'web') {
                    758: 	       $currentstring .= $token->[2];
                    759: 	    }
                    760:            return $currentstring;
                    761: 	}
                    762: #--------------------------------------------------------------------------- <big> tag
                    763:         sub start_big {
                    764: 	    my ($target,$token) = @_;
                    765:             my $currentstring = '';
                    766:             if ($target eq 'web') {
                    767: 	       $currentstring .= $token->[4];
                    768: 	    } elsif ($target eq 'tex') {
                    769: 		$currentstring .= "{\\large ";
1.18      sakharuk  770: 	    } elsif ($target eq 'latexsource') {
                    771: 		$currentstring .= "{\\large ";
                    772: 	    }  
1.1       sakharuk  773:            return $currentstring;
                    774: 	}
                    775:         sub end_big {
                    776: 	    my ($target,$token) = @_;
                    777:             my $currentstring = '';
                    778:             if ($target eq 'web') {
                    779: 	       $currentstring .= $token->[2];
                    780: 	    } elsif ($target eq 'tex') {
                    781: 	        $currentstring .= " }";
1.18      sakharuk  782:             } elsif ($target eq 'latexsource') {
                    783: 	        $currentstring .= " }";
1.1       sakharuk  784:             }
                    785:            return $currentstring;
                    786: 	}
                    787: #------------------------------------------------------------------------- <small> tag
                    788:         sub start_small {
                    789: 	    my ($target,$token) = @_;
                    790:             my $currentstring = '';
                    791:             if ($target eq 'web') {
                    792: 	       $currentstring .= $token->[4];
                    793: 	    } elsif ($target eq 'tex') {
                    794: 		$currentstring .= "{\\footnotesize ";
1.18      sakharuk  795: 	    } elsif ($target eq 'latexsource') {
                    796: 		$currentstring .= "{\\footnotesize ";
1.1       sakharuk  797: 	    } 
                    798:            return $currentstring;
                    799: 	}
                    800:         sub end_small {
                    801: 	    my ($target,$token) = @_;
                    802:             my $currentstring = '';
                    803:             if ($target eq 'web') {
                    804: 	       $currentstring .= $token->[2];
                    805: 	    } elsif ($target eq 'tex') {
1.18      sakharuk  806: 	        $currentstring .= " }";
                    807:             } elsif ($target eq 'latexsource') {
1.1       sakharuk  808: 	        $currentstring .= " }";
                    809:             }
                    810:            return $currentstring;
                    811: 	}
                    812: #---------------------------------------------------------------------- <basefont> tag
                    813:       sub start_basefont {
1.14      albertel  814: 	my ($target,$token) = @_;
                    815: 	my $currentstring = '';
                    816: 	if ($target eq 'web') {
                    817: 	  $currentstring = $token->[4];     
                    818: 	} 
                    819: 	return $currentstring;
                    820:       }
                    821:       sub end_basefont {
                    822: 	my ($target,$token) = @_;
                    823: 	my $currentstring = '';
                    824: 	if ($target eq 'web') {
                    825: 	  $currentstring = $token->[4];     
                    826: 	} 
                    827: 	return $currentstring;
                    828:       }
1.1       sakharuk  829: #-------------------------------------------------------------------------- <font> tag
                    830:          sub start_font {
                    831: 	    my ($target,$token) = @_;
                    832:             my $currentstring = '';
                    833:             if ($target eq 'web') {
                    834:               $currentstring = $token->[4];     
                    835: 	    } 
                    836: 	   return $currentstring;
                    837: 	}
                    838:         sub end_font {
                    839: 	    my ($target,$token) = @_;
                    840:             my $currentstring = '';
                    841:             if ($target eq 'web') {
                    842:               $currentstring = $token->[2];    
                    843:             } 
                    844: 	   return $currentstring;
                    845: 	} 
                    846: #------------------------------------------------------------------------ <strike> tag
                    847:         sub start_strike {
                    848: 	    my ($target,$token) = @_;
                    849:             my $currentstring = '';
                    850:             if ($target eq 'web') {
                    851: 	       $currentstring .= $token->[4];
                    852: 	    } elsif ($target eq 'tex') {
                    853: 		$currentstring .= "{\\underline ";
                    854: 	    } 
                    855:            return $currentstring;
                    856: 	}
                    857:         sub end_strike {
                    858: 	    my ($target,$token) = @_;
                    859:             my $currentstring = '';
                    860:             if ($target eq 'web') {
                    861: 	       $currentstring .= $token->[2];
                    862: 	    } elsif ($target eq 'tex') {
                    863: 	        $currentstring .= " }";
                    864:             }
                    865:            return $currentstring;
                    866: 	}
                    867: #----------------------------------------------------------------------------- <s> tag
                    868:         sub start_s {
                    869: 	    my ($target,$token) = @_;
                    870:             my $currentstring = '';
                    871:             if ($target eq 'web') {
                    872: 	       $currentstring .= $token->[4];
                    873: 	    } elsif ($target eq 'tex') {
                    874: 		$currentstring .= "{\\underline ";
                    875: 	    } 
                    876:            return $currentstring;
                    877: 	}
                    878:         sub end_s {
                    879: 	    my ($target,$token) = @_;
                    880:             my $currentstring = '';
                    881:             if ($target eq 'web') {
                    882: 	       $currentstring .= $token->[2];
                    883: 	    } elsif ($target eq 'tex') {
                    884: 	        $currentstring .= " }";
                    885:             }
                    886:            return $currentstring;
                    887: 	}
                    888: #--------------------------------------------------------------------------- <sub> tag
                    889:         sub start_sub {
                    890: 	    my ($target,$token) = @_;
                    891:             my $currentstring = '';
                    892:             if ($target eq 'web') {
                    893: 	       $currentstring .= $token->[4];
                    894: 	    } elsif ($target eq 'tex') {
                    895: 		$currentstring .= "\$_{ ";
                    896: 	    } 
                    897:            return $currentstring;
                    898: 	}
                    899:         sub end_sub {
                    900: 	    my ($target,$token) = @_;
                    901:             my $currentstring = '';
                    902:             if ($target eq 'web') {
                    903: 	       $currentstring .= $token->[2];
                    904: 	    } elsif ($target eq 'tex') {
                    905: 	        $currentstring .= " }\$";
                    906:             }
                    907:            return $currentstring;
                    908: 	}
                    909: #--------------------------------------------------------------------------- <sup> tag
                    910:         sub start_sup {
                    911: 	    my ($target,$token) = @_;
                    912:             my $currentstring = '';
                    913:             if ($target eq 'web') {
                    914: 	       $currentstring .= $token->[4];
                    915: 	    } elsif ($target eq 'tex') {
                    916: 		$currentstring .= "\$^{ ";
                    917: 	    } 
                    918:            return $currentstring;
                    919: 	}
                    920:         sub end_sup {
                    921: 	    my ($target,$token) = @_;
                    922:             my $currentstring = '';
                    923:             if ($target eq 'web') {
                    924: 	       $currentstring .= $token->[2];
                    925: 	    } elsif ($target eq 'tex') {
                    926: 	        $currentstring .= " }\$";
                    927:             }
                    928:            return $currentstring;
                    929: 	}
                    930: #---------------------------------------------------------------------------- <hr> tag
                    931:         sub start_hr {
                    932: 	    my ($target,$token) = @_;
                    933:             my $currentstring = '';
                    934:             if ($target eq 'web') {
                    935: 	       $currentstring .= $token->[4];
                    936: 	    } elsif ($target eq 'tex') {
                    937: 		$currentstring .= "\\hline ";
1.6       sakharuk  938: 	    } 
                    939:            return $currentstring;
                    940: 	}
                    941:         sub end_hr {
                    942: 	    my ($target,$token) = @_;
                    943:             my $currentstring = '';
                    944:             if ($target eq 'web') {
                    945: 	       $currentstring .= $token->[2];
                    946: 	    } elsif ($target eq 'tex') {
1.1       sakharuk  947: 	    } 
                    948:            return $currentstring;
                    949: 	}
                    950: #----------------------------------------------------------------------------- <a> tag
                    951:         sub start_a {
                    952: 	    my ($target,$token) = @_;
                    953:             my $currentstring = '';
                    954:             if ($target eq 'web') {
                    955: 	       $currentstring .= $token->[4];
                    956: 	    } elsif ($target eq 'tex') {
                    957: 	    }
                    958:            return $currentstring;
                    959: 	}
                    960:         sub end_a {
1.30    ! albertel  961: 	    my ($target,$token,$tagstack,$stackref) = @_;
1.1       sakharuk  962:             my $currentstring = '';
                    963:             if ($target eq 'web') {
                    964: 	       $currentstring .= $token->[2];
                    965: 	    } elsif ($target eq 'tex') {
                    966:                 my  $tempor_var = $stackref->[$#$stackref];
                    967: 		if (index($tempor_var,'name') != -1 ) {
                    968: 		    $tempor_var =~ s/name=([^,]*),/$1/g;
1.15      sakharuk  969: #	        $currentstring .= " \\label{$tempor_var}";
1.1       sakharuk  970: 	        } elsif (index($tempor_var,'href') != -1 ) {
                    971: 		    $tempor_var =~ s/href=([^,]*),/$1/g;
                    972: 	        $currentstring .= " \\ref{$tempor_var}";
                    973: 	        }
                    974:             }
                    975:            return $currentstring;
                    976: 	}
                    977: #---------------------------------------------------------------------------- <li> tag
                    978:         sub start_li {
1.30    ! albertel  979: 	    my ($target,$token,$tagstack,$stackref) = @_;
1.1       sakharuk  980:             my $currentstring = '';
                    981:             if ($target eq 'web') {
                    982:               $currentstring = $token->[4];     
                    983: 	    } elsif ($target eq 'tex') {
1.15      sakharuk  984:                 my  $tempor_var = $stackref->[$#$stackref];
1.1       sakharuk  985:                 if (index($tempor_var,'circle') != -1 ) {
                    986: 	          $currentstring .= " \\item[o] ";
                    987: 	        } elsif (index($tempor_var,'square') != -1 ) {
                    988: 	               $currentstring .= " \\item[$\Box$] ";
1.15      sakharuk  989: 	        } elsif ($tempor_var ne '') { 
                    990: 		       $_ = $tempor_var;
                    991:                        m/my\s*([^=]*)=/;
                    992: 		       $currentstring .= " \\item[$1] ";
                    993: 		} else {
1.1       sakharuk  994: 		    $currentstring .= " \\item ";
                    995: 	        }  
                    996: 	    } 
                    997: 	   return $currentstring;
                    998: 	}
                    999:         sub end_li {
                   1000: 	    my ($target,$token) = @_;
                   1001:             my $currentstring = '';
                   1002:             if ($target eq 'web') {
                   1003:               $currentstring = $token->[2];     
                   1004: 	    } 
                   1005: 	   return $currentstring;
                   1006: 	}
                   1007: #----------------------------------------------------------------------------- <u> tag
                   1008:         sub start_u {
                   1009: 	    my ($target,$token) = @_;
                   1010:             my $currentstring = '';
                   1011:             if ($target eq 'web') {
                   1012: 	       $currentstring .= $token->[4];
                   1013: 	    } elsif ($target eq 'tex') {
                   1014: 		$currentstring .= "{\\underline ";
                   1015: 	    } 
                   1016:            return $currentstring;
                   1017: 	}
                   1018:         sub end_u {
                   1019: 	    my ($target,$token) = @_;
                   1020:             my $currentstring = '';
                   1021:             if ($target eq 'web') {
                   1022: 	       $currentstring .= $token->[2];
                   1023: 	    } elsif ($target eq 'tex') {
                   1024: 	        $currentstring .= " }";
                   1025:             }
                   1026:            return $currentstring;
                   1027: 	}
                   1028: #---------------------------------------------------------------------------- <ul> tag
                   1029:         sub start_ul {
                   1030: 	    my ($target,$token) = @_;
                   1031:             my $currentstring = '';
                   1032:             if ($target eq 'web') {
                   1033:               $currentstring = $token->[4];     
                   1034: 	    } elsif ($target eq 'tex') {
                   1035:               $currentstring = " \\begin{itemize} ";  
                   1036: 	    } 
                   1037: 	   return $currentstring;
                   1038: 	}
                   1039:         sub end_ul {
                   1040: 	    my ($target,$token) = @_;
                   1041:             my $currentstring = '';
                   1042:             if ($target eq 'web') {
                   1043:               $currentstring = $token->[2];     
                   1044: 	    } elsif ($target eq 'tex') {
                   1045:               $currentstring = " \\end{itemize}";  
                   1046: 	    } 
                   1047: 	   return $currentstring;
                   1048: 	}
                   1049: #-------------------------------------------------------------------------- <menu> tag
                   1050:         sub start_menu {
                   1051: 	    my ($target,$token) = @_;
                   1052:             my $currentstring = '';
                   1053:             if ($target eq 'web') {
                   1054:               $currentstring = $token->[4];     
                   1055: 	    } elsif ($target eq 'tex') {
                   1056:               $currentstring = " \\begin{itemize} ";  
                   1057: 	    } 
                   1058: 	   return $currentstring;
                   1059: 	}
                   1060:         sub end_menu {
                   1061: 	    my ($target,$token) = @_;
                   1062:             my $currentstring = '';
                   1063:             if ($target eq 'web') {
                   1064:               $currentstring = $token->[2];     
                   1065: 	    } elsif ($target eq 'tex') {
                   1066:               $currentstring = " \\end{itemize}";  
                   1067: 	    } 
                   1068: 	   return $currentstring;
                   1069: 	}
                   1070: #--------------------------------------------------------------------------- <dir> tag
                   1071:         sub start_dir {
                   1072: 	    my ($target,$token) = @_;
                   1073:             my $currentstring = '';
                   1074:             if ($target eq 'web') {
                   1075:               $currentstring = $token->[4];     
                   1076: 	    } elsif ($target eq 'tex') {
                   1077:               $currentstring = " \\begin{itemize} ";  
                   1078: 	    } 
                   1079: 	   return $currentstring;
                   1080: 	}
                   1081:         sub end_dir {
                   1082: 	    my ($target,$token) = @_;
                   1083:             my $currentstring = '';
                   1084:             if ($target eq 'web') {
                   1085:               $currentstring = $token->[2];     
                   1086: 	    } elsif ($target eq 'tex') {
                   1087:               $currentstring = " \\end{itemize}";  
                   1088: 	    } 
                   1089: 	   return $currentstring;
                   1090: 	}
                   1091: #---------------------------------------------------------------------------- <ol> tag
                   1092:         sub start_ol {
                   1093: 	    my ($target,$token) = @_;
                   1094:             my $currentstring = '';
                   1095:             if ($target eq 'web') {
                   1096:               $currentstring = $token->[4];     
                   1097: 	    } elsif ($target eq 'tex') {
                   1098:               $currentstring = " \\begin{enumerate} ";  
                   1099: 	    } 
                   1100: 	   return $currentstring;
                   1101: 	}
                   1102:         sub end_ol {
                   1103: 	    my ($target,$token) = @_;
                   1104:             my $currentstring = '';
                   1105:             if ($target eq 'web') {
                   1106:               $currentstring = $token->[2];     
                   1107: 	    } elsif ($target eq 'tex') {
                   1108:               $currentstring = " \\end{enumerate}";  
                   1109: 	    } 
                   1110: 	   return $currentstring;
                   1111: 	}
                   1112: #---------------------------------------------------------------------------- <dl> tag
                   1113:         sub start_dl {
                   1114: 	    my ($target,$token) = @_;
                   1115:             my $currentstring = '';
                   1116:             if ($target eq 'web') {
                   1117:               $currentstring = $token->[4];     
                   1118: 	    } elsif ($target eq 'tex') {
                   1119:               $currentstring = " \\begin{description} ";  
                   1120: 	    } 
                   1121: 	   return $currentstring;
                   1122: 	}
                   1123:         sub end_dl {
                   1124: 	    my ($target,$token) = @_;
                   1125:             my $currentstring = '';
                   1126:             if ($target eq 'web') {
                   1127:               $currentstring = $token->[2];     
                   1128: 	    } elsif ($target eq 'tex') {
                   1129:               $currentstring = " \\end{description}";  
                   1130: 	    } 
                   1131: 	   return $currentstring;
                   1132: 	}
                   1133: #---------------------------------------------------------------------------- <dt> tag
                   1134:         sub start_dt {
                   1135: 	    my ($target,$token) = @_;
                   1136:             my $currentstring = '';
                   1137:             if ($target eq 'web') {
                   1138:               $currentstring = $token->[4];     
                   1139: 	    } elsif ($target eq 'tex') {
                   1140:               $currentstring = "\\item[ ";  
                   1141: 	    } 
                   1142: 	   return $currentstring;
                   1143: 	}
                   1144:         sub end_dt {
                   1145: 	    my ($target,$token) = @_;
                   1146:             my $currentstring = '';
                   1147:             if ($target eq 'web') {
                   1148:               $currentstring = $token->[2];    
                   1149:             } elsif ($target eq 'tex') {
                   1150:               $currentstring = "]";  
                   1151: 	    } 
                   1152: 	   return $currentstring;
                   1153: 	}
                   1154: #---------------------------------------------------------------------------- <dd> tag
                   1155:         sub start_dd {
                   1156: 	    my ($target,$token) = @_;
                   1157:             my $currentstring = '';
                   1158:             if ($target eq 'web') {
                   1159:               $currentstring = $token->[4];     
                   1160: 	    } 
                   1161: 	   return $currentstring;
                   1162: 	}
                   1163:         sub end_dd {
                   1164: 	    my ($target,$token) = @_;
                   1165:             my $currentstring = '';
                   1166:             if ($target eq 'web') {
                   1167:               $currentstring = $token->[2];    
                   1168:             } 
                   1169: 	   return $currentstring;
                   1170: 	}
                   1171: #------------------------------------------------------------------------- <table> tag
                   1172:         sub start_table {
                   1173: 	    my ($target,$token) = @_;
                   1174:             my $currentstring = '';
                   1175:             if ($target eq 'web') {
                   1176:               $currentstring = $token->[4];     
                   1177: 	    } elsif ($target eq 'tex') {
1.15      sakharuk 1178:               $currentstring = "";  
1.1       sakharuk 1179: 	    } 
                   1180: 	   return $currentstring;
                   1181: 	}
                   1182:         sub end_table {
                   1183: 	    my ($target,$token) = @_;
                   1184:             my $currentstring = '';
                   1185:             if ($target eq 'web') {
                   1186:               $currentstring = $token->[2];     
                   1187: 	    } elsif ($target eq 'tex') {
1.15      sakharuk 1188:               $currentstring = "";  
                   1189: 	    } 
                   1190: 	   return $currentstring;
                   1191: 	}
                   1192: #------------------------------------------------------------------------- <tr> tag
                   1193:         sub start_tr {
                   1194: 	    my ($target,$token) = @_;
                   1195:             my $currentstring = '';
                   1196:             if ($target eq 'web') {
                   1197:               $currentstring = $token->[4];     
                   1198: 	    } elsif ($target eq 'tex') {
                   1199: 	      $currentstring = '';
                   1200: 	    } 
                   1201: 	   return $currentstring;
                   1202: 	}
                   1203:         sub end_tr {
                   1204: 	    my ($target,$token) = @_;
                   1205:             my $currentstring = '';
                   1206:             if ($target eq 'web') {
                   1207:               $currentstring = $token->[2];     
                   1208: 	    } elsif ($target eq 'tex') {
                   1209:               $currentstring = "";  
                   1210: 	    } 
                   1211: 	   return $currentstring;
                   1212: 	}
                   1213: #------------------------------------------------------------------------- <td> tag
                   1214:         sub start_td {
                   1215: 	    my ($target,$token) = @_;
                   1216:             my $currentstring = '';
                   1217:             if ($target eq 'web') {
                   1218:               $currentstring = $token->[4];     
                   1219: 	    } elsif ($target eq 'tex') {
                   1220: 	      $currentstring = '';
                   1221: 	    } 
                   1222: 	   return $currentstring;
                   1223: 	}
                   1224:         sub end_td {
                   1225: 	    my ($target,$token) = @_;
                   1226:             my $currentstring = '';
                   1227:             if ($target eq 'web') {
                   1228:               $currentstring = $token->[2];     
                   1229: 	    } elsif ($target eq 'tex') {
                   1230:               $currentstring = "";  
1.1       sakharuk 1231: 	    } 
                   1232: 	   return $currentstring;
                   1233: 	}
1.10      www      1234: # -------------------------------------------------------------------------- <img> tag
                   1235: 
                   1236:         sub start_img {
                   1237: 	    my ($target,$token) = @_;
                   1238:             $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                   1239:                                         $token->[2]->{'src'};
                   1240:             my $currentstring = '';
                   1241:             if ($target eq 'web') {
                   1242:               $currentstring = $token->[4];     
                   1243: 	    } elsif ($target eq 'tex') {
                   1244:               $currentstring = " \\begin{figure} ";  
                   1245: 	    } 
                   1246: 	   return $currentstring;
                   1247: 	}
                   1248:         sub end_img {
                   1249: 	    my ($target,$token) = @_;
                   1250:             my $currentstring = '';
                   1251:             if ($target eq 'web') {
                   1252:               $currentstring = $token->[2];     
                   1253: 	    } elsif ($target eq 'tex') {
                   1254:               $currentstring = " \\end{figure}";  
                   1255: 	    } 
                   1256: 	   return $currentstring;
                   1257: 	}
                   1258: # ----------------------------------------------------------------------- <applet> tag
                   1259: 
                   1260:         sub start_applet {
                   1261: 	    my ($target,$token) = @_;
                   1262:               $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                   1263:                                         $token->[2]->{'code'};
                   1264:               $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                   1265:                                         $token->[2]->{'archive'};
                   1266:             my $currentstring = '';
                   1267:             if ($target eq 'web') {
                   1268:               $currentstring = $token->[4];     
                   1269: 	    } elsif ($target eq 'tex') {
                   1270:               $currentstring = " \\begin{figure} ";  
                   1271: 	    } 
                   1272: 	   return $currentstring;
                   1273: 	}
                   1274:         sub end_applet {
                   1275: 	    my ($target,$token) = @_;
                   1276:             my $currentstring = '';
                   1277:             if ($target eq 'web') {
                   1278:               $currentstring = $token->[2];     
                   1279: 	    } elsif ($target eq 'tex') {
                   1280:               $currentstring = " \\end{figure}";  
                   1281: 	    } 
                   1282: 	   return $currentstring;
                   1283: 	}
                   1284: 
                   1285: # ------------------------------------------------------------------------ <embed> tag
                   1286: 
                   1287:         sub start_embed {
                   1288: 	    my ($target,$token) = @_;
                   1289:             $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
                   1290:                                         $token->[2]->{'src'};
                   1291:            my $currentstring = '';
                   1292:             if ($target eq 'web') {
                   1293:               $currentstring = $token->[4];     
                   1294: 	    } elsif ($target eq 'tex') {
                   1295:               $currentstring = " \\begin{figure} ";  
                   1296: 	    } 
                   1297: 	   return $currentstring;
                   1298: 	}
                   1299:         sub end_embed {
                   1300: 	    my ($target,$token) = @_;
                   1301:             my $currentstring = '';
                   1302:             if ($target eq 'web') {
                   1303:               $currentstring = $token->[2];     
                   1304: 	    } elsif ($target eq 'tex') {
                   1305:               $currentstring = " \\end{figure}";  
                   1306: 	    } 
                   1307: 	   return $currentstring;
                   1308: 	}
                   1309: 
                   1310: # ------------------------------------------------------------------------ <param> tag
                   1311: 
1.11      www      1312:         sub start_param {
1.10      www      1313: 	    my ($target,$token) = @_;
                   1314: 	    if ($token->[2]->{'name'} eq 'cabbase') {
                   1315:                       $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
                   1316: 					     $token->[2]->{'value'};
                   1317:             }   
1.20      www      1318:             $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
1.10      www      1319:                                         $token->[2]->{'src'};
                   1320:             my $currentstring = '';
                   1321:             if ($target eq 'web') {
                   1322:               $currentstring = $token->[4];     
                   1323: 	    } elsif ($target eq 'tex') {
                   1324:               $currentstring = " \\begin{figure} ";  
                   1325: 	    } 
                   1326: 	   return $currentstring;
                   1327: 	}
1.11      www      1328:         sub end_param {
1.10      www      1329: 	    my ($target,$token) = @_;
                   1330:             my $currentstring = '';
                   1331:             if ($target eq 'web') {
                   1332:               $currentstring = $token->[2];     
                   1333: 	    } elsif ($target eq 'tex') {
                   1334:               $currentstring = " \\end{figure}";  
                   1335: 	    } 
                   1336: 	   return $currentstring;
                   1337: 	}
                   1338: 
                   1339: # ------------------------------------------------------------------------ <allow> tag
                   1340: 
                   1341:         sub start_allow {
                   1342: 	    my ($target,$token) = @_;
                   1343: 
1.20      www      1344:             $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
1.10      www      1345:                                         $token->[2]->{'src'};
                   1346: 
                   1347: 	   return '';
                   1348: 	}
                   1349:         sub end_allow {
                   1350: 	   return '';
                   1351: 	}
                   1352: 
1.1       sakharuk 1353: 
                   1354: 1;
                   1355: __END__

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>