Reconciling topic and map metadata elements
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.
Topicmeta elements and their properties
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.NoteProcessors 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.