This section is non-normative.
When a publishing system typically would render each topic
document as an independent result document, the @chunk
attribute can be used to render individual branches of a map as single
documents.
Figure 1. Root map and the topics that it references
Consider the following DITA map:
<map>
<title>Lesson plan</title>
<topicref href="goals.dita">
<!-- More topic references to goal topics -->
</topicref>
<topicref href="firstLesson.dita">
<!-- More topic references to first lesson topics -->
</topicref>
<topicref href="nextLesson.dita">
<!-- More topic references to second lesson topics -->
</topicref>
<!-- More map branches -->
</map>
The following code samples show the content of
firstLesson.dita and
nextLesson.dita :
<!-- firstLesson.dita -->
<task id="firstLesson">
<title>Starting to work with scissors</title>
<shortdesc>This lesson will teach ... </shortdesc>
<taskbody>
<!-- ... -->
</taskbody>
</task>
<!-- nextLesson.dita -->
<task id="nextLesson">
<title>Advanced cutting</title>
<shortdesc>This lesson will introduce complex shapes ... </shortdesc>
<taskbody>
<!-- ... -->
</taskbody>
</task>
For many systems or output formats, each document in the map is
typically rendered as an independent
document. For example, rendering this map as HTML5 might result in
goals.html ,
firstLesson.html , and
nextLesson.html , while the child documents
within each branch would each result in their own HTML files.
Figure 2. Root map with chunking specified for certain branches
When output requirements demand that portions of the map be
combined into a single document, specifying
chunk="combine"
on a map branch instructs a
processor to render one document that combines all topics in that
branch.
In the following code sample, chunk="combine"
is
specified on the map branches for the lessons . This
indicates that each lesson branch should rendered as a single
result document. Topics in the first branch
with goals.dita will not be affected.
<map>
<title>Lesson plan</title>
<topicref href="goals.dita">
<!-- More topic references to goal topics -->
</topicref>
<topicref href="firstLesson.dita" chunk="combine" >
<!-- More topic references to first lesson topics -->
</topicref>
<topicref href="nextLesson.dita">
<!-- More topic references to second lesson topics -->
</topicref>
<!-- More map branches -->
</map>
Figure 3. Equivalent content of source documents after
evaluation
The result of evaluating this @chunk
attribute is
equivalent to the following map and topic documents:
<!-- Root map -->
<map>
<title>Lesson plan</title>
<topicref href="goals.dita">
<!-- More topic references to goal topics -->
</topicref>
<topicref href="firstLesson.dita"/>
<topicref href="nextLesson.dita"/>
<!-- More map branches -->
</map>
<!-- firstLesson.dita -->
<task id="firstLesson">
<title>Starting to work with scissors</title>
<shortdesc>This lesson will teach ... </shortdesc>
<taskbody>
<!-- ... -->
</taskbody>
<!-- More first lesson topics -->
</task>
<!-- nextLesson.dita -->
<task id="nextLesson">
<title>Advanced cutting</title>
<shortdesc>This lesson will introduce complex shapes...</shortdesc>
<taskbody>
<!-- ... -->
</taskbody>
<!-- More second lesson topics -->
</task>
Content from each branch where @chunk
attribute is
specified is combined into a single result document, with a topic order and topic nesting structure that
matches the original map hierarchy. Content from outside of those
branches remains unchanged.