next up previous
Next: About this document Up: References Previous: References

Appendix A: Examples of HTML-Source-Specific Wrapper Functions

     sub HTML_makeURL {
             local($url, @keyword);

             ### source
             $url .= 'http://search.yahoo.com/bin/search?';

             ### keywords
             $url .= 'p=';

             $verbose && (print "local_ExternalFetch $condition: $condition\n<p>"); 
	     $condition =~ s/'([^']+)'/$keyword[$x++]=$1/eg;
             $verbose && (print "local_ExternalFetch KEYWORDS: @keyword\n<p>");

             foreach $i (@keyword) {
                     $url .= "$i+";
             }
             $url =~ s/\+$/&/;

             ### or/and
             if ($condition =~ /or/) {
                     $url .= 's=o&';
             }
             else {
                     $url .= 's=a&';
             }

             ### partial/complete
             if ($condition =~ /%(.*)%/) {
                     $url .= 'w=s&';
             }
             else {
                     $url .= 'w=w&';
             }

             if (!($numfetch) || ($numfetch < 50) ) {$numfetch =50;}
             $url .= "n=$numfetch";
             $url;
     }

     sub HTML_translate {
     ## this routine takes yahoo search result and creates oracle
     ## insert commands

             local ($tablename,$result)=@_;
             local ($description,$url, $commands);

             foreach ( split(/\n/, $result) ) {
                     if ("\L$_" =~ /<li>/) {          # SINGLE ITEM

                             s/^\s+|\s+$//g;          # DELETE SPACES
                             s/<li>//g;
                             s/<LI>//g;
                             $line = $_;

                             s/\<\/A>.*//g;           # DELETE HTML TAGS
                             s/\<\/a>.*//g;           # DELETE HTML TAGS
                             s/<A HREF="//g;          # DELETE HTML TAGS
                             s/<a href="//g;          # DELETE HTML TAGS
                             s/"\>.*//g;              # DELETE HTML TAGS

                             $url = $_;

                             $_ = $line;

                             s/<a href.*"\>//g;
                             s/<A HREF.*"\>//g;
                             s/\'|\"//g;
                             $description = $_;

                             $insert="insert into $tablename ".
                             "(description, URL, URL_URL, Source, ".
                             " Source_URL) values \n".
                             "('$description'\n".
                             ",'$url','$url','Yahoo',\n".
                             "'http://www.yahoo.com/')";

                             #now insert into commands array
                             unshift (@commands,$insert);

                     } # if <li>

             } # foreach
             @commands;
     }

  
Figure 5: Simple query composition form

 

 


: Results from all available sources

  
Figure 7: Expert query composition form

  
Figure 8: Query Processing: Repository selection

  
Figure 9: Query Processing: Query tree with clickable nodes

  
Figure 10: Decomposed query for DR3

  
Figure 11: Final query result page

  
Figure 12: Diorama main menu



Ling Liu
Thu Aug 15 17:49:43 MDT 1996