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

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

<div class="section"><h2>Section title</h2>
<div class="section"><h3>Sub-section title</h3>
<div class="section"><h4>Sub-sub-section title</h4>
<div class="section"><h5>Sub-sub-sub-section title</h5>
<div class="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. <tt>Monospaced</tt> 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! -->

</div></div></div></div></div>

</body>

</html>
