The topicmeta element in maps contains numerous elements that can be used to declare metadata. These metadata elements have an effect on the parent topicref element, any child topicref elements, and – if a direct child of the map element – on the map as a whole.
For each element that can be contained in the topicmeta element, the following table addresses the following questions:
- How does it apply to the topic?
- This column describes how the metadata specified within the topicmeta element interacts with the metadata specified in the topic. In most cases, the properties are additive. For example, when the audience element is set to "user" at the map level, the value "user" is added during processing to any audience metadata that is specified within the topic.
- Does it cascade to other topics in the map?
- This column indicates whether the specified metadata value cascades to nested topicref elements. For example, when an audience element is set to "user" at the map level, all child topicref elements implicitly have an audience element set to "user" also. Elements that can apply only to the specific topicref element, such as linktext, do not cascade.
- What is the purpose when specified on the map element?
- The map element allows metadata to be specified for the entire map. This column describes what effect, if any, an element has when specified at this level.
|Element||How does it apply to the topic?||Does it cascade to child topicref elements?||What is the purpose when set on the map element?|
|audience||Add to the topic||Yes||Specify an audience for the entire map|
|author||Add to the topic||Yes||Specify an author for the entire map|
|category||Add to the topic||Yes||Specify a category for the entire map|
|copyright||Add to the topic||Yes||Specify a copyright for the entire map|
|critdates||Add to the topic||Yes||Specify critical dates for the entire map|
|data||Add to the topic||No, unless specialized for a purpose that cascades||No stated purpose, until the element is specialized|
|data-about||Add the property to the specified target||No, unless specialized for a purpose that cascades||No stated purpose, until the element is specified|
|foreign||Add to the topic||No, unless specialized for a purpose that cascades||No stated purpose, until the element is specified|
|keywords||Add to the topic||No||No stated purpose|
|linktext||Not added to the topic; applies only to links created based on this occurrence in the map||No||No stated purpose|
|metadata||Add to the topic||Yes||Specify metadata for the entire map|
|navtitle||Not added to the topic; applies only to navigation that is created based on this occurrence in the map. The navigation title will be used whenever the locktitle attribute on the containing topicref element is set to "yes".||No||No stated purpose|
|othermeta||Add to the topic||No||Define metadata for the entire map|
|permissions||Add to the topic||Yes||Specify permissions for the entire map|
|prodinfo||Add to the topic||Yes||Specify product info for the entire map|
|publisher||Add to the topic||Yes||Specify a publisher for the map|
|resourceid||Add to the topic||No||Specify a resource ID for the map|
|searchtitle||Replace the one in the topic. If multiple searchtitle elements are specified for a single target, processors can choose to issue a warning.||No||No stated purpose|
|shortdesc||Only added to the topic when the topicref element
specifies a copy-to attribute. Otherwise, it applies only to links created
based on this occurrence in the map.
Note: Processors MAY or MAY NOT implement this behavior.
|No||Provide a description of the map|
|source||Add to the topic||No||Specify a source for the map|
|unknown||Add to the topic||No, unless specialized for a purpose that cascades||No stated purpose, until the element is specified|
|ux-window||Not added to the topic||No||Definitions are global, so setting at map level is equivalent to setting anywhere else.|
Example of metadata elements cascading in a DITA map
The following code sample illustrates how an information architect can apply certain metadata to all the DITA topics in a map:
<map title="DITA maps" xml:lang="en-us"> <topicmeta> <author>Kristen James Eberlein</author> <copyright> <copyryear year="2009"/> <copyrholder>OASIS</copyrholder> </copyright> </topicmeta> <topicref href="dita_maps.dita" navtitle="DITA maps"> <topicref href="definition_ditamaps.dita" navtitle="Definition of DITA maps"></topicref> <topicref href="purpose_ditamaps.dita" navtitle="Purpose of DITA maps"></topicref> <!-- ... --> </topicref> </map>
The author and copyright information cascades to each of the DITA topics referenced in the DITA map. When the DITA map is processed to XHTML, for example, each XHTML file contains the metadata information.