<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<HEAD><!-- testcase: table_rules_groups.html -->
<!-- Description: To test the TABLE Element with RULES=GROUPS (Rules will appear between row groups and column groups) . The RULES attribute specifies which rules will appear between the cells within a table. -->
<!-- Author: Chris Petersen  Date: 11/17/98 -->

<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is table layout tests.
   -
   - The Initial Developer of the Original Code is
   - Netscape Communications Corp.
   - Portions created by the Initial Developer are Copyright (C) 1998
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the LGPL or the GPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
<title>Web Browser Web View (HTML): Document RULES/GROUPS</title>
</HEAD>
<table>
<caption>
Communicator 4.5 Installers for Mac and Windows Platforms</caption>
<colgroup span="4" >
<thead><tr><td>This is the header information</td></tr>
<tfoot><tr><td>This is the footer information</td></tr>
<tbody>
<tr>
<th></th>
<th>Macintosh PPC</th>
<th>Windows 95</th>
<th>Windows NT</th>
</tr>
<tr>
<td>Base Install
</td>
<td>
yes
</td>
<td>
yes
</td>
<td>
yes
</td>
</tr>
<tr>
<td>Complete Install
</td>
<td>
yes
</td>
<td>
yes
</td>
<td>
yes
</td>
</tr>
<tr>
<td>Pro Edition Install
</td>
<td>
yes
</td>
<td>
yes
</td>
<td>
yes
</td>
</tr>
</tbody>
</table>
</html>

