[Playlist] Questions on spec about meaning of identifier and link

Ross Mohn rpmohn at waxandwane.org
Thu Jun 14 01:14:31 UTC 2007


Thanks to both -- much clearer now on the identifier element!
-Ross


On Wed, 2007-06-13 at 13:53 -1000, Lucas Gonze wrote:
> I should give a little more detail on how a Musicbrainz track URI in an 
> identifier element can be converted into a URL that can be dereferenced to 
> return a song file.
> 
> Let's say you are an XSPF reader and you have been invoked to open a 
> playlist which contains this XML fragment:
> <track><identifier>http://musicbrainz.org/track/541f8f37-c9f3-4567-b234-9806d25ca433.html</identifier></track>
> 
> (A fancy name for a "reader" is "content resolver," but I'm going to use 
> the wording "reader" here).
> 
> If you happened to support this identifier style, one way you might do it 
> is like this.  You would have code which knew that a URI in the above 
> style could be converted into a URI which could be dereferenced to get an 
> XML file of metadata about the music being identified.    In this case the 
> XML URI is:
> http://musicbrainz.org/ws/1/track/541f8f37-c9f3-4567-b234-9806d25ca433?type=xml&inc=artist+releases
> 
> It appears that there is a track identifier shared between these two URIs, 
> and you (the reader) might have code which took a URI in the <identifier> 
> style, parsed out the shared portion, and inserted it into an XML URI.
> 
> You then parse the XML to get metadata, and you learn that the track title 
> is "Mandy", the artist name is "Barry Manilow", and the album title is 
> "Greatest Hits: The Platinum Collection."
> 
> Now that you have metadata, you can go get a dereferenceable URI for the 
> song.  Your user might have told you already that they have a subscription 
> to the Napster subscription service; if you supported that, you would 
> probably use a web service provided by the subscription service to query 
> for a URL, using the song metadata as query terms.  Another approach would 
> be to construct a Magnet URI 
> (http://en.wikipedia.org/wiki/Magnet:_URI_scheme) along these lines:
> magnet:?kt="Mandy"+"Barry Manilow"+"Greatest Hits: The Platinum 
> Collection."
> 
> I hope this all makes sense.  The identifier element is an important 
> feature of XSPF, but it's subtle and poorly documented.  Please don't 
> hesitate to ask for clarification on- or off- list.
> 
> -Lucas
> 
> 
> 
> On 6/13/07, Lucas Gonze <lucas.gonze at gmail.com> wrote:
> > There is a subtle thing to realize about http:// URIs -- they can be
> > just identifiers and not at all locators.  Because of this they have
> > absorbed the function of URNs, which are now a subset of URIs (the
> > subset which is just an identifier and not a locator).
> >
> > For example, let's say you wanted to have the recording of the song
> > "Mandy" on the album "Greatest Hits: The Platinum Collection" by the
> > artist "Barry Manilow" in your playlist, and you wanted your song
> > reference to work regardless of where the listener happened to be able
> > to fetch the song from.
> >
> > One thing you could do is go look it up on Musicbrainz.org and find
> > the track page, then use the URI of the track page as the identifier.
> > That URI happens to be at
> > http://musicbrainz.org/track/541f8f37-c9f3-4567-b234-9806d25ca433.html
> > , so the XSPF for this recording would be:
> >
> > 
> <track><identifier>http://musicbrainz.org/track/541f8f37-c9f3-4567-b234-9806d25ca433.html</identifier></track>
> >
> > Notice that dereferencing this URI does not give you a copy of the
> > song.  The URI is just an identifier, and not a locator.
> >
> > Also, it doesn't matter that this particular URI goes to a page of
> > text and metadata.  The URI doesn't have to even be real.  It just has
> > to be usable as an identifier which the publisher and content resolver
> > can both understand.  For example, the domain example.com is forbidden
> > (by the rules of DNS) to map to any real world web server, but the URI
> > http://example.com/track/541f8f37-c9f3-4567-b234-9806d25ca433.html is
> > perfectly legal in an XSPF identifier element.
> >
> > -L
> >
> > (Hey Tomas, nice to see you.  :)
> >
> > On 6/13/07, Tomas Franzn <tomas at lightheadsw.com> wrote:
> > > On 13 jun 2007, at 22.12, Ross Mohn wrote:
> > > > 1. Why does the spec indicate that a track identifier "MUST be a 
> legal
> > > > URI"? I would think of this element as specifying a CD id code or
> > > > something of that sort, not a URI. Doesn't the phrase "MUST be a 
> legal
> > > > URI" conflict with the phrase "location-independent name"?
> > >
> > > Hi,
> > >
> > > Remember that URIs are not the same as URLs (the L stands for
> > > Location). URIs can be URNs, meaning something like this (for ISBN
> > > numbers):
> > > urn:isbn:0-395-36341-1
> > >
> > > Note that the above does not specify a location. It's up the client
> > > to figure that out.
> > > Wikipedia has more info. http://en.wikipedia.org/wiki/URI
> > >
> > > (Hi everyone, BTW. It's been awhile since I last posted here.)
> > >
> > > Tomas Franzn
> > > Lighthead Software
> > > http://www.lightheadsw.com/
> > >
> > >
> > > _______________________________________________
> > > Playlist mailing list
> > > Playlist at lists.musicbrainz.org
> > > http://lists.musicbrainz.org/mailman/listinfo/playlist
> > >
> >
> 
> 
> 
> _______________________________________________
> Playlist mailing list
> Playlist at lists.musicbrainz.org
> http://lists.musicbrainz.org/mailman/listinfo/playlist
> 




More information about the Playlist mailing list