Jump to content

Audio Catalog -- XML Design & Suggestions


Phil

Recommended Posts

Hi All,

I am looking at creating a searchable and browsable aggregation of metadata for my audio collection, and to link in what I have to other open-source data sets (musicbrainz being one of several). However, I am also using this as a tutorial exercise, as I have limited experience in anything beyond HTML. Therefore, I am posting looking for comments / critique / suggestions / pointers / etc. What I want to discover is what potential XML can achieve when combined with technologies such as XSL, RDF and others. It's a massive learning curve!

Step 1 is creating the raw XML file, then displaying that in a human-friendly fashion using an XML stylesheet. I've started on this, but I would like to get the foundations on a firm footing before progressing further (I don't want to be retrospectively going back and fundamentally changing my design later). It should not only be 'pretty' and 'informative' for the human, but also be designed for machine parsing. Hence coming here. I am finding it difficult to decide that should be included as a tag, and what info as an attribute -- and how to nest information appropriately.

I have a rough draft available online here, if anyone is willing to take a look and offer some constructive critique. It is nowhere near finished yet -- but shows the direction I am coming from.

The ordering of the tags (specifically with album information at the very end) is very much dictated by the perl script I have written to create this file. Changing this will require a "second pass" with a file re-write to reorder tags if this is necessary (I am hoping not). 

Thanks,

Phil

 

Link to comment
Share on other sites

You've got multiple tags that seem similar, like DISC_ID and discid.  It might be better to create an element for identifying it on other services to move those elements out of the root.  So you identify each album however you want to, and have multiple sections to see how it's identified on other services.  e.g.:

<album>
	  <id>...</id>
	  <title>...</title>
	  <externalservice name="musicbrainz">
	    <id>MB ID</id>
	    ...
	  </externalservice>
	</album>

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...