you really shouldn't use frames anymore. The W3 is going to, or has already dropped their reccomendation for the frameset dtd because it isn't supported well accross multiple browser platforms. The best way to do this, which the W3 still isn't a fan of, is to use an iframe(inline frame).
This is also less complex.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en-us" dir="ltr" lang="en-us" xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>This is the title</title>
<th colspan="1" valign="bottom" align="center" style="text-align: center;">
<td colspan="1" valgin="top" align="left">
<a href="#" target="mainFrame">Link 1</a>
<td colspan="1" valign="top" align="left">
<a href="http://www.google.com" target="mainFrame">Google</a>
<iframe id="mainFrame" name="mainFrame" src="http://www.altavista.com" frameborder="0" scrolling="auto"></iframe>
the name of the iframe is the important part. The name is the part that you put in the target attribute of your links. Thats just a basic example of how to use iframe's. You can also set their background to be transparent. You can set it up in such a way that your user doesn't even know it is a separate frame. Hope that helps.
EDIT: also, none of the xhtml dtd's support the name attribute in the ifram tag, let alone the iframe tag itself, you're probably going to have to use the loose dtd for html 4.0