This is the mail archive of the docbook@lists.oasis-open.org mailing list for the DocBook project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[docbook] Simplify ToC content model


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hand authored ToCs are occasionally useful. Machine generated ToCs
that differ from the automatic ToC are also occasionally useful. But
the current content models for hand-authored ToCs are complex and
incomplete. (Incomplete because we've changed the hierarchy of DocBook
over time but not reflected those changes back in the ToC markup.)

I propose that the right answer is to dramatically reduce the
complexity of the ToC markup. There's nothing to be gained (IMHO) from
identifying the different parts of a book (front matter, back matter,
parts, chapters, sections) with different element names in the ToC.

I propose instead:

<!ELEMENT toc - o ((%bookcomponent.title.content;)?,
                   (%component.mix;)*,
                   (tocdiv|tocentry)*)>
<!ATTLIST toc
        %pagenum.attrib;
        %common.attrib;
        %toc.role.attrib;
        %local.toc.attrib;
>

<!ELEMENT tocdiv - o ((%sect.title.content;)?,
                      ((%divcomponent.mix;)*,
                       (tocdiv|tocentry)+))>
<!ATTLIST tocdiv
       %linkend.attrib; --to element that this entry represents--
       %pagenum.attrib;
       %common.attrib;
       %toc.role.attrib;
       %local.toc.attrib;
>

<!ELEMENT tocentry - - ((%para.char.mix;)*)>
<!ATTLIST tocentry
        %linkend.attrib; --to element that this entry represents--
        %pagenum.attrib;
        %common.attrib;
        %tocentry.role.attrib;
        %local.tocentry.attrib;
>

For example:

<toc><title>DocBook: The Definitive Guide</title>
<para>TDG has an introduction and three parts.</para>
<tocentry>Preface</tocentry>
<tocdiv><title>Introduction</title>
<tocentry>Getting Started with SGML/XML</tocentry>
<tocentry>...</tocentry>
</tocdiv>
</toc>

                                        Be seeing you,
                                          norm

- -- 
Norman Walsh <ndw at nwalsh dot com>      | The present moment is a powerful
http://www.oasis-open.org/docbook/ | goddess.--Goethe
Chair, DocBook Technical Committee |
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>

iD8DBQE+m/MUOyltUcwYWjsRApmLAJ4voWHLKT0ewok00Wxu/osyAgt71gCfZEug
t1anG/zVvsNshx4196zwASU=
=nJq1
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: docbook-unsubscribe at lists dot oasis-open dot org
For additional commands, e-mail: docbook-help at lists dot oasis-open dot org


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]