--- loncom/xml/lonxml.pm 2000/08/16 18:32:58 1.19
+++ loncom/xml/lonxml.pm 2000/10/02 22:19:19 1.22
@@ -42,7 +42,8 @@ sub xmlparse {
$safeeval->deny(":base_io");
#need to inspect this class of ops
# $safeeval->deny(":base_orig");
- if ( $safeinit ne '') {&Apache::run::run($safeinit,$safeeval);}
+ $safeinit .= ';$external::target='.$target.';';
+ &Apache::run::run($safeinit,$safeeval);
#-------------------- Redefinition of the target in the case of compound target
($target, my @tenta) = split('&&',$target);
@@ -164,13 +165,13 @@ sub callsub {
{
no strict 'refs';
if (my $space=$Apache::lonxml::alltags{$token->[1]}) {
- #print "Calling sub $sub in $space \n";
+ &Apache::lonxml::debug("Calling sub $sub in $space
\n");
$sub="$space\:\:$sub";
$Apache::lonxml::curdepth=join('_',@Apache::lonxml::depthcounter);
$currentstring = &$sub($target,$token,$parstack,$parser,
$safeeval,$style);
} else {
- #print "NOT Calling sub $sub\n";
+ &Apache::lonxml::debug("NOT Calling sub $sub in $space
\n");
if (defined($token->[4])) {
$currentstring = $token->[4];
} else {
@@ -233,9 +234,31 @@ sub get_all_text {
sub parstring {
my ($token) = @_;
my $temp='';
- map {$temp .= "my \$$_=\"$token->[2]->{$_}\";"} @{$token->[3]};
+ map {
+ if ($_=~/\w+/) {
+ $temp .= "my \$$_=\"$token->[2]->{$_}\";"
+ }
+ } @{$token->[3]};
return $temp;
}
+
+$Apache::lonxml::debug=0;
+sub debug {
+ if ($Apache::lonxml::debug eq 1) {
+ print "DEBUG:".$_[0]."
\n";
+ }
+}
+sub error {
+ if ($Apache::lonxml::debug eq 1) {
+ print "ERROR:".$_[0]."
\n";
+ }
+}
+sub warning {
+ if ($Apache::lonxml::debug eq 1) {
+ print "WARNING:".$_[0]."
\n";
+ }
+}
+
1;
__END__