source: main/trunk/model-sites-dev/mars/collect/amc-essentia/etc/collectionConfig.xml.checkpt01@ 33547

Last change on this file since 33547 was 33547, checked in by davidb, 5 years ago

Initial cut at wavesurfer JS audio player version of AMC music content collection

File size: 24.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3 <metadataList>
4 <metadata lang="en" name="creator"></metadata>
5 <metadata lang="en" name="maintainer"></metadata>
6 <metadata lang="en" name="public">true</metadata>
7 </metadataList>
8 <displayItemList>
9 <displayItem assigned="true" lang="en" name="name">AMC-Essentia</displayItem>
10 <displayItem assigned="true" lang="en" name="description">
11 &lt;p&gt;
12 This collection shows the capabilities of the
13 &lt;a href="https://essentia.upf.edu/documentation/"&gt;Essentia&lt;/a&gt; DSP library
14 in combination with Greenstone3, based on the
15 253 MP3 files from
16 &lt;a href="https://www.australianmusiccentre.com.au/"&gt;AMC&lt;/a&gt;
17 &lt;/p&gt;
18
19 &lt;p&gt;
20 When the digital library collection is built, Essentia is used to compute
21 a range of audio fetures commonly use in Music Information Retrieval (MIR) for
22 content analysis based techniques. These features are bound to
23 the document in the digital library correspondig to the source MP3 file.
24 &lt;/p&gt;
25
26 </displayItem>
27 </displayItemList>
28 <search type="lucene">
29 <level name="document">
30 <displayItem lang="en" name="name">document</displayItem>
31 </level>
32<!--
33 <level name="section">
34 <displayItem lang="en" name="name">section</displayItem>
35 </level>
36-->
37 <defaultLevel name="document"/>
38 <index name="dc.Title,dc.Creator,LastFM.LastFMArtistWikiSummary">
39 <displayItem lang="en" name="name">all fields</displayItem>
40 </index>
41 <index name="dc.Title">
42 <displayItem lang="en" name="name">titles</displayItem>
43 </index>
44 <index name="dc.Creator">
45 <displayItem lang="en" name="name">artists</displayItem>
46 </index>
47 <defaultIndex name="dc.Title,dc.Creator,LastFM.LastFMArtistWikiSummary"/>
48 <searchType name="plain"/>
49 <searchType name="simpleform"/>
50 <searchType name="advancedform"/>
51 <format>
52 <gsf:template match="documentNode">
53 <td valign="top">
54 <gsf:link type="document">
55 <gsf:icon type="document"/>
56 </gsf:link>
57 </td>
58 <td>
59 <gsf:switch>
60 <gsf:metadata name="Title" select="ancestors" separator=": "/>
61 <gsf:when test="exists">
62 <gsf:metadata name="Title" select="ancestors" separator=": "/>:
63 </gsf:when>
64 </gsf:switch>
65 <gsf:link type="document">
66 <gsf:metadata name="Title"/>
67 </gsf:link>
68 </td>
69 </gsf:template>
70 </format>
71 </search>
72 <infodb type="jdbm"/>
73 <import>
74 <pluginList>
75 <plugin name="ZIPPlugin"/>
76 <plugin name="GreenstoneXMLPlugin"/>
77
78 <plugin name="EmbeddedMetadataPlugin"/>
79 <plugin name="AMCMetadataJSONPlugin"/>
80
81 <plugin name="MusicIRPlugin">
82 <!--
83 <option name="-compute_mir_features" value="true"/>
84 -->
85
86 <option name="-compute_essentia_features" value="true"/>
87 <!--
88 <option name="-retrieve_mir_metadata" value="true"/>
89 -->
90 <option name="-enable_cache"/>
91 </plugin>
92
93 <plugin name="TextPlugin"/>
94 <plugin name="HTMLPlugin"/>
95 <plugin name="EmailPlugin"/>
96 <plugin name="PDFPlugin"/>
97 <plugin name="RTFPlugin"/>
98 <plugin name="WordPlugin"/>
99 <plugin name="PostScriptPlugin"/>
100 <plugin name="PowerPointPlugin"/>
101 <plugin name="ExcelPlugin"/>
102 <plugin name="ImagePlugin"/>
103 <plugin name="ISISPlugin"/>
104 <plugin name="NulPlugin"/>
105 <plugin name="MetadataXMLPlugin"/>
106 <plugin name="ArchivesInfPlugin"/>
107 <plugin name="DirectoryPlugin"/>
108 </pluginList>
109 </import>
110 <browse>
111
112 <classifier name="AZCompactList">
113 <option name="-metadata" value="dc.Title;amc.title;ex.amc.title;Title"/>
114 <option name="-mingroup" value="2"/>
115 </classifier>
116 <classifier name="AZCompactList">
117 <option name="-metadata" value="dc.Creator,amc.artist,ex.amc.artist"/>
118 <option name="-buttonname" value="Artists"/>
119 <option name="-mingroup" value="1"/>
120 <option name="-minnesting" value="40"/>
121 </classifier>
122 <format>
123 <gsf:template match="documentNode">
124 <td valign="top">
125 <gsf:link type="document">
126 <gsf:icon type="document"/>
127 </gsf:link>
128 </td>
129 <td valign="top">
130 <gsf:link type="source">
131 <gsf:choose-metadata>
132 <gsf:metadata name="thumbicon"/>
133 <gsf:metadata name="srcicon"/>
134 </gsf:choose-metadata>
135 </gsf:link>
136 </td>
137 <td valign="top">
138 <gsf:link type="document">
139 <gsf:choose-metadata>
140 <gsf:metadata name="dc.Title"/>
141 <gsf:metadata name="amc.title"/>
142 <gsf:metadata name="exp.Title"/>
143 <gsf:metadata name="Title"/>
144 <gsf:default>Untitled</gsf:default>
145 </gsf:choose-metadata>
146 </gsf:link>
147 </td>
148 </gsf:template>
149 <gsf:template match="classifierNode">
150 <td valign="top">
151 <gsf:link type="classifier">
152 <gsf:icon type="classifier"/>
153 </gsf:link>
154 </td>
155 <td valign="top">(<gsf:metadata name="numleafdocs"/>)</td>
156 <td valign="top">
157 <gsf:link type="source">
158 <gsf:choose-metadata>
159 <gsf:metadata name="thumbicon"/>
160 <gsf:metadata name="srcicon"/>
161 </gsf:choose-metadata>
162 </gsf:link>
163 </td>
164 <td valign="top">
165 <gsf:link type="classifier">
166 <gsf:choose-metadata>
167 <gsf:metadata name="dc.Title"/>
168 <gsf:metadata name="amc.title"/>
169 <gsf:metadata name="exp.Title"/>
170 <gsf:metadata name="Title"/>
171 <gsf:default>Untitled</gsf:default>
172 </gsf:choose-metadata>
173 </gsf:link>
174 <gsf:switch>
175 <gsf:metadata name="Source"/>
176 <gsf:when test="exists">
177 <br/>
178 <i>(<gsf:metadata name="Source"/>)</i>
179 </gsf:when>
180 </gsf:switch>
181 </td>
182 </gsf:template>
183 <gsf:template match="classifierNode" mode="horizontal">
184 <gsf:link type="horizontal">
185 <gsf:metadata name="Title"/>
186 </gsf:link>
187 </gsf:template>
188 </format>
189<!--
190
191 <classifier name="List">
192 <option name="-metadata" value="dc.Title;Title"/>
193 <option name="-partition_type_within_level" value="approximate_size"/>
194 <option name="-removeprefix" value="&quot;"/>
195 </classifier>
196 <classifier name="AZCompactList">
197 <option name="-metadata" value="dc.Type.genre"/>
198 <option name="-buttonname" value="Genre"/>
199 </classifier>
200 <format>
201 <gsf:template match="documentNode">
202 <td valign="top">
203 <gsf:link type="document">
204 <gsf:icon type="document"/>
205 </gsf:link>
206 </td>
207 <td valign="top">
208 <gsf:metadata name="srclink"/>
209 <gsf:choose-metadata>
210 <gsf:metadata name="thumbicon"/>
211 <gsf:metadata name="srcicon"/>
212 </gsf:choose-metadata>
213 <gsf:metadata name="/srclink"/>
214 </td>
215 <td valign="top">
216 <gsf:choose-metadata>
217 <gsf:metadata name="dc.Title"/>
218 <gsf:metadata name="exp.Title"/>
219 <gsf:metadata name="Title"/>
220 <gsf:default>Untitled</gsf:default>
221 </gsf:choose-metadata>
222 <gsf:switch>
223 <gsf:metadata name="Source"/>
224 <gsf:when test="exists">
225 <br/>
226 <i>(<gsf:metadata name="Source"/>)</i>
227 </gsf:when>
228 </gsf:switch>
229 </td>
230 </gsf:template>
231 <gsf:template match="classifierNode">
232 <td valign="top">
233 <gsf:link type="classifier">
234 <gsf:icon type="classifier"/>
235 </gsf:link>
236 </td>
237 <td valign="top">
238 <gsf:metadata name="srclink"/>
239 <gsf:choose-metadata>
240 <gsf:metadata name="thumbicon"/>
241 <gsf:metadata name="srcicon"/>
242 </gsf:choose-metadata>
243 <gsf:metadata name="/srclink"/>
244 </td>
245 <td valign="top">
246 <gsf:choose-metadata>
247 <gsf:metadata name="dc.Title"/>
248 <gsf:metadata name="exp.Title"/>
249 <gsf:metadata name="Title"/>
250 <gsf:default>Untitled</gsf:default>
251 </gsf:choose-metadata>
252 <gsf:switch>
253 <gsf:metadata name="Source"/>
254 <gsf:when test="exists">
255 <br/><i>(<gsf:metadata name="Source"/>)</i>
256 </gsf:when>
257 </gsf:switch>
258 </td>
259 </gsf:template>
260 <gsf:template match="classifierNode" mode="horizontal">
261 <gsf:link type="horizontal">
262 <gsf:metadata name="Title"/>
263 </gsf:link>
264 </gsf:template>
265 </format>
266 -->
267</browse>
268
269
270 <display>
271 <format>
272 <gsf:option name="TOC" value="false"/>
273 <gsf:template name="documentHeading">
274 <!-- title will be dsiplayed in playbar at top of page, so supress showing title here -->
275 <gsf:script src="interfaces/{$interface_name}/js/direct-edit-source.js"/>
276 <xsl:call-template name="init-direct-edit"/>
277 </gsf:template>
278
279 <gsf:template name="documentContentXXX">
280 <xsl:param name="collName"/>
281 <xsl:variable name="docID" select="@docID"/>
282 </gsf:template>
283
284<!--
285 <xsl:variable name="httpCollection"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/></xsl:variable>
286-->
287
288
289
290
291
292 <xsl:template name="documentContent">
293 <xsl:variable name="httpCollection">library/sites/<xsl:value-of select="$site_name"/>/collect/<xsl:value-of select="/page/pageResponse/collection/@name"/></xsl:variable>
294 <xsl:variable name="assocFilePath"><gsf:metadata name="assocfilepath" select="root"/></xsl:variable>
295
296 <xsl:variable name="cgiargFrameOffset">
297 <xsl:value-of select="/page/pageRequest/paramList/param[@name='p.frameOffset']/@value"/>
298 </xsl:variable>
299 <xsl:variable name="lastfmtrackurl">
300 <gsf:metadata name="dc.Identifier.lastfmtrackurl"/>
301 </xsl:variable>
302 <xsl:variable name="imageUrls">
303 <gsf:metadata multiple="true" name="EchoNest.Artist-RelatedImage" separator="&amp;quot;, &amp;quot;"/>
304 </xsl:variable>
305 <xsl:variable name="echonestid">
306 <gsf:metadata name="dc.Identifier"/>
307 </xsl:variable>
308
309 <!--
310 <xsl:variable name="assocFilePath"><gsf:metadata name="assocfilepath" select="root"/></xsl:variable>
311 -->
312
313 <div class="documenttext" style="padding-bottom: 20px; width:100%;">
314 <style>
315 .doc-metadata td { padding: 7px; }
316 </style>
317 <table class="doc-metadata">
318 <tbody>
319 <tr style="background-color:#eee">
320 <td>
321 Title
322 </td>
323 <td>
324 <gsf:metadata name="amc.title"/>
325 </td>
326 </tr>
327
328 <tr style="background-color:#fff">
329 <td>Artist</td>
330 <td><gsf:metadata name="amc.artist"/></td>
331 </tr>
332
333 <tr style="background-color:#eee">
334 <td>Essentia MFCC Features:</td><td><a href="{$httpCollection}/index/assoc/{$assocFilePath}/pessentia.json">Download</a></td>
335 </tr>
336 </tbody>
337 </table>
338 </div>
339
340
341 <div class="documenttext">
342
343 <ul class="playlist">
344 <style>
345 ul.playlist li {
346 background-color: #87A41C;
347 }
348
349 ul.playlist li.sm2_playing {
350 background-color: #657C0D;
351 }
352
353 ul.playlist li:hover {
354 background-color: #778410;
355 }
356
357 </style>
358 <li class="rounded">
359 <a href="{$httpCollection}/index/assoc/{$assocFilePath}/audio.mp3" id="mysong">Play all of: <gsf:choose-metadata><gsf:metadata name="dc.Title"/><gsf:metadata name="amc.title"/><gsf:metadata name="exp.Title"/><gsf:metadata name="Title"/><gsf:default>Untitled</gsf:default></gsf:choose-metadata></a>
360 </li>
361 </ul>
362
363
364 <gsf:variable name="mp3url"><xsl:value-of select="$httpCollection"/>/index/assoc/<xsl:value-of select="$assocFilePath"/>/audio.mp3</gsf:variable>
365
366 <gsf:script>
367 var player = AV.Player.fromURL(gs.variables.mp3url);
368 player.play();
369 </gsf:script>
370
371
372 <ul style="font-size: 80%; margin-top: 10px; font-style: italics; ">
373 <li>Click on the green bar above <b>to start</b> playing.</li>
374 <li>Click on it again, to pause.</li>
375 </ul>
376
377 <span style="display: none;" id="mysongCurrentPos">0</span>
378 <span style="display: none;" id="mysongOffset">0</span>
379
380 <script>
381 <xsl:text disable-output-escaping="yes">if (window.location.toString().match(/fancyplayer/i)) {
382 PP_CONFIG.usePeakData = true;
383 PP_CONFIG.useEQData = true;
384 PP_CONFIG.useFavIcon = true;
385 }
386
387 function playFromOffset(id,frameOffset)
388 {
389 var msecOffset = 250 * frameOffset;
390 idElem = document.getElementById(id);
391 pagePlayer.handleClick({target:idElem}); /* fake a click */
392 soundManager.stopAll();
393 /* soundManager.setPosition(id,5000); */
394 soundManager.play(id,{position: msecOffset});
395 }
396
397 function preSubmit(form)
398 {
399 var currentPosElem = document.getElementById("mysongCurrentPos");
400 var offsetInMSecs = currentPosElem.getAttribute("offsetInMSecs");
401 var frameOffset = Math.round(offsetInMSecs/250.0);
402 form.elements["s1.offset"].value = frameOffset;
403
404 var lengthInSecs = document.getElementById("mysongWindowDuration").innerHTML;
405
406 var frameLength = Math.round(lengthInSecs*1000/250.0);
407 form.elements["s1.length"].value = frameLength;
408
409 return true;
410 }</xsl:text>
411 <xsl:choose>
412 <xsl:when test="$cgiargFrameOffset != '-1'">
413 <xsl:text disable-output-escaping="yes">var allOffsets = "";
414 var frameOffsetStr="</xsl:text>
415 <xsl:value-of select="$cgiargFrameOffset"/>
416 <xsl:text disable-output-escaping="yes">";
417 var frameOffsetList = frameOffsetStr.split(",");
418 frameOffsetList.sort(function(a,b){return a-b});
419
420 for (i=0; i &lt; frameOffsetList.length; i++) {
421 var frameOffset = frameOffsetList[i];
422 var offsetInSecs=(250*frameOffset)/1000.0;
423
424 if (i &gt; 0) { allOffsets += ", "; }
425
426 var span_attr = "class=\"spanbuttonoff\" style=\"cursor: pointer;\"";
427 span_attr += " onmouseover=\"this.className='spanbuttonon'\"";
428 span_attr += " onmouseout=\"this.className='spanbuttonoff'\"";
429 span_attr += " onclick=\"playFromOffset('mysong'," + frameOffset + ")\"";
430
431 allOffsets += "&lt;span " + span_attr + "&gt;" + offsetInSecs + "&lt;/span&gt;";
432 }
433
434 var jumpDurationSpan = document.getElementById("mysongOffset");
435 if (jumpDurationSpan != null) {
436 jumpDurationSpan.innerHTML = allOffsets + " secs";
437 } </xsl:text>
438 </xsl:when>
439 <xsl:otherwise>var frameOffset=-1;</xsl:otherwise>
440 </xsl:choose>
441 </script>
442 </div>
443 </xsl:template>
444<!--
445Creates a header for the html page
446-->
447 <xsl:template name="create-html-headerXXXX">
448 <title><xsl:call-template name="pageTitle"/> ::<xsl:call-template name="siteName"/></title>
449 <link href="interfaces/{$interface_name}/style/core.css" rel="stylesheet" type="text/css"/>
450 <link href="favicon.ico" rel="shortcut icon"/>
451<!--
452Hook in Seaweed: seamless web editing
453-->
454 <script src="interfaces/{$interface_name}/js/direct-edit-source.js" type="text/javascript">
455 <xsl:text> </xsl:text> </script>
456<!--
457Page player core CSS
458-->
459 <link href="ext/audioDB/css/page-player.css" rel="stylesheet" type="text/css"/>
460<!--
461soundManager.useFlashBlock: related CSS
462-->
463 <link href="ext/audioDB/css/flashblock.css" rel="stylesheet" type="text/css"/>
464<!--
465optional: annotations/sub-tracks/notes, and alternate themes
466-->
467 <link href="ext/audioDB/css/optional-annotations.css" rel="stylesheet" type="text/css"/>
468 <link href="ext/audioDB/css/optional-themes.css" rel="stylesheet" type="text/css"/>
469 <style type="text/css">ul.playlist li .comment {font-size:0.65em;opacity:0.5}</style>
470<!--
471soundManager API
472-->
473 <script src="ext/audioDB/script/soundmanager2-nodebug.js">
474 <xsl:text> </xsl:text> </script>
475 <script>
476 <xsl:text disable-output-escaping="yes">/* init Seaweed */
477
478
479 de.onready(function() {
480 try {
481 de.init();
482
483 de.doc.declarePropertySets({
484 offset: {
485 phMarkup: '[Enter offset value]',
486 name: "offset"
487 }
488 });
489 }
490 catch (err) {
491 alert("Seaweed failed to initialise: " + err.message);
492 }
493 });
494
495/* --------
496
497 Config override: This demo uses shiny flash 9 stuff, overwriting Flash 8-based defaults
498 Alternate PP_CONFIG object must be defined before soundManager.onready()/onload() fire.
499 Alternately, edit the config in page-player.js to simply use the values below by default
500
501-------- */
502
503/* demo only, but you can use these settings too.. */
504soundManager.flashVersion = 9;
505soundManager.preferFlash = true; /* for visualization effects */
506soundManager.useHighPerformance = true; /* keep flash on screen, boost performance */
507soundManager.wmode = "transparent"; /* transparent SWF, if possible */
508soundManager.useFastPolling = true; /* increased JS callback frequency */
509soundManager.url = "ext/audioDB/swf/";
510
511/* custom page player configuration */
512
513var PP_CONFIG = {
514 autoStart: false, /* begin playing first sound when page loads */
515 playNext: false, /* stop after one sound, or play through list until end */
516 useThrottling: false, /* try to rate-limit potentially-expensive calls (eg. dragging position around) */
517 usePeakData: true, /* [Flash 9 only] whether or not to show peak data (left/right channel values) - nor noticable on CPU */
518 useWaveformData: false,/* [Flash 9 only] show raw waveform data - WARNING: LIKELY VERY CPU-HEAVY */
519 useEQData: false, /* [Flash 9 only] show EQ (frequency spectrum) data */
520 useFavIcon: false, /* try to apply peakData to address bar (Firefox + Opera) - performance note: appears to make Firefox 3 do some temporary, heavy disk access/swapping/garbage collection at first(?) - may be too heavy on CPU */
521 useMovieStar: true /* Flash 9.0r115+ only: Support for a subset of MPEG4 formats. */
522}</xsl:text>
523 </script>
524<!--
525Page player main script
526-->
527 <script src="ext/audioDB/script/page-player.js">
528 <xsl:text> </xsl:text> </script>
529<!--
530optional: Metadata UI prototype (not needed unless you want the bottom-most demo bits)
531-->
532 <script src="ext/audioDB/script/optional-page-player-metadata.js">
533 <xsl:text> </xsl:text> </script>
534 </xsl:template>
535
536
537
538 <xsl:template name="additionalHeaderContent">
539
540<!--
541Page player core CSS
542-->
543 <link href="ext/audioDB/css/page-player.css" rel="stylesheet" type="text/css"/>
544<!--
545soundManager.useFlashBlock: related CSS
546-->
547 <link href="ext/audioDB/css/flashblock.css" rel="stylesheet" type="text/css"/>
548<!--
549optional: annotations/sub-tracks/notes, and alternate themes
550-->
551 <link href="ext/audioDB/css/optional-annotations.css" rel="stylesheet" type="text/css"/>
552 <link href="ext/audioDB/css/optional-themes.css" rel="stylesheet" type="text/css"/>
553 <style type="text/css">ul.playlist li .comment {font-size:0.65em;opacity:0.5}</style>
554<!--
555soundManager API
556-->
557 <script src="ext/audioDB/script/soundmanager2-nodebug.js">
558 <xsl:text> </xsl:text> </script>
559 <script>
560 <xsl:text disable-output-escaping="yes">
561
562/* --------
563
564 Config override: This demo uses shiny flash 9 stuff, overwriting Flash 8-based defaults
565 Alternate PP_CONFIG object must be defined before soundManager.onready()/onload() fire.
566 Alternately, edit the config in page-player.js to simply use the values below by default
567
568-------- */
569
570/* demo only, but you can use these settings too.. */
571soundManager.flashVersion = 9;
572soundManager.preferFlash = true; /* for visualization effects */
573soundManager.useHighPerformance = true; /* keep flash on screen, boost performance */
574soundManager.wmode = "transparent"; /* transparent SWF, if possible */
575soundManager.useFastPolling = true; /* increased JS callback frequency */
576soundManager.url = "ext/audioDB/swf/";
577
578/* custom page player configuration */
579
580var PP_CONFIG = {
581 autoStart: false, /* begin playing first sound when page loads */
582 playNext: false, /* stop after one sound, or play through list until end */
583 useThrottling: false, /* try to rate-limit potentially-expensive calls (eg. dragging position around) */
584 usePeakData: true, /* [Flash 9 only] whether or not to show peak data (left/right channel values) - nor noticable on CPU */
585 useWaveformData: false,/* [Flash 9 only] show raw waveform data - WARNING: LIKELY VERY CPU-HEAVY */
586 useEQData: false, /* [Flash 9 only] show EQ (frequency spectrum) data */
587 useFavIcon: false, /* try to apply peakData to address bar (Firefox + Opera) - performance note: appears to make Firefox 3 do some temporary, heavy disk access/swapping/garbage collection at first(?) - may be too heavy on CPU */
588 useMovieStar: true /* Flash 9.0r115+ only: Support for a subset of MPEG4 formats. */
589}</xsl:text>
590 </script>
591<!--
592Page player main script
593-->
594 <script src="ext/audioDB/script/page-player.js">
595 <xsl:text> </xsl:text> </script>
596<!--
597optional: Metadata UI prototype (not needed unless you want the bottom-most demo bits)
598-->
599 <script src="ext/audioDB/script/optional-page-player-metadata.js">
600 <xsl:text> </xsl:text> </script>
601 </xsl:template>
602
603
604
605
606
607 </format>
608 </display>
609<!--
610 <display>
611 <format>
612 <gsf:option name="TOC" value="false"/>
613
614 <xsl:template name="documentContent">
615
616 <xsl:variable name="httpCollection"><xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/></xsl:variable>
617
618 <xsl:variable name="assocFilePath"><gsf:metadata name="assocfilepath" select="root"/></xsl:variable>
619
620 <xsl:variable name="lastfmtrackurl">
621 <gsf:metadata name="dc.Identifier.lastfmtrackurl"/>
622 </xsl:variable>
623
624 <xsl:variable name="echonestid">
625 <gsf:metadata name="dc.Identifier"/>
626 </xsl:variable>
627
628 <div class="documenttext">
629
630<table>
631 <tbody>
632 <tr style="background-color:#afa">
633 <td>
634 Title
635 </td>
636 <td>
637 <gsf:metadata name="dc.Title"/>
638 </td>
639 </tr>
640
641 <tr style="background-color:#ffa">
642 <td>Album Title</td>
643 <td><gsf:metadata name="dc.Title.albumtitle"/></td>
644 </tr>
645
646 <tr style="background-color:#afa">
647 <td>Artist</td>
648 <td><gsf:metadata name="dc.Creator"/></td>
649 </tr>
650
651 <tr style="background-color:#ffa" valign='top'>
652 <td>Artist Summary</td>
653 <td><i><gsf:metadata name="LastFM.LastFMArtistWikiSummary"/></i></td>
654 </tr>
655
656 <tr style="background-color:#afa">
657 <td>Identifier</td>
658 <td>
659 <gsf:metadata name="dc.Identifier"/><br />
660
661 <xsl:copy-of select="$lastfmtrackurl"/><br />
662 (<a href="{$lastfmtrackurl}" target="#lastfm">Visit @ LastFM</a>)
663 </td>
664 </tr>
665
666 <tr style="background-color:#ffa">
667 <td>jAudio Features</td><td><a href="{$httpCollection}/index/assoc/{$assocFilePath}/jaudio.xml">download ACE XML feature values file</a></td>
668 </tr>
669
670 <tr style="background-color:#afa">
671 <td>jSongMiner Metadata</td><td><a href="{$httpCollection}/index/assoc/{$assocFilePath}/jsongminer.xml">download ACE XML classifications file</a></td>
672 </tr>
673
674
675
676
677 </tbody>
678</table>
679
680 </div>
681 </xsl:template>
682
683
684 </format>
685
686 </display>
687
688-->
689
690 <replaceListRef id="gs2-standard"/>
691 <serviceRackList>
692 <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
693 <serviceRack name="OAIPMH">
694 <ListMetadataFormats>
695 <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
696 The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
697 -->
698 <metadataFormat metadataPrefix="oai_dc">
699 <metadataPrefix>oai_dc</metadataPrefix>
700 <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
701 <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
702 <!--<metadataElements>dc.Title,dc.Creator,dc.Subject,dc.Description,dc.Publisher,dc.Contributor,dc.Date,dc.Type,dc.Format,dc.Identifier,dc.Source,dc.Language,dc.Relation,dc.Coverage,dc.Rights</metadataElements>
703 -->
704 <mappingList>
705 <!--
706 The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B>
707 The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
708 searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
709 number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
710 if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
711
712 **Bear in mind: if this mapping list is not present, the standard dc. metadata names (15 in total) will be used to retrieve metadata in the database.
713
714 **The only case when this mapping is not present is that: 1. this metadata format is oai_dc; 2. the metadata is also stored in the database by Dublin Core's names.
715 -->
716 <mapping>dc.Title,Title</mapping>
717 <!-- This mapping example means that the dc.Title is requested and the value of the metadata Title, which is used in this repository, is returned as response. -->
718 </mappingList>
719 </metadataFormat>
720 </ListMetadataFormats>
721 </serviceRack>
722 </serviceRackList>
723</CollectionConfig>
Note: See TracBrowser for help on using the repository browser.