This is the mail archive of the
docbook@lists.oasis-open.org
mailing list for the DocBook project.
[docbook] Simplify ToC content model
- From: Norman Walsh <ndw at nwalsh dot com>
- To: docbook at lists dot oasis-open dot org
- Date: Tue, 15 Apr 2003 07:55:00 -0400
- Subject: [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