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

<!DOCTYPE article PUBLIC "-//OASIS//DTD Simplified DocBook XML V1.1//EN" "http://www.oasis-open.org/docbook/xml/simple/1.1/sdocbook.dtd">

<article>

  <articleinfo>

    <title>Title</title>
    <subtitle>Or How I Learned to Live</subtitle>
    <citetitle>citetitle</citetitle>
    <!-- Abbreviated titles are usually used only in specific contexts, such as headers and footers, and suppressed everywhere else. -->
    <titleabbrev>Configuring Menus</titleabbrev>

    <corpauthor>CorpAuthor</corpauthor><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->

    <date>Date</date><!-- DocBook does not specify the format of the date. -->

    <abbrev>Assn.</abbrev>

    <abstract><!-- Formatted as a displayed block. Sometimes suppressed. Often presented in alternate outputs. -->
      <title>articleinfo Abstract Title</title>
      <para>articleinfo Abstract Content</para>
    </abstract>

    <author><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->
      <honorific>PhD</honorific>
      <firstname>Main</firstname>
      <surname>Author</surname>
      <lineage>Sr.</lineage>
      <othername>D</othername>
      <affiliation>
        <jobtitle>Director of Cooperative Efforts</jobtitle>
        <orgname>Cooperative Engineering</orgname>
      </affiliation>
      <authorblurb>
        <title>Title</title>
        <para>super hero.</para>
      </authorblurb>
    </author>

    <honorific>Dr</honorific>
    <firstname>Peter</firstname>
    <surname>Doe</surname>
    <lineage>Sr.</lineage>
    <othername>Spiderman</othername>
    <affiliation>
      <jobtitle>Director of Cooperative Efforts</jobtitle>
      <orgname>Cooperative Engineering</orgname>
    </affiliation>
    <authorblurb>
      <title>Title</title>
      <para>super hero.</para>
    </authorblurb>

    <authorgroup>
      <corpauthor>Authorgroup CorpAuthor</corpauthor><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->

      <author><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->
        <honorific>Dr</honorific>
        <firstname>Authorgroup</firstname>
        <surname>Author</surname>
        <lineage>Sr.</lineage>
        <othername>D</othername>
        <affiliation>
          <jobtitle>Director of Cooperative Efforts</jobtitle>
          <orgname>Cooperative Engineering</orgname>
        </affiliation>
        <authorblurb>
          <title>authorblurb title</title>
          <para>He's a super hero in his spare time.</para>
        </authorblurb>
      </author>

      <editor><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->
        <honorific>Dr</honorific>
        <firstname>Authorgroup</firstname>
        <surname>Editor</surname>
        <lineage>Sr.</lineage>
        <othername>Spiderman</othername>
        <affiliation>
          <jobtitle>Director of Cooperative Efforts</jobtitle>
          <orgname>Cooperative Engineering</orgname>
        </affiliation>
        <authorblurb>
          <title>authorblurb title</title>
          <para>He's a super hero in his spare time.</para>
        </authorblurb>
      </editor>

      <othercredit><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->
        <honorific>Dr</honorific>
        <firstname>Authorgroup</firstname>
        <surname>OtherCredit</surname>
        <lineage>Sr.</lineage>
        <othername>AlterEgo</othername>
        <affiliation>
          <jobtitle>Director of Cooperative Efforts</jobtitle>
          <orgname>Cooperative Engineering</orgname>
        </affiliation>
        <authorblurb>
          <title>authorblurb title</title>
          <para>He's a super hero in his spare time.</para>
        </authorblurb>
      </othercredit>
    </authorgroup>

    <bibliomisc role="url"><ulink url="http://www.net/"/></bibliomisc>

    <copyright>
      <year>1996</year>
      <year>1997</year>
      <holder>me</holder>
    </copyright>

    <edition>Edition</edition>

    <editor><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->
      <honorific>Dr</honorific>
      <firstname>Peter</firstname>
      <surname>Parker</surname>
      <lineage>Sr.</lineage>
      <othername>Spiderman</othername>
      <affiliation>
        <jobtitle>Director of Cooperative Efforts</jobtitle>
        <orgname>Cooperative Engineering</orgname>
      </affiliation>
      <authorblurb>
        <title>Title</title>
        <para>Peter's a super hero in his spare time.</para>
      </authorblurb>
    </editor>

    <keywordset>
      <keyword>key1</keyword>
      <keyword>key2</keyword>
    </keywordset>

    <mediaobject>
      <textobject><phrase>The Eiffel Tower</phrase></textobject>
    </mediaobject>

    <othercredit><!-- May be formatted inline or as a displayed block, depending on context. Sometimes suppressed. -->
      <honorific>Dr</honorific>
      <firstname>John</firstname>
      <surname>Doe</surname>
      <lineage>Sr.</lineage>
      <othername>Spiderman</othername>
      <affiliation>
        <jobtitle>Director of Cooperative Efforts</jobtitle>
        <orgname>Cooperative Engineering</orgname>
      </affiliation>
      <authorblurb>
        <title>Title</title>
        <para>Peter's a super hero in his spare time.</para>
      </authorblurb>
    </othercredit>

    <pubdate>1994</pubdate>
    <publishername>The TeX User's Group</publishername>
    <releaseinfo>beta</releaseinfo>
    <volumenum>15</volumenum>
    <issuenum>3</issuenum>
    <legalnotice><para>No notice is required.</para></legalnotice>

    <revhistory>
      <revision>
        <revnumber>0.91</revnumber>
        <date>11 Dec 1996</date>
        <authorinitials>ndw</authorinitials>
        <revremark>Bug fixes</revremark>
      </revision>
      <revision>
        <revnumber>0.90</revnumber>
        <date>30 Nov 1996</date>
        <authorinitials>ndw</authorinitials>
        <revdescription><para>long write up</para></revdescription>
      </revision>
    </revhistory>

    <subjectset scheme="libraryofcongress">
      <subject><subjectterm>Electronic Publishing</subjectterm></subject>
      <subject><subjectterm>SGML (Computer program language)</subjectterm></subject>
    </subjectset>

  </articleinfo>


  <abstract>
    <title>Abstract Title</title>
    <para>In brief.</para>
  </abstract>

  <section>
    <sectioninfo>
      <abstract><para>A trivial example of recursive sections.</para></abstract>
    </sectioninfo>
    <title>Section title</title>
    <section><title>Sub-section title</title>
      <section><title>Sub-sub-section title</title>
        <section><title>Sub-sub-sub-section title</title>
          <section id="ch02"><title>Sub-sub-sub-sub-section title</title>

  <epigraph>
    <attribution>William Shakespeare</attribution>
    <literallayout>Epigraph: What say you?</literallayout>
  </epigraph>

  <para>
    The <abbrev>Assn.</abbrev> of Computing Machinery
    has published <citetitle pubwork="book">Developing SGML DTDs</citetitle>.
  </para>

  <para>
    In <acronym>UNIX</acronym> command <command>ls</command>
    with the <option>-a</option> option is used to get a directory listing.
  </para>

  <para>
    The output from the date command is eg
    <computeroutput>Sun  Nov 16, 1997  21:03:29</computeroutput>.
  </para>

  <para>
    An email address is eg <email>yo@tu.com</email>.
  </para>

  <para>
    The symbolic constants for error numbers are defined in
    <filename class="headerfile">errno.h</filename> in
    <filename class="directory">/usr/include/sys</filename>.
      </para>

  <para>
    This software is provided <quote>as is</quote>.
  </para>

  <para>
    Execute the command with
    <command>command</command>
    <option>options</option>
    <replaceable>filename</replaceable>.
  </para>

  <para>
    This is hosted at <systemitem class="systemname">helio.com</systemitem>.
    The name <trademark>pipipo</trademark> is traded.
    The name <trademark class="registered">pipipo</trademark> is registered.
    The name <trademark class="copyright">pipipo</trademark> is copyrighted.
    The name <trademark class="service">pipipo</trademark> is serviced.
    The name <trademark class="trade">pipipo</trademark> is traded.
  </para>

  <para>
    At the system prompt, enter <userinput>xyzzy</userinput>.
  </para>

  <sidebar>
    <title>A Sidebar</title>
    <para>Sidebar content.</para>
  </sidebar>

  <para>
    A link to an element with an XRefLabel: <xref linkend="ch03"/>.
    A straight link generates the cross-reference text: <xref linkend="ch02"/>.
  </para>

  <mediaobject>
    <audioobject>
      <objectinfo><title>Phaser sound effect</title></objectinfo>
      <audiodata fileref="phaser.wav"/>
    </audioobject>
    <textobject><phrase>A sound effect.</phrase></textobject>
  </mediaobject>

  <mediaobject>
    <videoobject><videodata fileref="movie.avi"/></videoobject>
  </mediaobject>

  <para>
    <emphasis>Italic</emphasis> font.
    <emphasis role="bold">Bold</emphasis> font.
    <literal>Monospaced</literal> font.
  </para>

  <example>
    <title>A Real Function</title>
    <programlisting>
      real function()<lineannotation>Error!</lineannotation>
    </programlisting>
  </example>

  <blockquote>
    <attribution>William Shakespeare</attribution>
    <literallayout>Blockquote: What say you?</literallayout>
  </blockquote>

  <para>
    An annual percentage rate of
    <literal>3.27</literal>%<footnote id="footnote"><para>The prime rate.</para></footnote>
    will be charged on all balances<footnoteref linkend="footnote"/>.
  </para>

  <itemizedlist>
    <listitem><para>List item 1.</para></listitem>
    <listitem><para>List item 2.</para><para>Paragraph contained in list item 2.</para>
    <itemizedlist>
      <listitem><para>Sub-list item 1.</para></listitem>
      <listitem><para>Sub-list item 2.</para></listitem>
    </itemizedlist>
    </listitem>
    <listitem><para>List item 3. Force end of list:</para></listitem>
  </itemizedlist>

  <programlisting>Verbatim text not contained in list item 3</programlisting>

  <orderedlist numeration="arabic">
    <listitem><para>Numbered item 1.</para>
    <orderedlist numeration="upperalpha">
      <listitem><para>Numbered item A.</para></listitem>
      <listitem><para>Numbered item B.</para></listitem>
    </orderedlist>
    </listitem>
    <listitem><para>Numbered item 2.</para></listitem>
  </orderedlist>

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

  <variablelist>
    <varlistentry><term>Defined term 1</term><listitem><para>of definition list.</para></listitem></varlistentry>
    <varlistentry><term>Defined term 2</term><listitem><para>of definition list.</para><programlisting>Verbatim text
              in a box        </programlisting></listitem></varlistentry>
  </variablelist>

  <figure>
    <title>Figure title</title>
    <mediaobject>
      <imageobject><imagedata fileref="figure.png" format="JPEG" /></imageobject>
      <caption id="ch03" xreflabel="Chapter the Third"><para>Figure caption</para></caption>
    </mediaobject>
  </figure>

