Data Collection Processing Phase

Overview of map-driven-processing data collection phase

The data collection process can be extended in several ways:
  • You can extend the default enumeration data set to add or remove things you do or don't want to number by adding templates in the mode construct-enumerable-structure.

    By default the enumeration data reflects all elements with titles: topics, figures, tables, sections, examples, bodydiv, sectiondiv, and div.

    If you wanted to number notes, for example, you could add a template that matches on "topic/note" in the mode construct-enumerable-structure and call the template construct-enumerated-element with the appropriate content.

  • You can extend or modify the index and glossary grouping and sorting behavior, although there should be no need unless you need to apply specific grouping or sorting rules for some reason. Note that as of 0.9.19, the grouping and sorting is only tested for English, so getting correct grouping and sorting for other languages, locales, and writing systems will likely require customization or, in the worst case, XSLT extensions that implement appropriate collation.
  • Add your own data collection for whatever purpose by implementing templates in the mode data-collection-extensions. You can generate whatever XML structures you want through this mode.

    For example, if you needed specific data to support some interaction feature of your generated output, you could gather that data in the data-collection-extensions mode.

The collected data is not normally written out—it is simply held in memory as an XSLT variable. However, if you turn debugging on using the debug parameter the collected data will be written to the output directory as the file collected-data.xml.