Hillsboro XML Recording Archive
[ releases |
features |
utilities |
dtd |
xml |
example |
who ]
Hillsboro XML files are used to archive a live show that is being distributed by the Internet, mail or any other medium in formats such as shorten. The files store each track of the live show, along with attributes of that track, MD5 signature, track length, and notes on the track among other things.
Releases:
All of the following Perl utilities were written and tested on a Debian GNU/Linux system. They should run on other platforms, but I haven't tested them on any other platform. Send bugfixes to topeka@catchen.org. They are all pretty simple to run, type
utility.pl -h
for the details of each program, and "utility" is one of the programs that follow.$ ./hbx2ps.pl -i Phish-12-08-1999.xml -f ./phishlogo.eps -s 1-3
Here is the XML file: Phish-12-08-1999.xml and the CD cover (which I converted to PDF to display on the web): Phish-12-08-1999.pdf.The following DTD definition defines the HBX file format. Most XML parsing libraries will validate the contents of an HBX file with this DTD. It defines what XML tokens are allowed to appear in a file and what data they can hold.
<!ELEMENT recording_archive (format, performer, venue, location,
date, source, recorder, tracks, noteref*, notes)>
<!ELEMENT format (#PCDATA)>
<!ELEMENT performer (#PCDATA)>
<!ELEMENT date (day, month, year)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT day (#PCDATA)>
<!ELEMENT noteref EMPTY>
<!ATTLIST noteref id ID #IMPLIED>
<!ELEMENT venue (#PCDATA)>
<!ELEMENT location (#PCDATA)>
<!ELEMENT recorder (#PCDATA)>
<!ELEMENT source (#PCDATA)>
<!ELEMENT tracks (track)+>
<!ELEMENT track (title, filename?, md5?, time?, noteref?, segue?)>
<!ATTLIST track set CDATA #REQUIRED
disc CDATA #REQUIRED
number CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT filename (#PCDATA)>
<!ELEMENT md5 (#PCDATA)>
<!ELEMENT time (#PCDATA)>
<!ELEMENT segue (#PCDATA)>
<!ELEMENT notes (note)*>
<!ELEMENT note (#PCDATA)>
<!ATTLIST note id IDREF #IMPLIED>The following XML code is a partial sample of what an HBX file looks like. Below it there are links to complete examples.
<?xml version="1.0"?>
<!DOCTYPE recording_archive SYSTEM "http://catchen.org/hillsboro/hbx.dtd">
<recording_archive>
<format>shn</format>
<performer>Phish</performer>
<venue>Thomas & Mack Center</venue>
<location>Las Vegas, Nevada</location>
<date>
<day>31</day>
<month>10</month>
<year>1998</year>
</date>
<source>Schoeps CMc6/MK41 -> Sonosax SX-M2</source>
<recorder>John Doe</recorder>
<tracks>
<track set="1" disc="1" number="1" id="N.111">
<title>Axilla I</title>
<filename>ph98-10-31d1t1.shn</filename>
<md5>asdf</md5>
<time>350</time>
<segue>false</segue>
</track>
<track set="1" disc="1" number="2" id="N.112">
<title>Punch You In the Eye</title>
<filename>ph98-10-31d1t2.shn</filename>
<md5>d347183871d3e3795e20b13fbc0cbbb2</md5>
<time>350</time>
<segue>false</segue>
</track>
<track set="1" disc="1" number="3" id="N.113">
<title>Punch You In the Eye</title>
<filename>ph98-10-31d1t2.shn</filename>
<md5>d80e02158649bd7aa4e0863e03144ea6</md5>
<time>350</time>
<segue>false</segue>
<noteref id="1" />
</track>
</tracks>
<noteref id="2" />
<notes>
<note id="1">With Guest on Guitar.</note>
<note id="2">Set II was the "musical costume", the album "Loaded" by
The Velvet Underground</note>
</notes>
</recording_archive>Here are three examples of full shows that were created with shn2hbx.pl and are stored in HBX format:
A Complete Example
$ ./shn2hbx.pl -a ./ph00-07-07.shnf
$ ./hbx2html.pl -i Phish-07-07-2000.xml
$ ./hbx2txt.pl -i Phish-07-07-2000.xml
$ ./hbx2ps.pl -i Phish-07-07-2000.xml -f ./worcester.eps -b ./phishlogo.eps -s 1-3 -dt
| HBX XML File | Phish-07-07-2000.xml |
| HTML File | Phish-07-07-2000.html |
| Text File | Phish-07-07-2000.txt |
| PostScript File (Converted to PDF for display on the web) | Phish-07-07-2000.pdf |
The HBX format and utilities used to interoperate with it were created by Julian Catchen.