source: main/trunk/model-sites-dev/multimodal-mdl/collect/selfsim-my-ipod/etc/collectionConfig.xml@ 28584

Last change on this file since 28584 was 28584, checked in by davidb, 10 years ago

Changes after testing in preparation for SMAM keynote

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