Nicolas Goaziou <n.goaz...@gmail.com> writes:

> Hello,
>
> tftor...@tftorrey.com (T.F. Torrey) writes:
>
>> One small problem, though: I see that if there is a TOC at the top and
>> then one included later using #+TOC, the exporter gives them both the
>> same id (<div id="table-of-contents">).  Duplicate ID's makes the XML
>> invalid.
>
> What do you suggest instead? id="table-of-contents-1" for the first
> #+TOC: keyword and so on?
>
>
> Regards,

If I were implementing this with abundant resources, I'd probably opt
for a schema of base-type[-levels][-sequence], with these definitions:

- base :: probably "toc" to group and identify these id's
- type :: "headlines", "images", or other current or future types
- level :: depth of map, if it makes sense for the type
- sequence :: if necessary, the number of the copy of this configuration
  in this document

This schema would produce id's such as these:

- toc-headlines-1 :: lone instance of toc/headlines/one level
- toc-headlines-2 :: lone instance of toc/headlines/two levels
- toc-headlines-2-2 :: second instance of toc/headlines/two levels
- toc-images :: lone instance of toc/images (do levels make sense?)
- toc-tables :: first instance of list of tables
- toc-tables-2 :: second instance of list of tables

You get the idea.

This gives a significant advantage in that authors can link to the
various instances just by knowing their own usage.  For instance, if
they provided a top-level toc at the beginning of their book, and a
deeper-level toc later on, they could link to each separately by id by
knowing this plan.

Another idea for achieving the same linkability without the plan, would
be to support assigning an id in the plist (that isn't implemented yet),
such as "#+TOC: :type headlines :levels 2 :id toc-headlines-2".  With
this power would come the responsibility for the users to make sure id's
were not duplicated.

As a minimum, your suggestion ("table-of-contents-1", etc.) would be
reasonable for most use cases, and it's the shortest route to valid XML.

Some users of Org are producing complex documents that will probably be
active users of multiple toc types.  I'm curious what kind of schema
would work best for their use cases.

Best regards,
Terry
-- 
T.F. Torrey

Reply via email to