| 146 | The grouping issue is the most predominant one, so good thing you're mentioning that. The essence of the issues lies in the fact that there are two factors determining the component hierarchy in a profile: purposeful nesting - to reflect some natural hierarchy or, more typically, to allow repetition of a set of elements or components - and nesting as a result of component reuse. Take for example the cmdi-actor component: |
| 147 | |
| 148 | ''Actor'' |
| 149 | * Role |
| 150 | * Name |
| 151 | * ... |
| 152 | * ''BirthCountry (0:1)'' |
| 153 | * ''iso-country (1:1)'' |
| 154 | * Code |
| 155 | * ''cmdi-actorlanguages (0:1)'' |
| 156 | * description |
| 157 | * ''cmdi-actorlanguage (1:*)'' |
| 158 | * ... |
| 159 | * ''cmdi-language (1:1)'' |
| 160 | * LanguageName |
| 161 | * ''iso-language-639-3 (1:1)'' |
| 162 | |
| 163 | I think this component shows some reasonably good examples of component reuse. However the resulting hierarchy is a nightmare if you were to represent an instance of it it in a tree based view with tables per component (like in Arbil). What you would like to have is something like |
| 164 | |
| 165 | ''Actor'' |
| 166 | * Role |
| 167 | * Name |
| 168 | * BirthCountry.iso-country.Code |
| 169 | * ''cmdi-actorlanguages'' |
| 170 | * description |
| 171 | * ''cmdi-actorlanguage.cmdi-language'' (repeated) |
| 172 | * LanguageName |
| 173 | * iso-language-639-3.iso-639-3-code |
| 174 | |
| 175 | Where the tree is condensed, basically leaving out the levels that are an artifact of component reuse. Arbil is currently trying to achieve that by flattening all 0:1 and 1:1 branches in the tree. But then we got complaints about Arbil not representing the hierarchy of the components as modelled! So I think (unfortunately) there is no generic solution to this problem apart from providing a way of augmenting individual components with instructions like 'join children from here' for the editor or viewer. As far as I can tell this can only work top-down, but that should be powerful enough. |
| 176 | |
| 177 | ---- |