[edit] Examples
[edit] DetailsAn internal detail that might help your understanding. What I do is to assign a "group id" to everything in each [edit] Basics
[edit] Common attributesMost elements have auto-translated, auto-generated, the, sort, description, and type attributes. These are abbreviated
[edit] Metadata chunksMetadata comes in "chunks". Each chunk is enclosed in a xml:lang attributes are ignored for the most part. Their appearance means that an element value is deliberately in the specified language and should not be translated. Every chunk of metadata has a publisher and one or more ids. Each piece of licensable information should be in a separately published metadata chunk. This allows all of the metadata for a particular set of ids to be kept together while keeping the license information separate. [edit] Publisher elementA publisher is defined using the <publisher created="timestamp" c/i/a d/t/a/a/t/s> xhtml </publisher> The <publisher created="2007-02-23 01:20:07" catalog="MusicML/People" identifier="Jonathan_Eliot_Steinhart" description="person" type="birth name"> <name catalog="MusicML/People" identifier="Jonathan" description="person" type="first name">Jonathan</name> <name catalog="MusicML/People" identifier="Eliot" description="person" type="middle name">Eliot</name> <name catalog="MusicML/People" identifier="Steinhart" description="person" type="last name">Steinhart</name> </publisher>
[edit] Publishers and idsA chunk of metadata is published by some entity (the There are a bunch of rules about
[edit] Id elementAn identifier is provided using the The description and type attributes on an All equivalent <id c/i/a d/t/a/a/t/s> string </id> Identifies the object. The
[edit] Name element<name variation="string" c/i/a d/t/a/a/t/s> xhtml </name> Only name elements are allowed in the xhtml, and only for breaking out first/middle/last, etc. components of a name. This is the name of the the thing being described; a song, a person, etc. Description/type is stuff like:
[edit] Creator element<creator c/i/a d/t/a/a/t/s> string </creator> This is the entity responsible for creation of what's described in the metadata chunk.
[edit] Place element<place c/i/a d/t/a/a/t/s> string </place> This is the place from which the item originated. It has a good identifier scheme, so it is only necessary to specify the bottom level such a the venue; the software can fill in the rest.
[edit] Event element<event c/i/a d/t/a/a/t/s> string </event> The name of the event from which the item originated.
[edit] Gain-adjust element<gain-adjust> floating-point </gain-adjust> Track replay-gain for audio tracks, album replay-gain for audio albums/concerts. [edit] Play-time element<play-time> floating-point </play-time> Length in seconds of the audio/video. Should only exist for simple items (tracks), not composite items such as albums, and movies as it can be calculated from the referenced items. [edit] Contributor & contribution elements<contributor>
<name c/i/a d/t/a/a/t/s> xhtml </name>
<contribution style="string" c/i/a d/t/a/a/t/s> string </contribution>
</contributor>
Contributor to the thing being described. The The contribution A <note>
Band members include
<contributor>
<name> Joe </name>
on
<contribution> guitar </contribution>
</contributor>
</note>
Another way this can be done is like this: <note>
There was a song inspired by
<name> Joe </name>
which was a
<contribution> guitar </contribution>
intrumental
</note>
In the first example, Joe and guitar would be linked, where as in the second example, they would not. Here is the controlled vocabulary for the
[edit] Note element<note start="floating-point" end="floating-point" auto-translated="boolean" auto-generated="boolean" description="string" type="string">
xhtml
</note>
Provides information about an object or a time slice of an object. Just like
[edit] License element<license c/i/a d/t/a/a/t/s> string </license> Describes a license. The value can be a short description of the license. [edit] Fingerprint element<fingerprint c/i/a /> Describes a fingerprint. [edit] Lineage element<lineage medium="string" description="string" auto-generated="boolean" auto-translated="boolean" the="boolean"> xhtml </lineage> Defines a lineage.
Medium is omitted for digital bits that were never officially released on any medium. The xhtml describes the lossy chain, and is omitted for most studio stuff as it's unavailable. [edit] Date element<date description="string" type="string"> string </date> Just like the old
[edit] Includes element<includes part="string" group="string" sequence="integer" c/i/a> string </includes> Lists other objects included in this one, like songs in an album. The The part is stuff like Set 1, Set 2, Encore, Side A, etc. The sequence is the ordering of the [edit] ImagesTo add an image (such as album art, an image of a ticket stub, etc.), two things must be done. First, there must be a reference to the image using an includes element. In the case of album art, the album's XML would look like this: <metadata>
<publisher ...
<id description="album" ...
<includes group="images" catalog="MusicML/Images" identifier="Artist/Album/Album_Cover" ...
</metadata>
Then there would need to be a corresponding XML file located at Artist/Album/Album_Cover.xml. This file would look something like this: <metadata>
<publisher ...
<id description="image" catalog="MusicML/Images" identifier="Artist/Album/Album_Cover" ...
<id description="image" catalog="www.some-website.com" identifier="this_album_cover.jpg" ...
<license ...
<note ...
</metadata>
At this point, catalog translation would be used to take www.some-website.com and this_album_cover.jpg and turn them into an actual URL. Here is an example: <musicml xmlns="http://www.purl.org/net/musiclml/elements/1.1" xmlns:h="http://www.w3.org/1999/xhtml"> <metadata> <publisher created="2007-05-05 17:33:11" description="web site" type="fan" catalog="MusicML/WebSites" identifier="www.psilo.com"> www.psilo.com </publisher> <id description="image" type="Concert Ticket" catalog="MusicML/Artwork" identifier="The_Grateful_Dead/1972-10-26/Concert_Ticket_0" sort="The Grateful Dead 1972-10-26 Concert Ticket"/> <name catalog="MusicML/Artwork" identifier="__UNKNOWN__/www.psilo.com/144" description="artwork" type="concert ticket" sort="The Grateful Dead 1972-10-26Concert Ticket"> The Grateful Dead October 26, 1972 Concert Ticket </name> <date> 1972-10-26 </date> <note description="uri" type="http://www.psilo.com/dead/images/tickets/t721026.jpg"> Image from <a href="http://www.psilo.com">www.psilo.com</a>.</note> </metadata> <metadata> <publisher created="2007-05-05 17:33:11" description="web site" type="fan" catalog="MusicML/WebSites" identifier="www.psilo.com"> www.psilo.com </publisher> <id catalog="MusicML/Audio/Collections" description="audio" type="concert" identifier="The_Grateful_Dead/1972-10-26/etree-32717"/> <includes group="artwork" catalog="MusicML/Artwork" identifier="The_Grateful_Dead/1972-10-26/Concert_Ticket_0">The Grateful Dead October 26, 1972 Concert Ticket</includes> </metadata> </musicml> This page is hidden to everyone except administrators. |