<?xml version="1.0" standalone="no"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (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.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- $Id$ -->
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="page" page-height="10cm" page-width="15cm" margin="10pt">
      <fo:region-body/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="page">
    <fo:flow flow-name="xsl-region-body">
      <fo:block space-after="10pt">The following table has a row which contains too many
        columns.</fo:block>
      <fo:table table-layout="fixed" border-collapse="separate" width="100%">
        <fo:table-column number-columns-repeated="2" column-width="proportional-column-width(1)"/>
        <fo:table-header>
          <fo:table-row>
            <fo:table-cell>
              <fo:block>Header 1.1</fo:block>
            </fo:table-cell>
            <fo:table-cell>
              <fo:block>Header 1.2</fo:block>
            </fo:table-cell>
          </fo:table-row>
          <fo:table-row>
            <fo:table-cell>
              <fo:block>Header 2.1</fo:block>
            </fo:table-cell>
            <fo:table-cell>
              <fo:block>Header 2.2</fo:block>
            </fo:table-cell>
            <fo:table-cell>
              <fo:block>Header 2.3</fo:block>
            </fo:table-cell>
          </fo:table-row>
        </fo:table-header>
        <fo:table-footer>
          <fo:table-row>
            <fo:table-cell>
              <fo:block>Footer 1.1</fo:block>
            </fo:table-cell>
            <fo:table-cell>
              <fo:block>Footer 1.2</fo:block>
            </fo:table-cell>
          </fo:table-row>
        </fo:table-footer>
        <fo:table-body>
          <fo:table-cell border="1pt solid black">
            <fo:block>Cell 1.1</fo:block>
          </fo:table-cell>
          <fo:table-cell border="1pt solid black">
            <fo:block>Cell 1.2</fo:block>
          </fo:table-cell>
          <fo:table-cell border="1pt solid black" starts-row="true">
            <fo:block>Cell 2.1</fo:block>
          </fo:table-cell>
        </fo:table-body>
      </fo:table>
    </fo:flow>
  </fo:page-sequence>
</fo:root>
