OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

dita message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: Question about Branch filter used within a map reference


Jarno pointed out that the following case is not specifically addressed in the 1.3 language. Ignoring any keys or resource names, the question is - how do the branches interact in the following scenario?
<mapref href="">
  <ditavalref href="">
  <ditavalref href="">

And in other.ditamap:
  <ditavalref href="">
  <ditavalref href="">

The spec says that having <ditavalref> as a child of mapref is equivalent to having one at the root of the map - each would result in a new copy of the full map. But it doesn't address the situation where one is present in each spot. With this specific example, I think the author's intent is to have the ones in <mapref> create an implied group. So, the entire map would be filtered for novice, and the entire map would be filtered for admin; within each of those branches, you would have sub-branches for OS. As a result, the fully resolved branches would become:

If that is the case, then the original mapref could be rewritten as follows, to get the same result:
  <ditavalref href="">
  <ditavalref href="">
  <mapref href="">

The only other way this could resolve is to state that the ditavalref elements all become peers. For this example, the result would be 4 branches - one each for novice, admin, osX, and linux. There may be use cases where this is what you want (add a branch for windows?). However, I think situations like the one here will be more common. The sub-map is more likely to take into account all locally-defined values for one axis, and the map reference is more likely to add unrelated categories.


Robert D Anderson
IBM Authoring Tools Development
Chief Architect, DITA Open Toolkit (http://dita-ot.sourceforge.net/)

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]