--- loncom/xml/londefdef.pm	2000/11/06 14:29:53	1.9
+++ loncom/xml/londefdef.pm	2000/11/30 11:44:50	1.13
@@ -2,6 +2,7 @@
 # Tags Default Definition Module 
 #
 # last modified 06/26/00 by Alexander Sakharuk
+# 11/6,11/30 Gerd Kortemeyer
 
 package Apache::londefdef; 
 
@@ -9,19 +10,19 @@ use strict;
 use Apache::lonxml;
 
 sub BEGIN {
-    &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','applet','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'));
+    &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','applet','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'));
 }
 
 #===================================================================== TAG SUBROUTINES
 #-- <output>
         sub start_output {
- 	    my ($target,$token,$parstack,$parser) = @_;
+ 	    my ($target,$token) = @_;
             $Apache::lonxml::textredirection = 1; 
             my $result = '';
             return $result;
 	}
         sub end_output {
- 	    my ($target,$token,$parstack,$parser) = @_;
+ 	    my ($target,$token) = @_;
             $Apache::lonxml::textredirection = 0;             
             my $result = '';
             return $result;
@@ -212,6 +213,10 @@ sub BEGIN {
             if ($target eq 'web') {
               $currentstring = $token->[4];     
 	    }
+            if ($target eq 'meta') {
+		$currentstring='<title>';
+                &start_output();
+            }
 	   return $currentstring;
 	}
         sub end_title {
@@ -219,6 +224,10 @@ sub BEGIN {
             my $currentstring = '';
             if ($target eq 'web') {
               $currentstring = $token->[2];    
+            }
+            if ($target eq 'meta') {
+               &end_output();
+               $currentstring='</title>';
             } 
 	   return $currentstring;
 	}
@@ -229,6 +238,18 @@ sub BEGIN {
             if ($target eq 'web') {
               $currentstring = $token->[4];     
 	    }
+            if ($target eq 'meta') {
+		unless ($token->[2]->{'http-equiv'}) {
+		    my $name=$token->[2]->{'name'};
+                    $name=~tr/A-Z/a-z/;
+                    $name=~s/\s/\_/g;
+                    if ($name) {
+                       $currentstring='<'.$name.'>'.
+                                         $token->[2]->{'content'}.
+			              '</'.$name.'>';
+		    }
+                }
+	    }
 	   return $currentstring;
 	}
         sub end_meta {
@@ -332,7 +353,10 @@ sub BEGIN {
 	       $currentstring .= $token->[4];
 	    } elsif ($target eq 'tex') {
 		$currentstring .= "\\chapter{ ";
-	    } 
+	    } elsif ($target eq 'meta') {
+		$currentstring='<subject>';
+                &start_output();
+            }
            return $currentstring;
 	}
         sub end_h1 {
@@ -342,7 +366,10 @@ sub BEGIN {
 	       $currentstring .= $token->[2];
 	    } elsif ($target eq 'tex') {
 		$currentstring .= "}";
-	    } 
+	    } elsif ($target eq 'meta') {
+                &end_output();
+		$currentstring='</subject>';
+            } 
            return $currentstring;
 	}
 #---------------------------------------------------------------------------- <h2> tag
@@ -1090,5 +1117,125 @@ sub BEGIN {
 	   return $currentstring;
 	}
 
+# -------------------------------------------------------------------------- <img> tag
+
+        sub start_img {
+	    my ($target,$token) = @_;
+            $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
+                                        $token->[2]->{'src'};
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[4];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\begin{figure} ";  
+	    } 
+	   return $currentstring;
+	}
+        sub end_img {
+	    my ($target,$token) = @_;
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[2];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\end{figure}";  
+	    } 
+	   return $currentstring;
+	}
+# ----------------------------------------------------------------------- <applet> tag
+
+        sub start_applet {
+	    my ($target,$token) = @_;
+              $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
+                                        $token->[2]->{'code'};
+              $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
+                                        $token->[2]->{'archive'};
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[4];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\begin{figure} ";  
+	    } 
+	   return $currentstring;
+	}
+        sub end_applet {
+	    my ($target,$token) = @_;
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[2];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\end{figure}";  
+	    } 
+	   return $currentstring;
+	}
+
+# ------------------------------------------------------------------------ <embed> tag
+
+        sub start_embed {
+	    my ($target,$token) = @_;
+            $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   
+                                        $token->[2]->{'src'};
+           my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[4];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\begin{figure} ";  
+	    } 
+	   return $currentstring;
+	}
+        sub end_embed {
+	    my ($target,$token) = @_;
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[2];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\end{figure}";  
+	    } 
+	   return $currentstring;
+	}
+
+# ------------------------------------------------------------------------ <param> tag
+
+        sub start_param {
+	    my ($target,$token) = @_;
+	    if ($token->[2]->{'name'} eq 'cabbase') {
+                      $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
+					     $token->[2]->{'value'};
+            }   
+            $Apache::lonxml::extlinks[$Apache::lonxml::extlinks+1]=   
+                                        $token->[2]->{'src'};
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[4];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\begin{figure} ";  
+	    } 
+	   return $currentstring;
+	}
+        sub end_param {
+	    my ($target,$token) = @_;
+            my $currentstring = '';
+            if ($target eq 'web') {
+              $currentstring = $token->[2];     
+	    } elsif ($target eq 'tex') {
+              $currentstring = " \\end{figure}";  
+	    } 
+	   return $currentstring;
+	}
+
+# ------------------------------------------------------------------------ <allow> tag
+
+        sub start_allow {
+	    my ($target,$token) = @_;
+
+            $Apache::lonxml::extlinks[$Apache::lonxml::extlinks+1]=   
+                                        $token->[2]->{'src'};
+
+	   return '';
+	}
+        sub end_allow {
+	   return '';
+	}
+
+
 1;
 __END__