<?xml version="1.0"?>
<!--
  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" language="en" country="GB">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="page"
      page-height="220pt" page-width="320pt" 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" hyphenate="true" text-align="justify" font-family="DejaVu">
      <fo:block>Apache FOP (Formatting Objects Processor) is a print formatter driven by XSL 
        formatting objects (XSL-FO) and an output independent formatter. It is a Java application 
        that reads a formatting object (FO) tree and renders the resulting pages to a specified 
        output.</fo:block>
    </fo:flow>
  </fo:page-sequence>
</fo:root>
