Each item is accompanied by metadata which is used for searching and browsing, in the table of contents, and in contextual presentations. The metadata are stored initially in individual XML files and then compiled in a batch process. The DTD is supplied in Appendix I.
0.1.1 Metadata structure
There are two major parts:
header information which describes the complete item
table of contents information which provides navigation within the item
In addition there is a third section needed to close the entry.
The structure of the entries is precise and must be adhered to, although there is considerable flexibility to vary the content.
Header
The Dublin Core is used as the basis for the header. Each element has the form:
<DC.standard>data</ DC.standard>
It is extended by adding further attributes e.g.:
<ROLE>data<NAME>data<NAME></ROLE>
Appendix II shows example files, and others are on the CD. The following explains the most significant points.
File structure and example content | Comment |
<?xml
version="1.0" encoding="UTF-8"?> <!DOCTYPE patrondb SYSTEM "http://patronfs1.lib.surrey.ac.uk/uploads/patron2/patron.dtd" > <patrondb> <patronitem> |
This will be standard for
all files and is mandatory. Defines where the DTD is. It is installation dependent. Note this example is from the Patron server - see the samples for the stand-alone version. |
<DC.Type>audio</DC.Type> | Mandatory. Options are: audio, video, score, text, photo, profile |
<DC.Identifier.Patron>293</DC.Identifier.Patron> | Mandatory. This is the unique identifier, and can be any number. |
<DC.Title>Fantasia in B flat major, W61/3 (1786)</DC.Title> | Mandatory. If different interpretations are loaded which should appear under the same drop-dwn heading in the search box, the title should be exactly the same in every instance. |
<DC.Creator><ROLE>Composer</ROLE><NAME>Bach, C.P.E.</NAME></DC.Creator> | Mandatory. For display purposes in the search box, each name should be identical. The first creator in the file is displayed in the search box. |
<DC.Creator><ROLE>Fortepiano</ROLE><NAME>Evelyn Garvey</NAME></DC.Creator> | Any number of roles can be created. [1] |
<DC.Contributor><ROLE>Sound engineer</ROLE><NAME>Bloggs, B.</NAME></DC.Contributor> | Optional. Any number of roles can be created. [2] |
<DC.Publisher>Elan</DC.Publisher> | Optional |
<DC.Identifier.Catalogue>2214</DC.Identifier.Catalogue> | Optional |
<DC.Date><Publication>1994</Publication></DC.Date> | Optional |
<DC.Date><Recorded>1994</ Recorded>></DC.Date> | Optional |
<DC.Source> | Typically we have used it for source format (LP, CD, Broadcast) |
<DC.Description>Recorded at Guildford Cathedral</DC.Description> | Free text, typically we have used it for recording place. |
Server: Time based media <DC.Identifier.Location>file://\\patronfs1\uploads\resource\audio\115\</DC.Identifier.Location> Image and text media <DC.Identifier.Location>../../resource/_img/m13/</DC.Identifier.Location> Standalone: Image and text media |
This defines where the
file is located. Note that patronfs1' in this instance is the name of the file server
Note that the server name is simply replaced by the drive letter |
<DC.Source><Format>CD</Format></DC.Source> | Optional. The source of the original material. |
<PATRON.Department>Music</PATRON.Department> <PATRON.Courses>General Repertoire Knowledge</PATRON.Courses> |
Optional. Used in the Patron application to indicate the course in which the material is used. |
<PATRON.gid>18</PATRON.gid> | Optional. Each title can be given in a unique number so that all interpretations can be associated. |
A basic table of contents
The table of contents provides access to specific points. within an item. Conceptually it is objective statement of the structure of a work. It can have an unlimited number of hierarchical elements (defined by <patrontocsection description> tag). For works which do not have a clear structure it could include times or thumbnail images.
File structure and example content | Comment |
<patrontoc> | This will be standard for all files and is mandatory. |
<patrontocsection description="Preface"> | Optional. Creates a section heading. It must be accompanied at some point by a closing tag. Sections may be nested. |
<patrontocline itemid="0" fname="1.gif" start="0" end="0">1</patrontocline> | Mandatory. This has the
following components: Itemid: a unique reference number for each part which represents the order of images or tracks. For example, for a complete work it would start at 0 or1, but for a part work which starts at page 99 of a source, it would be 99, allowing for earlier pages to be added later. Fname: the file created. start="0" end="0": For images this refers to a selected area, for time-based media to start and end times ( see for more information) The last item is a name which shows in the table of contents, typically a page number for a book, or descriptive title. It is here that a thumbnail image can be inserted. |
</patrontocsection> | Mandatory. Indicates the end of a section. |
</patrontoc> </patronitem> </patrondb> |
Mandatory. These must all be included. |
<!ELEMENT patrondb (patronitem)+> | |
<!ELEMENT patronitem (( DC.Type | | |
DC.Identifier.Patron | | |
DC.Creator | | |
DC.Contributor | | |
DC.Title | | |
DC.Identifier.Location | | |
DC.Publisher | | |
DC.Date | | |
DC.Relation | | |
DC.Identifier.Catalogue | | |
DC.Coverage.Performance | | |
DC.Source | | |
DC.Description | | |
PATRON.Department | | |
PATRON.Category | | |
PATRON.gid | | |
PATRON.Courses | | |
PATRON.Course.ref )* , |
(patrontoc)?)> |
<!ELEMENT DC.Title | (#PCDATA)> |
<!ELEMENT ROLE | (#PCDATA)> |
<!ELEMENT NAME | (#PCDATA)> |
<!ELEMENT DC.Creator | (ROLE,NAME)> |
<!ELEMENT DC.Contributor | (ROLE,NAME)> |
<!ELEMENT DC.Publisher | (#PCDATA)> |
<!ELEMENT Recorded | (#PCDATA)> |
<!ELEMENT Publication | (#PCDATA)> |
<!ELEMENT DC.Date | (Publication | Recorded)> |
<!ELEMENT DC.Type | (#PCDATA)> |
<!ELEMENT DC.Format | (#PCDATA)> |
<!ELEMENT DC.Identifier.Catalogue | (#PCDATA)> |
<!ELEMENT DC.Identifier.Patron | (#PCDATA)> |
<!ELEMENT DC.Relation.gid | (#PCDATA)> |
<!ELEMENT DC.Identifier.Location | (#PCDATA)> |
<!ELEMENT DC.Coverage.Performance | (#PCDATA)> |
<!ELEMENT DC.Relation | (#PCDATA)> |
<!ELEMENT Broadcast | (#PCDATA)> |
<!ELEMENT Format | (#PCDATA)> |
<!ELEMENT DC.Source | (Format|Broadcast)> |
<!ELEMENT DC.Description | (#PCDATA)> |
<!ELEMENT PATRON.Department | (#PCDATA)> |
<!ELEMENT PATRON.Courses | (#PCDATA)> |
<!ELEMENT PATRON.CourseName | (#PCDATA)> |
<!ELEMENT PATRON.Course.ref | (#PCDATA)> |
<!ELEMENT PATRON.Icon | (#PCDATA)> |
<!ELEMENT PATRON.Category | (#PCDATA)> |
<!ELEMENT PATRON.gid | (#PCDATA)> |
<!ELEMENT img | (#PCDATA)> |
<!ATTLIST img | |
src | CDATA #REQUIRED |
border | CDATA #IMPLIED > |
<!ELEMENT patrontoc | (((patrontocline)* | | (patrontocsection)*)*)> |
<!ELEMENT patrontocsection | (((patrontocline)* | |
(patrontocsection)*)*)> | |
<!ATTLIST patrontocsection | |
description | CDATA #REQUIRED> |
<!ELEMENT patrontocline | (#PCDATA | img)* > |
<!ATTLIST patrontocline | |
itemid | CDATA #REQUIRED |
fname | CDATA #REQUIRED |
start | CDATA #IMPLIED |
end | CDATA #IMPLIED |
xpos | CDATA #IMPLIED |
ypos | CDATA #IMPLIED |
xzoom | CDATA #IMPLIED |
yzoom | CDATA #IMPLIED > |
Example file: Video with thumbnail images
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE patrondb SYSTEM "http://patronfs1.lib.surrey.ac.uk/uploads/patron2/patron.dtd" >
<patrondb>
<patronitem>
<DC.Type>video</DC.Type>
<DC.Identifier.Patron>120</DC.Identifier.Patron>
<DC.Creator><ROLE>Composer</ROLE><NAME>John Cage</NAME></DC.Creator>
<DC.Title>Points in Space</DC.Title>
<DC.Identifier.Location>file://\\patronfs1\uploads\tobeloaded\video\pointsinspace\</DC.Identifier.Location>
<DC.Creator><ROLE>Choreographer</ROLE><NAME>Merce Cunningham</NAME></DC.Creator>
<DC.Creator><ROLE>Dance Company</ROLE><NAME>Cunningham Dance Company.</NAME></DC.Creator>
<DC.Creator><ROLE>Dancer</ROLE><NAME>Helen Barrow</NAME></DC.Creator>
<DC.Creator><ROLE>Dancer</ROLE><NAME>Merce Cunningham</NAME></DC.Creator>
<DC.Creator><ROLE>Dancer</ROLE><NAME>Victoria Finlayson</NAME></DC.Creator>
<DC.Creator><ROLE>Dancer</ROLE><NAME>Alan Good</NAME></DC.Creator>
<DC.Creator><ROLE>Set design</ROLE><NAME>Bill Anastasi</NAME></DC.Creator>
<DC.Creator><ROLE>Costume design</ROLE><NAME>Dove Bradshaw</NAME></DC.Creator>
<DC.Creator><ROLE>Director</ROLE><NAME>Elliot Caplan</NAME></DC.Creator>
<DC.Creator><ROLE>Director</ROLE><NAME>Merce Cunningham</NAME></DC.Creator>
<DC.Publisher>Cunningham Dance Foundation</DC.Publisher>
<DC.Source><Broadcast>BBC2 Dancemakers series 1986</Broadcast></DC.Source>
<DC.Date><Publication>1986</Publication></DC.Date>
<PATRON.Department>Dance</PATRON.Department>
<PATRON.gid>7</PATRON.gid>
<patrontoc>
<patrontocline itemid="0" fname="1.mpg" start="0" end="0">Complete</patrontocline>
<patrontocline itemid="0" fname="1.mpg" start="412" end="0"><img src="../../tobeloaded/video/pointsinspace/410.gif" border = "0"/></patrontocline>
<patrontocline itemid="0" fname="1.mpg" start="775" end="0"><img src="../../tobeloaded/video/pointsinspace/775.gif" border = "0"/></patrontocline>
<patrontocline itemid="0" fname="1.mpg" start="1205" end="0"><img src="../../tobeloaded/video/pointsinspace/1210.gif" border = "0"/></patrontocline>
<patrontocsection description="Introduction">
<patrontocline itemid="1" fname="2.mpg" start="0" end="0">Part 1</patrontocline>
<patrontocline itemid="2" fname="3.mpg" start="0" end="0">Part 2</patrontocline>
</patrontocsection>
<patrontocsection description="Time">
<patrontocline itemid="3" fname="1.mpg" start="300" end="0">5 minutes</patrontocline>
<patrontocline itemid="3" fname="1.mpg" start="600" end="0">10 minutes</patrontocline>
<patrontocline itemid="3" fname="1.mpg" start="900" end="0">15 minutes</patrontocline>
<patrontocline itemid="3" fname="1.mpg" start="1200" end="0">20 minutes</patrontocline>
<patrontocline itemid="3" fname="1.mpg" start="1500" end="0">25 minutes</patrontocline>
</patrontocsection>
</patrontoc>
</patronitem>
</patrondb>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE patrondb SYSTEM "http://patronfs1.lib.surrey.ac.uk/uploads/patron2/patron.dtd" >
<patrondb>
<patronitem>
<DC.Type>audio</DC.Type>
<DC.Identifier.Patron>121</DC.Identifier.Patron>
<DC.Creator><ROLE>Composer</ROLE><NAME>Lutoslawski, W.</NAME></DC.Creator>
<DC.Title>Venetian Games for chamber orchestra</DC.Title>
<DC.Identifier.Location>file://\\patronfs1\uploads\tobeloaded\mpeg2\35\</DC.Identifier.Location>
<DC.Creator><ROLE>Performer</ROLE><NAME>The National Philharmonic Orchestra in Warsaw.</NAME></DC.Creator>
<DC.Description>Recorded Katowice.</DC.Description>
<DC.Publisher>Polskie Nagrania</DC.Publisher>
<DC.Identifier.Catalogue>PNCD 041</DC.Identifier.Catalogue>
<DC.Date><Recorded>1964</Recorded></DC.Date>
<DC.Date><Publication>1991</Publication></DC.Date>
<DC.Source><Format>CD</Format></DC.Source>
<PATRON.Department>Music</PATRON.Department>
<PATRON.Courses>Twentieth Century Analysis</PATRON.Courses>
<PATRON.gid>54</PATRON.gid>
<patrontoc>
<patrontocline itemid="0" fname="1.mp3" start="0" end="0">Movement I</patrontocline>
<patrontocline itemid="1" fname="3.mp3" start="0" end="0">Movement III</patrontocline>
</patrontoc>
</patronitem>
</patrondb>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE patrondb SYSTEM "http://patronfs1.lib.surrey.ac.uk/uploads/patron2/patron.dtd" >
<patrondb>
<patronitem>
<DC.Type>score</DC.Type>
<DC.Identifier.Patron>18</DC.Identifier.Patron>
<DC.Creator><ROLE>Composer</ROLE><NAME>Britten, B.</NAME></DC.Creator>
<DC.Title>Turn of the Screw</DC.Title>
<DC.Identifier.Location>../../tobeloaded/screen/m17/</DC.Identifier.Location>
<DC.Publisher>Boosey & Hawkes Music Publishers Ltd</DC.Publisher>
<PATRON.Department>Music</PATRON.Department>
<PATRON.Category>20th century British music</PATRON.Category>
<PATRON.gid>107</PATRON.gid>
<patrontoc>
<patrontocsection description="Act I">
<patrontocsection description="Prologue - the Prologue">
<patrontocline itemid="0" fname="1.gif" start="0" end="0">1</patrontocline>
<patrontocline itemid="1" fname="2.gif" start="0" end="0">2</patrontocline>
<patrontocline itemid="2" fname="3.gif" start="0" end="0">3</patrontocline>
</patrontocsection>
<patrontocsection description="Theme">
<patrontocline itemid="3" fname="4.gif" start="0" end="0">4</patrontocline>
<patrontocline itemid="4" fname="5.gif" start="0" end="0">5</patrontocline>
<patrontocline itemid="5" fname="6.gif" start="0" end="0">6</patrontocline>
<patrontocline itemid="6" fname="7.gif" start="0" end="0">7</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 1: The Journey. Die Reise - the Governess">
<patrontocline itemid="7" fname="8.gif" start="0" end="0">8</patrontocline>
<patrontocline itemid="8" fname="9.gif" start="0" end="0">9</patrontocline>
<patrontocline itemid="9" fname="10.gif" start="0" end="0">10</patrontocline>
<patrontocline itemid="10" fname="11.gif" start="0" end="0">11</patrontocline>
<patrontocline itemid="11" fname="12.gif" start="0" end="0">12</patrontocline>
<patrontocline itemid="12" fname="13.gif" start="0" end="0">13</patrontocline>
</patrontocsection>
<patrontocsection description="Variation III">
<patrontocline itemid="43" fname="44.gif" start="0" end="0">44</patrontocline>
<patrontocline itemid="44" fname="45.gif" start="0" end="0">45</patrontocline>
<patrontocline itemid="45" fname="46.gif" start="0" end="0">46</patrontocline>
<patrontocline itemid="46" fname="47.gif" start="0" end="0">47</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 4: The Tower. Der Turn - the Governess, Quint">
<patrontocline itemid="47" fname="48.gif" start="0" end="0">48</patrontocline>
...
<patrontocline itemid="55" fname="56.gif" start="0" end="0">56</patrontocline>
</patrontocsection>
<patrontocsection description="Variation IV">
<patrontocline itemid="56" fname="57.gif" start="0" end="0">57</patrontocline>
<patrontocline itemid="57" fname="58.gif" start="0" end="0">58</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 5: The Window. Das Fenster - the Governess, Mrs. Grose, Miles, Flora">
<patrontocline itemid="58" fname="59.gif" start="0" end="0">59</patrontocline>
...
<patrontocline itemid="93" fname="95.gif" start="0" end="0">95</patrontocline>
</patrontocsection>
<patrontocsection description="Variation V">
<patrontocline itemid="94" fname="96.gif" start="0" end="0">96</patrontocline>
...
<patrontocline itemid="101" fname="103.gif" start="0" end="0">103</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 6: The Lesson. Der Unterricht - the Governess, Miles, Flora">
<patrontocline itemid="102" fname="104.gif" start="0" end="0">104</patrontocline>
...
<patrontocline itemid="110" fname="112.gif" start="0" end="0">112</patrontocline>
</patrontocsection>
<patrontocsection description="Variation VI">
<patrontocline itemid="111" fname="113.gif" start="0" end="0">113</patrontocline>
...
<patrontocline itemid="128" fname="130.gif" start="0" end="0">130</patrontocline>
</patrontocsection>
<patrontocsection description="Variation VII">
<patrontocline itemid="129" fname="131.gif" start="0" end="0">131</patrontocline>
<patrontocline itemid="130" fname="132.gif" start="0" end="0">132</patrontocline>
<patrontocline itemid="130" fname="132.gif" start="0" end="0">132</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 8: At Night. Nachts - all">
<patrontocline itemid="131" fname="133.gif" start="0" end="0">133</patrontocline>
...
<patrontocline itemid="160" fname="162.gif" start="0" end="0">162</patrontocline>
</patrontocsection>
</patrontocsection>
<patrontocsection description="Act II">
<patrontocsection description="Variation VIII">
<patrontocline itemid="161" fname="163.gif" start="0" end="0">163</patrontocline>
...
<patrontocline itemid="169" fname="171.gif" start="0" end="0">171</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 1: Colloquy and Soliloquy. Zwiegesprach und Selbstgesprach - Quint, Miss Jessel, the Governess">
<patrontocline itemid="170" fname="172.gif" start="0" end="0">172</patrontocline>
...
<patrontocline itemid="185" fname="187.gif" start="0" end="0">187</patrontocline>
</patrontocsection>
<patrontocsection description="Variation IX">
<patrontocline itemid="186" fname="188.gif" start="0" end="0">188</patrontocline>
<patrontocline itemid="187" fname="189.gif" start="0" end="0">189</patrontocline>
</patrontocsection>
<patrontocsection description="Scene 2: The Bells. Die Glocken - the Governess, Mrs. Grose, Miles, Flora">
<patrontocline itemid="188" fname="190.gif" start="0" end="0">190</patrontocline>
...
<patrontocline itemid="217" fname="219.gif" start="0" end="0">219</patrontocline>
</patrontocsection>
<patrontocsection description="Variation X">
<patrontocline itemid="218" fname="220.gif" start="0" end="0">220</patrontocline>
<patrontocline itemid="219" fname="221.gif" start="0" end="0">221</patrontocline>
<patrontocline itemid="220" fname="222.gif" start="0" end="0">222</patrontocline>
</patrontocsection>
....
</patrontocsection>
</patrontoc>
</patronitem>
</patrondb>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE patrondb SYSTEM "http://patronfs1.lib.surrey.ac.uk/uploads/patron2/patron.dtd" >
<patrondb>
<patronitem>
<DC.Type>Text</DC.Type>
<DC.Identifier.Patron>276</DC.Identifier.Patron>
<DC.Creator><ROLE>Author</ROLE><NAME>Goodman, L.</NAME></DC.Creator>
<DC.Creator><ROLE>Author</ROLE><NAME> Loveless, R.</NAME></DC.Creator>
<DC.Title>Live & Media Performance</DC.Title>
<DC.Identifier.Location>../../tobeloaded/theatre test/isa/revperf.htm</DC.Identifier.Location>
<DC.Source><Format>File</Format></DC.Source>
<patrontoc>
</patrontoc>
</patronitem>
</patrondb>
Character | Code |
& | & |
ß | ß |
à | à |
á | á |
â | â |
ã | ã |
ä | ä |
å | å |
æ | æ |
ç | ç |
è | è |
é | é |
ê | ê |
ë | ë |
ì | ì |
í | í |
î | î |
ï | ï |
ð | ð |
ñ | ñ |
ò | ò |
ó | ó |
ô | ô |
õ | õ |
ö | ö |
÷ | ÷ |
ø | ø |
ù | ù |
ú | ú |
û | û |
ü | ü |
ý | ý |
þ | þ |
ÿ | ÿ |
References
[1] The choice of roles is subject-dependent. It is has not been pre-defined, so anything can be used. It makes sense if possible to be consistent. We have adopted the policy of using the instrument rather than function, e.g. violin and not violinist.
[2] The difference between creator and contributor can be debatable. The exact definition is given in the Dublin Core specification (http://purl.org/DC/)