<?xml version="1.0" encoding="UTF-8"?>


<!--
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.
-->

<document>
  <properties>
    <title>Doxia FO Module - Links</title>
    <author email="ltheussl@apache.org">Lukas Theussl</author>
  </properties>

  <body>
    <section name="Useful links">

      <ul>
        <li><a href="http://xmlgraphics.apache.org/fop/">Apache FOP</a></li>
        <li><a href="http://www.w3.org/TR/xsl/">W3C XSL Recommendation</a></li>
        <li><a href="http://www.w3.org/TR/xslt">W3C XSLT Recommendation</a></li>
        <li><a href="http://www.adobe.com/devnet/pdf/pdf_reference.html">PDF Reference</a></li>
        <li><a href="http://www.w3schools.com/xslfo/default.asp">XSL-FO Tutorial</a></li>
        <li><a href="http://www.xmlmind.com/foconverter/">XMLmind FO Converter</a></li>
      </ul>

    </section>

  </body>
</document>