<?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-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-cell starts-row="true">
            <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-header>
        <fo:table-footer>
          <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-cell ends-row="true">
            <fo:block>Footer 1.3</fo:block>
          </fo:table-cell>
        </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>
