source: main/trunk/model-sites-dev/multimodal-mdl/collect/js-dsp-my-ipod/etc/collectionConfig.xml@ 28470

Last change on this file since 28470 was 28470, checked in by davidb, 11 years ago

Changed mime type to 'text' to allow svn diff to show up changes

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