source: main/trunk/model-sites-dev/multimodal-mdl/collect/salami-ground-truth/etc/collectionConfig.xml@ 28748

Last change on this file since 28748 was 28748, checked in by davidb, 8 years ago

Updates to work with latest XSL files, restful URLs, etc

  • Property svn:executable set to *
  • Property svn:mime-type set to text/plain
File size: 25.3 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 name="creator"></metadata>
5 <metadata name="maintainer"></metadata>
6 <metadata name="public">true</metadata>
7 </metadataList>
8 <displayItemList>
9 <displayItem assigned="true" lang="en" name="enumeratedName">4. Downie's Diversion</displayItem>
10 <displayItem assigned="true" lang="en" name="name">Downie's Diversion</displayItem>
11 <displayItem assigned="true" lang="en" name="description"></displayItem>
12 </displayItemList>
13 <!-- Global format statement -->
14 <format>
15 <gsf:template name="choose-title">
16
17 <gsf:choose-metadata>
18 <gsf:metadata name="dc.Title"/>
19 <gsf:metadata name="exp.Title"/>
20 <gsf:metadata name="ex.dc.Title"/>
21 <gsf:metadata name="ex.Title"/>
22 <gsf:metadata name="Title"/>
23 <gsf:default>Untitled</gsf:default>
24 </gsf:choose-metadata>
25
26 <gsf:switch>
27 <gsf:metadata name='dc.Creator'/>
28 <gsf:when test='exists'>
29
30 <gsf:switch>
31 <gsf:metadata name="dc.Creator"/>
32 <gsf:when test="notEquals" test-value="Unknown">
33
34 by <i><gsf:metadata name='dc.Creator'/></i>
35 </gsf:when>
36 </gsf:switch>
37
38 </gsf:when>
39 </gsf:switch>
40 </gsf:template>
41 </format>
42
43 <search type="mgpp">
44 <level name="document">
45 <displayItem lang="en" name="name">document</displayItem>
46 </level>
47 <level name="section">
48 <displayItem lang="en" name="name">section</displayItem>
49 </level>
50 <defaultLevel name="document"/>
51 <index name="text">
52 <displayItem lang="en" name="name">text</displayItem>
53 </index>
54 <index name="dc.Title,ex.dc.Title,Title">
55 <displayItem lang="en" name="name">titles</displayItem>
56 </index>
57 <index name="Source">
58 <displayItem lang="en" name="name">filenames</displayItem>
59 </index>
60 <defaultIndex name="text"/>
61 <searchType name="plain"/>
62 <searchType name="simpleform"/>
63 <searchType name="advancedform"/>
64
65
66 <!-- Search Format Statement -->
67 <format>
68 <gsf:template match="documentNode">
69
70 <gsf:variable name="cgiargFrameLength">
71 <xsl:value-of select="/page/pageRequest/paramList/param[@name='p.frameLength']/@value"/>
72 </gsf:variable>
73
74 <xsl:variable name="cgiargYScaleSimImg"><xsl:choose>
75 <xsl:when test="/page/pageRequest/paramList/param[@name='p.yScaleSimImg']/@value != ''"><xsl:value-of select="/page/pageRequest/paramList/param[@name='p.yScaleSimImg']/@value"/></xsl:when>
76 <xsl:otherwise>0.5</xsl:otherwise>
77 </xsl:choose>
78 </xsl:variable>
79
80 <td valign="top">
81 <gsf:icon type="document"/>
82 </td>
83 <td>
84 <xsl:choose>
85 <xsl:when test="@rank != 'NaN'">
86 (<script>
87 var rank=<xsl:value-of select="@rank"/>;
88 var perc=(rank-0.9)*100*10;
89 document.write(perc.toFixed(1));
90 </script>%)
91 </xsl:when>
92 </xsl:choose>
93
94 <xsl:choose>
95 <xsl:when test="/page/pageResponse/service[@name='AudioQuery']">
96 <a>
97 <xsl:attribute name="href"><xsl:value-of select="$library_name"/>/collection/<xsl:value-of select="/page/pageResponse/collection/@name"/>/document/<xsl:value-of select="@nodeID"/>?p.frameOffset=<xsl:value-of select="@frameOffset"/>&amp;p.frameLength=<xsl:value-of select="/page/pageRequest/paramList/param[@name='s1.length']/@value"/>&amp;p.a=q&amp;p.s=<xsl:value-of select="/page/pageResponse/service/@name"/>&amp;p.yScaleSimImg=<xsl:value-of select="$cgiargYScaleSimImg"/>
98
99 </xsl:attribute>
100
101 <xsl:call-template name="choose-title"/>
102 </a>
103 </xsl:when>
104 <xsl:otherwise>
105 <gsf:link>
106 <xsl:call-template name="choose-title"/>
107 </gsf:link>
108 </xsl:otherwise>
109 </xsl:choose>
110
111 <gsf:switch>
112 <gsf:metadata name="artist"/>
113 <gsf:when test="exists">
114 by <gsf:metadata name="artist"/>
115 </gsf:when>
116 </gsf:switch>
117
118 <gsf:switch>
119 <gsf:metadata name="js.LabelledStructure"/>
120 <gsf:when test="exists">
121 <br/><i style="font-size: 80%">(Labelled structure: <gsf:metadata name="js.LabelledStructure"/>)</i>
122 </gsf:when>
123 </gsf:switch>
124
125 </td>
126 </gsf:template>
127 </format>
128
129 </search>
130
131 <search type="audioDB" orthogonal="true" />
132
133<!--
134 <search type="jenaTDB" orthogonal="true" />
135-->
136
137 <infodb type="jdbm"/>
138
139 <import>
140 <pluginList>
141 <plugin name="ZIPPlugin"/>
142 <plugin name="GreenstoneXMLPlugin"/>
143
144<!--
145 <plugin name="EmbeddedMetadataPlugin">
146 <option name="-process_exp" value="(?i)\.mp3$"/>
147 </plugin>
148-->
149
150 <plugin name="SalamiMetadataBigCrunchPlugin"/>
151
152 <plugin name="AudioDBPlugin">
153 <option name="-compute_fft_features" value="true"/>
154 <option name="-enable_streaming" value="mp3"/>
155 <option name="-compute_mir_features" value="true"/>
156 <option name="-retrieve_mir_metadata" value="true"/>
157 <option name="-enable_cache"/>
158 </plugin>
159
160 <plugin name="TextPlugin"/>
161 <plugin name="HTMLPlugin"/>
162 <plugin name="EmailPlugin"/>
163 <plugin name="PDFPlugin"/>
164 <plugin name="RTFPlugin"/>
165 <plugin name="WordPlugin"/>
166 <plugin name="PostScriptPlugin"/>
167 <plugin name="PowerPointPlugin"/>
168 <plugin name="ExcelPlugin"/>
169 <plugin name="ImagePlugin"/>
170 <plugin name="ISISPlugin"/>
171 <plugin name="NulPlugin"/>
172 <plugin name="OAIPlugin"/>
173 <plugin name="MetadataXMLPlugin"/>
174 <plugin name="ArchivesInfPlugin"/>
175 <plugin name="DirectoryPlugin"/>
176 </pluginList>
177 </import>
178
179 <importOption name="OIDtype" value="incremental"/>
180
181 <browse>
182 <classifier name="AZCompactList">
183 <option name="-metadata" value="dc.Title;ex.dc.Title;Title"/>
184 <option name="-mingroup" value="2"/>
185 <option name="-removeprefix" value="(?i)Le|La|Les|The|A\\s+"/>
186 </classifier>
187
188 <classifier name="AZCompactList">
189 <option name="-metadata" value="dc.Creator"/>
190 <option name="-buttonname" value="Artists"/>
191 <option name="-mingroup" value="1"/>
192 <option name="-minnesting" value="40"/>
193 </classifier>
194
195 <classifier name="AZCompactList">
196 <option name="-metadata" value="dc.Title.albumtitle"/>
197 <option name="-buttonname" value="Albums"/>
198 <option name="-mingroup" value="1"/>
199 <option name="-minnesting" value="40"/>
200 </classifier>
201
202
203 <!--
204
205 <classifier name="List">
206 <option name="-metadata" value="dc.Title;Title"/>
207 <option name="-partition_type_within_level" value="approximate_size"/>
208 </classifier>
209 <classifier name="List">
210 <option name="-metadata" value="dc.Creator"/>
211 <option name="-button_name" value="Artists"/>
212 <option name="-partition_type_within_level" value="approximate_size"/>
213 </classifier>
214
215 -->
216
217 <format>
218 <gsf:template match="documentNode">
219 <td valign="top">
220 <gsf:link type="document">
221 <gsf:icon type="document"/>
222 </gsf:link>
223 </td>
224 <td valign="top">
225 <gsf:link type="source">
226 <gsf:choose-metadata>
227 <gsf:metadata name="thumbicon"/>
228 <gsf:metadata name="srcicon"/>
229 </gsf:choose-metadata>
230 </gsf:link>
231 </td>
232 <td valign="top">
233 <gsf:link type="document">
234 <!-- Defined in the global format statement -->
235 <xsl:call-template name="choose-title"/>
236
237 <gsf:switch>
238 <gsf:metadata name="dc.Title" />
239 <gsf:when test="equals" test-value="Unknown">
240 <br/><i>(<gsf:metadata name="Source"/>)</i>
241 </gsf:when>
242 </gsf:switch>
243
244 </gsf:link>
245 </td>
246 </gsf:template>
247
248 <gsf:template match="classifierNode[@classifierStyle = 'VList']">
249 <td valign="top">
250 <gsf:link type="classifier">
251 <gsf:icon type="classifier"/>
252 </gsf:link>
253 </td>
254 <td valign="top">
255 <gsf:link type="source">
256 <gsf:choose-metadata>
257 <gsf:metadata name="thumbicon"/>
258 <gsf:metadata name="srcicon"/>
259 </gsf:choose-metadata>
260 </gsf:link>
261 </td>
262 <td valign="top">
263 <!-- Defined in the global format statement -->
264 <xsl:call-template name="choose-title"/>
265 <gsf:switch>
266 <gsf:metadata name="Source"/>
267 <gsf:when test="exists"><br/><i>(<gsf:metadata name="Source"/>)</i></gsf:when>
268 </gsf:switch>
269 </td>
270 </gsf:template>
271 <gsf:template match="classifierNode[@classifierStyle = 'HList']">
272 <gsf:link type="classifier">
273 <gsf:metadata name="Title"/>
274 </gsf:link>
275 </gsf:template>
276 </format>
277 </browse>
278
279 <display>
280 <format>
281 <gsf:option name="TOC" value="false"/>
282
283 <!--
284 Overwriting this template allows you to change the heading of the document.
285 -->
286 <gsf:template name="documentHeading">
287
288 <xsl:variable name="httpCollection">
289 <xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>
290 </xsl:variable>
291
292 <!-- Metadata derived from finger-printing -->
293
294 <xsl:call-template name="discovery-block">
295 <xsl:with-param name="httpCollection" select="$httpCollection"/>
296 </xsl:call-template>
297
298 </gsf:template>
299
300
301 <!--
302 Overwriting this template can be used to redefine the content of the whole document.
303 This is useful for simple documents, but not recommended for more complex documents
304 (e.g. hierachical and paged documents) as it can prevent any sub-sections from showing.
305 -->
306 <!--
307 <gsf:template name="documentContent">
308 <xsl:call-template name="wrappedSectionImage"/>
309 <xsl:call-template name="wrappedSectionText"/>
310 </gsf:template>
311 -->
312
313 <!--
314 Overwriting this template can be used to change the content of section headings.
315 -->
316 <!--
317 <gsf:template name="sectionHeading">
318 <xsl:call-template name="choose-title"/>
319 </gsf:template>
320 -->
321
322 <!--
323 Overwriting this template can be used to change the content of the top-level section.
324 -->
325 <!--
326 <gsf:template name="topLevelSectionContent">
327 <xsl:call-template name="wrappedSectionImage"/>
328 <xsl:call-template name="wrappedSectionText"/>
329 </gsf:template>
330 -->
331
332 <!--
333 Overwriting this template can be used to change the content of sections.
334 -->
335
336 <!--
337 <gsf:template name="sectionContent">
338 <xsl:call-template name="wrappedSectionImage"/>
339 <xsl:call-template name="wrappedSectionText"/>
340 </gsf:template>
341 -->
342
343 <xsl:template name="additionalHeaderContent">
344
345 <xsl:call-template name="soundmanager2-header"/>
346 <xsl:call-template name="js-mad-header"/>
347
348 <!-- Bespoke jquery-ui extension for turnstyle open/close blocks -->
349 <gsf:style src="ext/jquery-ui-extra/turnstyle-block.css"/>
350 <gsf:script src="ext/jquery-ui-extra/turnstyle-block.js"/>
351
352 <!-- The Javascript DSP files for computing chroma features in the browser -->
353 <xsl:call-template name="javascript-dsp-header"/>
354
355
356 <!-- Javascript support for running, sending input into, monitoring, and stopping Meandre flows -->
357 <gsf:script src="ext/meandre/meandre-controller.js"/>
358
359 <gsf:style>
360 .metadata-stripes td { padding: 4px; }
361 .metadata-stripes tr:nth-child(odd) {background: #CCC}
362 .metadata-stripes tr:nth-child(even) {background: #FFF}
363
364 .vis-heading { font-style:italic; }
365
366 #rightSidebar { display: none; }
367 </gsf:style>
368
369 </xsl:template>
370
371
372 <xsl:template name="documentContent">
373
374<!--
375 <xsl:call-template name="init-document-xsl-vars"/>
376-->
377
378 <!-- declare $httpCollection = $httpPath (for better consistency with other places in Greenstone XSL files) -->
379 <xsl:variable name="httpCollection">
380 <xsl:value-of select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>
381 </xsl:variable>
382
383 <xsl:variable name="assocFilePath"><gsf:metadata name="assocfilepath" select="root"/></xsl:variable>
384 <xsl:variable name="Source"><gsf:metadata name="Source" select="root"/></xsl:variable>
385
386 <gsf:variable name="cgiargFrameOffset">
387 <xsl:value-of select="/page/pageRequest/paramList/param[@name='p.frameOffset']/@value"/>
388 </gsf:variable>
389
390 <gsf:variable name="cgiargFrameLength">
391 <xsl:value-of select="/page/pageRequest/paramList/param[@name='p.frameLength']/@value"/>
392 </gsf:variable>
393
394 <xsl:variable name="cgiargYScaleSimImg"><xsl:choose>
395 <xsl:when test="/page/pageRequest/paramList/param[@name='p.yScaleSimImg']/@value != ''"><xsl:value-of select="/page/pageRequest/paramList/param[@name='p.yScaleSimImg']/@value"/></xsl:when>
396 <xsl:otherwise>0.5</xsl:otherwise>
397 </xsl:choose>
398 </xsl:variable>
399
400 <!-- CAA = Content Analysis Algorithm -->
401 <gsf:variable name="cgiargCAAlgorithm">
402 <xsl:choose>
403 <xsl:when test="/page/pageRequest/paramList/param[@name='p.caAlgorithm']/@value != ''"><xsl:value-of select="/page/pageRequest/paramList/param[@name='p.caAlgorithm']/@value"/></xsl:when>
404 <xsl:otherwise>1</xsl:otherwise>
405 </xsl:choose>
406 </gsf:variable>
407
408
409 <!-- *** -->
410 <!-- Main Audio Player -->
411 <!-- *** -->
412
413 <div class="documenttext">
414
415 <xsl:call-template name="audio-icon-cache"/>
416
417 <ul class="playlist">
418 <li class="rounded" >
419
420 <gsf:script src="{$httpCollection}/script2/hybrid-audio-player.js"/>
421
422
423 <a id="mysong" style="padding-bottom: 2px;"
424 onclick="togglePlayVisual(document.getElementById('mainPlayButton'))"
425 href="{$httpCollection}/index/assoc/{$assocFilePath}/doc.mp3">
426 <span>
427 <img id="mainPlayButton" src="ext/diy-audio-player/images/play32.png"
428 width="32"
429 height="32"
430 onmouseover="playHighlightOn(this)"
431 onmouseout="playHighlightOff(this)"
432 onclick="var event = arguments[0] || window.event; togglePlay(event,this)"
433 style="vertical-align: middle;"/>
434 Play/Pause
435 <span id="extraPlayText"></span>
436 </span>
437 </a>
438
439 <gsf:script src="ext/diy-audio-player/script/audioDB-play.js"/>
440
441 <xsl:choose>
442 <xsl:when test="($cgiargFrameOffset != '-1') and ($cgiargFrameOffset != '')">
443
444 <div style="background-color: rgb(40%,40%,20%)">
445 <script type="text/javascript">
446 <xsl:text disable-output-escaping="yes">
447
448 var frameOffsetStr=gs.variables.cgiargFrameOffset;
449 var frameLength=gs.variables.cgiargFrameLength;
450
451 </xsl:text>
452 </script>
453
454
455 <svg xmlns="http://www.w3.org/2000/svg"
456 version="1.1"
457 id="svgAudioDBSegments"
458 width="100%" height="24"
459 onLoadXX="svgAudioDBInit()">
460 </svg>
461 </div>
462 </xsl:when>
463 </xsl:choose>
464
465 <xsl:call-template name="structuredAudioPlayerBlock"/>
466
467 <xsl:call-template name="processingPopup"/>
468
469
470 <div style="width: 100%; display: none;" id="doublePlay">
471
472 <script type="text/javascript">
473 <xsl:text disable-output-escaping="yes">
474
475 // At time of writing this code, this needs to be an OGG file to work in Firefox
476 var source = "</xsl:text><gsf:metadata name="Source" select="root"/><xsl:text disable-output-escaping="yes">";
477
478 var self_sim_png = source.replace(/\.(ogg|mp3|wav)$/,".png");
479 var collect = "</xsl:text><xsl:value-of select="/page/pageResponse/collection/@name"/><xsl:text disable-output-escaping="yes">";
480 //var site = "</xsl:text><xsl:value-of select="/page/xsltparams/param[@name='site_name']"/><xsl:text disable-output-escaping="yes">";
481 var site = "</xsl:text><xsl:value-of select="$site_name"/><xsl:text disable-output-escaping="yes">";
482 </xsl:text>
483 </script>
484
485 <gsf:script src="ext/diy-audio-player/script/similarity-matrix-play.js"/>
486
487 <audio style="width: 49%;" id="leftsong" controls="controls" >
488 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.ogg" />
489 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.mp3" />
490 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.wav" />
491 </audio>
492 <audio style="width: 49%;" id="rightsong" controls="controls" >
493 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.ogg" />
494 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.mp3" />
495 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.wav" />
496 </audio>
497 </div>
498
499
500 <!-- Real Time Analysis (RTA) audio -->
501 <div style="width: 100%;">
502 <audio id="rta-audio-element" style="width: 100%;">
503 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.ogg"/>
504 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.mp3"/>
505 <source src="{$httpCollection}/index/assoc/{$assocFilePath}/doc.wav"/>
506 </audio>
507 </div>
508
509 <xsl:call-template name="workflow-block"/>
510
511 <div id="controlMarker"><xsl:comment> filler </xsl:comment></div>
512
513 <div id="svg-canvas-overlay" style="position: relative">
514
515 <!-- drawing canvas -->
516 <div style="width: 100%; position: absolute; left: 0px; top: 0px;">
517 <div style="position: relative">
518 <div>
519 <!-- **** better if 100% width, but issue with JS reading these values ??? -->
520 <canvas id="freq-plot"
521 width="941" height="494" style="background-color: #cccccc;"></canvas>
522 </div>
523 </div>
524 </div>
525
526 <div style="width: 100%; position: absolute; left: 0px; top: 0px;">
527 <div style="position: relative">
528 <div>
529 <!-- **** better if 100% width, but issue with JS reading these values ??? -->
530 <canvas id="freq-plot-labels"
531 width="941" height="494" style="background-color: transparent"></canvas>
532 </div>
533 </div>
534 </div>
535
536 <!-- left/right-mix circle cursor -->
537 <div style="background-color: transparent; position: relative; left: 0px; top: 0px;">
538 <svg xmlns="http://www.w3.org/2000/svg"
539 xmlns:xlink="http://www.w3.org/1999/xlink"
540 version="1.1"
541 id="svgSimilarityPlay"
542 width="100%"
543 onLoad="svgInitSimilarityPlay()">
544 <g id="simPlayLineGroup" transform="scale(1.0,{$cgiargYScaleSimImg})">
545 <!-- image loaded here, with yScaleSimImg applied to group -->
546 </g>
547 <g id="playtracker" transform="translate(0,0)"
548 onclick="dualPlay(evt)"
549 onmousemove="playTrackerMove(evt)"
550 onmouseout="playTrackerOff(evt)"
551 style="visibility: hidden">
552 <circle cx="0" cy="0" r="20"
553 stroke="black" stroke-width="1" fill="rgba(100%,100%,50%,0.7)" />
554 <circle cx="0" cy="0" r="1"
555 stroke="black" stroke-width="1" fill="black" />
556 <g transform="translate(-15,-15)" style="visibility: hidden;">
557 <image id="playtrackerBusy"
558 width="30" height="30"
559 xlink:href="ext/diy-audio-player/images/wait30trans.gif" />
560 </g>
561
562 <g>
563 <g transform="rotate(-90)">
564 <g transform="translate(-20,-25)">
565 <text id="rightTime" style="font-size: 80%;">L: secs</text>
566 </g>
567 </g>
568 <g transform="translate(-20,30)">
569 <text id="leftTime" style="font-size: 80%;">R: secs</text>
570 </g>
571 </g>
572
573 </g>
574 </svg>
575 </div>
576
577
578 </div><!-- end of svg-canvas-overly-->
579
580 <xsl:call-template name="visualization-mode-block"/>
581
582 </li>
583 </ul>
584
585 <hr/>
586
587 <xsl:call-template name="settings-form">
588 <xsl:with-param name="cgiargYScaleSimImg" select="$cgiargYScaleSimImg"/>
589 </xsl:call-template>
590
591 <xsl:call-template name="computed-data">
592 <xsl:with-param name="httpCollection" select="$httpCollection"/>
593 <xsl:with-param name="assocFilePath" select="$assocFilePath"/>
594 </xsl:call-template>
595
596
597 <hr/>
598
599<script>
600 <xsl:text disable-output-escaping="yes">
601 useFancyPlayer = 1;
602
603 /* if (window.location.toString().match(/fancyplayer/i)) { */
604 if (useFancyPlayer) {
605 PP_CONFIG.usePeakData = true;
606 PP_CONFIG.useEQData = true;
607 // PP_CONFIG.useFavIcon = true;
608 }
609
610 function onFinishSP()
611 {
612 soundManager._onfinish();
613 togglePlayVisual(mainPlayButton);
614 }
615
616 var mySoundObj;
617
618 function playFromOffset(id,frameOffset)
619 {
620 var msecOffset = 250 * frameOffset;
621 idElem = document.getElementById(id);
622 pagePlayer.handleClick({target:idElem}); /* fake a click */
623 soundManager.stopAll();
624
625 var options = {};
626 options.position = msecOffset;
627
628 soundManager.play(id,options);
629
630 togglePlayMode = "pause";
631 playHighlightOff(document.getElementById("mainPlayButton"),32);
632 }
633
634 function preSubmit(form)
635 {
636 var currentPosElem = document.getElementById("mysongCurrentPos");
637 var offsetInMSecs = currentPosElem.getAttribute("offsetInMSecs");
638 var frameOffset = Math.round(offsetInMSecs/250.0);
639 form.elements["s1.offset"].value = frameOffset;
640
641 //var lengthInSecs = document.getElementById("mysongWindowDuration").innerHTML;
642 var lengthInSecs = form.elements["mysongWindowDuration"].value;
643
644 var frameLength = Math.round(lengthInSecs*1000/250.0);
645 form.elements["s1.length"].value = frameLength;
646
647 return true;
648 }
649
650 function searchSubmit(frameOffset)
651 {
652 var form = document.getElementById("QueryForm");
653
654 form.elements["s1.offset"].value = frameOffset;
655
656 //var lengthInSecs = document.getElementById("mysongWindowDuration").innerHTML;
657 var lengthInSecs = form.elements["mysongWindowDuration"].value;
658
659 var frameLength = Math.round(lengthInSecs*1000/250.0);
660 form.elements["s1.length"].value = frameLength;
661
662 form.submit();
663 }
664
665
666
667 function rescaleImage()
668 {
669 var form = document.getElementById("RescaleForm");
670
671 var rescaleSize = form.elements["ResizeScale"].value;
672
673 var currentURL = document.location.toString();
674 var newURL;
675 if (currentURL.match(/p.yScaleSimImg=(\d+(?:\.\d+))/)) {
676 newURL = currentURL.replace(/p.yScaleSimImg=(\d+(?:\.\d+))/,"p.yScaleSimImg="+rescaleSize);
677 }
678 else {
679 var urlParts = currentURL.split("#");
680 newURL = urlParts.shift();
681 //newURL += "&amp;p.yScaleSimImg="+rescaleSize;
682 newURL += "?p.yScaleSimImg="+rescaleSize;
683 newURL += "#" + urlParts.join("#");
684 }
685
686 document.location = newURL;
687 }
688
689 function updateCAAlgorithm()
690 {
691
692 var form = document.getElementById("UpdateCAForm");
693
694 var caaMenu = form.elements["caAlgorithm"];
695
696 var caIndexPos = caaMenu.options[caaMenu.selectedIndex].value
697
698 var currentURL = document.location.toString();
699 var newURL;
700 if (currentURL.match(/p.caAlgorithm=(\d+)/)) {
701 newURL = currentURL.replace(/p.caAlgorithm=(\d+)/,"p.caAlgorithm="+caIndexPos);
702 }
703 else {
704 var urlParts = currentURL.split("#");
705 newURL = urlParts.shift();
706 // newURL += "&amp;p.caAlgorithm="+caIndexPos;
707 newURL += "?p.caAlgorithm="+caIndexPos;
708 newURL += "#" + urlParts.join("#");
709 }
710
711 document.location = newURL;
712
713 }
714
715
716
717 </xsl:text>
718
719</script>
720
721
722 </div>
723 </xsl:template>
724
725
726
727
728 </format>
729 </display>
730
731 <replaceListRef id="gs2-standard"/>
732 <replaceListRef id="gs2-image" />
733 <serviceRackList>
734 <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
735 <serviceRack name="OAIPMH">
736 <ListMetadataFormats>
737 <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
738 The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
739 -->
740 <metadataFormat metadataPrefix="oai_dc">
741 <metadataPrefix>oai_dc</metadataPrefix>
742 <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
743 <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
744 <!--<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>-->
745 <mappingList>
746 <!--
747 The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B>
748 The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
749 searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
750 number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
751 if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
752
753 **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.
754
755 **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.
756 -->
757 <mapping>dc:title,Title</mapping>
758 <!-- 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. -->
759 </mappingList>
760 </metadataFormat>
761 </ListMetadataFormats>
762 </serviceRack>
763 </serviceRackList>
764</CollectionConfig>
Note: See TracBrowser for help on using the repository browser.