<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <title>Title</title>
  <meta name="author" content="Author" />
  <meta name="date" content="Date" />
</head>

<body>

<!-- MACRO{toc|fromDepth=0|toDepth=3} -->

<p>Paragraph 1, line 1. Paragraph 1, line 2.</p>
<p>Paragraph 2, line 1. Paragraph 2, line 2.</p>

<section><h2>Section title</h2>
<section><h3>Sub-section title</h3>
<section><h4>Sub-sub-section title</h4>
<section><h5>Sub-sub-sub-section title</h5>
<section><h6>Sub-sub-sub-sub-section title</h6>

<ul>
  <li>List item 1.</li>
  <li>List item 2.<p>Paragraph contained in list item 2.</p>
    <ul>
      <li>Sub-list item 1.</li>
      <li>Sub-list item 2.</li>
    </ul>
  </li>
  <li>List item 3. Force end of list:</li>
</ul>

<div class="source"><pre>Verbatim text not contained in list item 3</pre></div>

<ol type="1">
  <li>Numbered item 1.
    <ol type="A">
      <li>Numbered item A.</li>
      <li>Numbered item B.</li>
    </ol>
  </li>
  <li>Numbered item 2.</li>
</ol>

<p>List numbering schemes: [[1]], [[a]], [[A]], [[i]], [[I]].</p>

<dl>
  <dt>Defined term 1</dt>
  <dd>of definition list.</dd>
  <dt>Defined term 2</dt>
  <dd>of definition list.<div class="source"><pre>Verbatim text
                        in a box        </pre></div></dd>
</dl>

<p>--- instead of +-- suppresses the box around verbatim text.</p>

<div class="figure">
  <p align="center"><img src="figure.png" alt="figure.png" /></p>
  <p align="center"><i>Figure caption</i></p>
</div>

<table align="center" border="1" class="bodyTable">
  <caption>Table caption</caption>
    <tr class="a">
      <th align="center">Centered<br />cell 1,1</th>
      <th align="left">Left-aligned<br />cell 1,2</th>
      <th align="right">Right-aligned<br />cell 1,3</th>
    </tr>
    <tr class="b">
      <td align="center">cell 2,1</td>
      <td align="left">cell 2,2</td>
      <td align="right">cell 2,3</td>
    </tr>
</table>

<p>No grid, no caption:</p>

<table align="center" border="0" class="bodyTable">
    <tr class="a">
      <td align="center">cell</td>
      <td align="center">cell</td>
    </tr>
    <tr class="b">
      <td align="center">cell</td>
      <td align="center">cell</td>
    </tr>
</table>

<p>Horizontal line:</p><hr />

<!-- PB -->
<p>New page.</p>

<p><i>Italic</i> font. <b>Bold</b> font. <code>Monospaced</code> font.</p>

<p>
  <a name="Anchor">Anchor</a>.
  Link to <a href="#Anchor">Anchor</a>.
  Link to <a href="http://www.pixware.fr" class="externalLink">http://www.pixware.fr</a>.
  Link to <a href="#Anchor">showing alternate text</a>.
  Link to <a href="http://www.pixware.fr" class="externalLink">Pixware home page</a>.
</p>

<p>Force line<br />break.</p>

<p>Non&#160;breaking&#160;space.</p>

<p>Escaped special characters:<br />
  ~<br />
  =<br />
  -<br />
  +<br />
  *<br />
  [<br />
  ]<br />
  &lt;<br />
  &gt;<br />
  {<br />
  }<br />
  \
</p>

<p>Copyright symbol: &#169;, &#169;, &#169;.</p>

<!-- A comment! -->

</section></section></section></section></section>

</body>

</html>
