ibly the subtitle as well) implicitly, and use this
two-step transform to "raise" or "promote" the title(s) (and their
corresponding section contents) to the document level.

1. If the document contains a single top-level section as its first
   element (instances of `nodes.PreBibliographic` are ignored),
   the top-level section's title becomes the document's title, and
   the top-level section's contents become the document's immediate
   contents. The title is also used for the <document> element's
   "title" attribute default value.

2. If step 1 successfully determines the document title, we
   continue by checking for a subtitle.

   If the lone top-level section itself contains a single second-level
   section as its first "non-PreBibliographic" element, that section's
   title is promoted to the document's subtitle, and that section's
   contents become the document's immediate contents.

Example:
   Given this input text::

       =================
        Top-Level Title
       =================

       Second-Level Title
       ~~~~~~~~~~~~~~~~~~

       A paragraph.

   After parsing and running the DocTitle transform, the result is::

       <document names="top-level title">
           <title>
               Top-Level Title
           <subtitle names="second-level title">
               Second-Level Title
           <paragraph>
               A paragraph.

   (Note that the implicit hyperlink target generated by the
   "Second-Level Title" is preserved on the <subtitle> element
   itself.)

Any `nodes.PreBibliographic` instances occurring before the
document title or subtitle are accumulated and inserted as
the first body elements after the title(s).

.. _reStructuredText: https://docutils.sourceforge.io/rst.html
i@