Constructing References to Internal Media Objects

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:

Directory path to all images for the collection
Directory path within the collection or component, separated by (and ending with) forward slash (/)
Unique name for media object
Number of serial components in object
Relative resolution(s) available for the object; single characters from predefined list, separated by vertical bar (|)
Internet MIME type for the object
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:

	<basePath> ... </basePath>
	<localPath> ... </localPath>
	<objectID> ... </objectID>
	<numComponents> ... </numComponents>
	<relativeSize> ... </relativeSize>

	<dc.format> ... </dc.format>
	<label> ... </label>

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:


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:


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:


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:


Here’s a more explicit view of how the metadata elements are reflected in path and file names: