12018 design
Part of Plans for DITA Open Toolkit 1.5
Design for item
What user need will be met by this feature?
Users can easily reuse the text inside the newly created text element (<topicmeta><navtitle> and <reltable><title>) by conref or other methods, while in the previous version, there is no way to reuse the text inside the attribute.
What is the technical design for the change
The change affects the following modules including mappull, and transformation.
Mappull pull the topic title and short description into the ditamap to serve as the metadata of navigation links. The steps of pulling the navtitle element is as following
1. Check navtitle element. If navtitle element does exist and attribute locktitle=’yes’, then there is no need to pull other information to navtitle element.
2. If there is no navtitle element but navtitle attribute, and the attribute locktitle=’yes’, then there is also no need to pull other information. (It has been updated according to the RDA) RDA: this should not be a warning message now - the navtitle attribute should continue to work. Otherwise every existing map will cause many warnings.
3. If neither element nor attribute exist, or the attribute locktitle=’no’ or it is not set , pull the other information to serve as the value of navtitle, note that, it is no longer attribute, it is element.
We should update the code of writing the navtitle attribute, from
<xsl:attribute name="navtitle">
<xsl:value-of select="$navtitle"/>
</xsl:attribute>
to
<navtitle class="- topic/navtitle ">
<xsl:value-of select="$navtitle"/>
</navtitle>
Note that, it may not be so easy, because <navtitle> is the descendent of <topicmeta>.
The change also affects the linktext element. See following details
1. If linktext element exists, just use it.
2. If it doesn’t exist, grab other information to serve as the value of linktext element. Noted that, in the grabbing process, the behavior having to do with the navtitle attribute should update.
In the main transformation, this change affects the process of grabbing the title for the link. Because the element navtitle added, it should have priority over the attribute navtitle. So the process of generating table of contents should be updated, For the html transtype, update file map2htmltoc.xsl; for the htmlhelp tyanstype, update file map2hhc.xsl; for the eclipsehelp, update file map2eclipse.xsl; for the javahelp, update file map2TOC.xsl. The changes are quite similar, if the navtitle element exists, use it as the title for the link. The process of generating links in the topics is not affected, for it only uses the linktext element. RDA: When generating links in the topics, linktext has priority over navtitle. When generating a table of contents, navtitle has priority over linktext.
What sections of the toolkit will be impacted by the change?
The change will impact mappull and main transformation module.
See also
none