<para>
  Here is an inline image: <inlinemediaobject><imageobject><imagedata fileref="figure.png"/></imageobject></inlinemediaobject>.
</para>

<!-- FIXME: DOXIA-339 table caption is not emitted correctly
  <table frame="all" rowsep="1" colsep="1">
    <title>Table caption</title>
    <tgroup cols="3">
      <colspec align="center" /><colspec align="left" /><colspec align="right" />
      <tbody>
        <row>
          <entry>Centered --><!-- LB --><!-- cell 1,1</entry>
          <entry>Left-aligned --><!-- LB --><!-- cell 1,2</entry>
          <entry>Right-aligned --><!-- LB --><!-- cell 1,3</entry>
        </row>
        <row>
          <entry>cell 2,1</entry>
          <entry>cell 2,2</entry>
          <entry>cell 2,3</entry>
        </row>
      </tbody>
    </tgroup>
  </table>
-->

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

  <informaltable frame="none" rowsep="0" colsep="0">
    <tgroup cols="2">
      <colspec align="center" /><colspec align="center" />
      <tbody>
        <row>
          <entry>cell</entry>
          <entry>cell</entry>
        </row>
        <row>
          <entry>cell</entry>
          <entry>cell</entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>

  <informaltable frame="all" rowsep="1" colsep="1">
    <tgroup cols="2">
      <colspec align="center" /><colspec align="center" />
      <thead>
        <row>
          <entry>header</entry>
          <entry>header</entry>
        </row>
      </thead>
      <tbody>
        <row>
          <entry>cell</entry>
          <entry>cell</entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>

  <informaltable frame="all">
    <tgroup cols="5" align="left" colsep="1" rowsep="1">
      <colspec colname="c1"/>
      <colspec colname="c2"/>
      <colspec colname="c3"/>
      <colspec colnum="5" colname="c5"/>
      <thead>
        <row>
          <entry namest="c1" nameend="c2" align="center">Horizontal Span</entry>
          <entry>a3</entry><entry>a4</entry><entry>a5</entry>
        </row>
      </thead>
      <tfoot>
        <row>
          <entry>f1</entry><entry>f2</entry><entry>f3</entry><entry>f4</entry><entry>f5</entry>
        </row>
      </tfoot>
      <tbody>
        <row>
          <entry>b1</entry><entry>b2</entry><entry>b3</entry><entry>b4</entry>
          <entry morerows="1" valign="middle"><para>  <!-- Pernicous Mixed Content -->
          Vertical Span</para></entry>
        </row>
        <row>
          <entry>c1</entry>
          <entry namest="c2" nameend="c3" align="center" morerows="1" valign="bottom">Span Both</entry>
          <entry>c4</entry>
        </row>
        <row>
          <entry>d1</entry><entry>d4</entry><entry>d5</entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>

  <informaltable frame="all">
    <tgroup cols="5" align="left" colsep="1" rowsep="1">
      <colspec colname="c1"/>
      <colspec colname="c2"/>
      <colspec colname="c3"/>
      <colspec colname="c4"/>
      <colspec colname="c5"/>
      <spanspec spanname="span" namest="c2" nameend="c4"/>
      <tbody>
        <row>
          <entry>a1</entry><entry align="center" spanname="span">a2</entry><entry>a5</entry>
        </row>
        <row>
          <entry>b1</entry><entry>b2</entry><entry>b3</entry><entry>b4</entry><entry>b5</entry>
        </row>
        <row>
          <entry>c1</entry><entry spanname="span">c2</entry><entry>c5</entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>

  <informaltable frame="all">
    <tgroup cols="3">
      <tbody>
        <row>
          <entry>a1</entry><entry>b1</entry><entry>c1</entry>
        </row>
        <row>
          <entry>a2</entry>
          <entrytbl cols="3">
            <tbody>
              <row>
                <entry>b2a1</entry><entry>b2b1</entry><entry>b2c1</entry>
              </row>
              <row>
                <entry>b2a2</entry><entry>b2b2</entry><entry>b2c2</entry>
              </row>
              <row>
                <entry>b2a3</entry><entry>b2b3</entry><entry>b2c3</entry>
              </row>
            </tbody>
          </entrytbl>
          <entry>c2</entry>
        </row>
        <row>
          <entry>a3</entry><entry>b3</entry><entry>c3</entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>

  <para>
    <anchor id="Anchor" />Anchor<!-- anchor_end -->.
    Link to <link linkend="Anchor">Anchor</link>.
    Link to <ulink url="http://www.pixware.fr">http://www.pixware.fr</ulink>.
    Link to <link linkend="Anchor">showing alternate text</link>.
    Link to <ulink url="http://www.pixware.fr">Pixware home page</ulink>.
  </para>

  <note>
    <title>Upcoming Changes</title>
    <para>Future versions of this feature may not be backward-compatible.</para>
  </note>
          </section>
        </section>
      </section>
    </section>
  </section>

  <bibliography>
    <title>A Test Bibliography</title>
    <bibliodiv><title>Books</title>
      <bibliomixed>
        <bibliomset relation="journal">
          <title>The World Wide Web Journal</title>
          <volumenum>2</volumenum><issuenum>1</issuenum>.
          <publishername>O'Reilly &amp; Associates, Inc.</publishername> and
          <pubdate>Winter, 1996</pubdate></bibliomset>.
      </bibliomixed>
    </bibliodiv>
  </bibliography>

  <appendix>
    <title>Demonstration Appendix</title>
    <para>This appendix demonstrates an appendix.</para>
  </appendix>

</article>