Constructing References to Internal Media Objects
- Last Updated: 2004-10-04
- Editor: Peter C. Gorman
- Related Documents:
All metadata elements referred to in this document are defined in UW-Madison Digital Library Data Dictionary: Multimedia and Bibliographic Databases. Structural metadata for a single (possibly composite) Media object consists of:
- Base-Path
- Directory path to all images for the collection
- Local-Path
- Directory path within the collection or component, separated by (and ending with) forward slash (/)
- Object-ID
- Unique name for media object
- Num-Components
- Number of serial components in object
- Relative-Size
- Relative resolution(s) available for the object; single characters from predefined list, separated by vertical bar (|)
- DC.Format
- Internet MIME type for the object
- Label
- Display label associated with the object
Since multiple media objects may be attached to a single record, these data elements need to be grouped together for each media object. With a hierarchical data model such as SGML/XML, this is straightforward:
<media> <basePath> ... </basePath> <localPath> ... </localPath> <objectID> ... </objectID> <numComponents> ... </numComponents> <relativeSize> ... </relativeSize> <dc.format> ... </dc.format> <label> ... </label> </media>
For applications with a flatter data model (such as Excel), the data elements need to be concatenated into a single field. The preferred encoding of these elements is:
Local-Path;Object-ID;Num-Components;Relative-Size;DC.Format;Label
It is assumed that the Base-Path is known to the interface application, and does not therefore need to be encoded at the record level.
Let's say there are JPEG images of three pages of sheet music for "The Jensen Waltz", available as thumbnails or reference size. Files are stored as:
/db/dlmap/[Collection-ID]/htdocs/data/images/waltz/swedish/thumb/JensWaltz01t.jpg /db/dlmap/[Collection-ID]/htdocs/data/images/waltz/swedish/thumb/JensWaltz02t.jpg /db/dlmap/[Collection-ID]/htdocs/data/images/waltz/swedish/thumb/JensWaltz03t.jpg /db/dlmap/[Collection-ID]/htdocs/data/images/waltz/swedish/reference/JensWaltz01r.jpg /db/dlmap/[Collection-ID]/htdocs/data/images/waltz/swedish/reference/JensWaltz02r.jpg /db/dlmap/[Collection-ID]/htdocs/data/images/waltz/swedish/reference/JensWaltz03r.jpg
Data values are:
| Base-Path | = | /db/dlmap/[Collection-ID]/htdocs/data/images/ |
| Local-Path | = | waltz/swedish/ |
| Object-ID | = | JensWaltz |
| Num-Components | = | 3 |
| Relative-Size | = | t|r |
| DC.Format | = | image/jpeg |
| Label | = | Sheet music |
This would be encoded as:
waltz/swedish/;JensWaltz;3;t|r;image/jpeg;Sheet music
Now, let's suppose that there are also two resolutions of a sound file for the waltz, stored as:
/db/dlmap/[Collection-ID]/htdocs/data/sound/waltz/swedish/low/JensWaltzl.ram /db/dlmap/[Collection-ID]/htdocs/data/sound/waltz/swedish/high/JensWaltzh.ram
Data values are:
| Base-Path | = | /db/dlmap/[Collection-ID]/htdocs/data/sound/ |
| Local-Path | = | waltz/swedish/ |
| Object-ID | = | JensWaltz |
| Num-Components | = | 1 |
| Relative-Size | = | l|h |
| DC.Format | = | audio/x-pn-realaudio |
| Label | = | Performance |
This would be encoded as:
waltz/swedish/;JensWaltz;1;l|h;audio/x-pn-realaudio;Performance
Here's a more explicit view of how the metadata elements are reflected in path and file names:
