The <versions> element lists two things: the available versions of a clip, and the version currently in use.
Different versions of a track are described by different <feed> elements each identified with a unique vuid attribute. In a Gateway clip XML, a specific version of a clip is defined as all the <feed> elements sharing the same vuid attribute accross different <track> elements.
The <version> element describes and lists the available versions, while the currentVersion attribute defines which <version> element is the current one. The client application that reads the .clip is not required to currentVersion; it only serves as a flag put there by the creator.
Consider the following, simplified example.
<tracks> <track uid="track1"> <feeds> <feed vuid="v1" uid="t1f1"/> <feed vuid="v3" uid="t1f2"/> <!-- version 3 of the track, version 2 was never created --> </feeds> </track> <track uid="track2"> <feeds> <feed vuid="v1" uid="t2f1"/> <feed vuid="v2" uid="t2f2"/> <feed vuid="v3" uid="t2f3"/> </feeds> </track> </tracks>
And you have the following <versions> structure.
<versions currentVersion="v2"> <version uid="v1"/> <version uid="v2"/> <version uid="v3"/> </versions>
You now have a clip that can display the following:
And in this example, the client application should display the version 2 of the clip because currentVersion= 2 .
| Children |
|---|
| version+ |
| Found in... |
|---|
| <clip> |