[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Nested Sections Solution Proposal
A mechanism for allowing topics and specializations of topic to have lightweight nested structures.
Many topics have an internal narrative structure that is analogous to sections within a book chapter or help topic. DITA has two mechanisms for dealing with this situation. One is to use sections. This mechanism breaks down if the required hierarchy is more than one level deep. The second mechanism is to use sub-topics. This mechanism is "heavy-weight" in a few different ways:
This proposal defines mechanisms for lightweight, hierarchical, sectional grouping.
The proposal is not meant to address situations where authors wish to create deeply nested topics with many levels of titles. They should use nested topic features to do that.
The proposal is the addition of two elements. One, "bodydiv" or "div" would be able to contain sections and other body-level elements. The other, "sectiondiv" would be contained by sections and contain body-level elements. Neither type would allow authors to write titles. Both types would have optional "spectitle" attributes that would behave the same as the equivalent attribute on sections.
<body> <p>Got some stuff to say</p> <bodydiv> <p>A logical grouping of content within a body - a specializer could use this to generate a title, but there's no facility for the author to define a topic-like or unique title.</p> <section> <title>A</titke> <p>etc.</p> </section> <section> <title>B</titke> <p>etc.</p> </section> <bodydiv> <p>A nested bodydiv.</p> </bodydiv> </bodydiv> <bodydiv> <p>Another bodydiv</p> </bodydiv> </body>
<section> <title>stuff</title> <p>etc.</p> <sectiongroup> <p>A logical grouping of content within a section - a specializer could use this to generate a title, but there's no facility for the author to define a topic-like or unique title.</p> <p>etc.</p> </sectiongroup>
The DTD changes required to allow this are minor. Basically two new element definitions are required. They are not particularly complex elements and are almost the same as sections.
The implementation changes are relatively minor as these elements can be treated as a variant of section elements.
The largest long-term cost is the incremental bloat to the DITA language itself. DITA is already a large language, so the addition of new elements should be carefully considred.
As per the introduction, the benefit is the ability to create section-nested content without the overhead and mismatched content model of nested topics. It is hard at this time to determine how many people are bothered by the issues with nested topics.
The technical time to implement is relatively small: on the order of a day. The submitter feels that there are still some open issues with respect to defining best practices for using this feature versus using nested topics. It may take a further few meetings to work through these issues.
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]