root/main/trunk/model-cols-dev/peijones/etc/collectionConfig.xml @ 24817

Revision 24817, 22.4 KB (checked in by papitha, 8 years ago)

Annotate Store (local database) windows version working well!!

  • Property svn:executable set to *
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"/>
5        <metadata lang="en" name="maintainer"/>
6        <metadata lang="en" name="public">true</metadata>
7    </metadataList>
8    <displayItemList>
9        <displayItem assigned="true" lang="en" name="name">Pei-Jones-Flat</displayItem>
10    </displayItemList>
11    <search type="mgpp">
12        <level name="document">
13            <displayItem lang="en" name="name">document</displayItem>
14        </level>
15        <level name="section">
16            <displayItem lang="en" name="name">section</displayItem>
17        </level>
18        <defaultLevel name="section"/>
19        <index name="text">
20            <displayItem lang="en" name="name">text</displayItem>
21        </index>
22        <index name="Title">
23            <displayItem lang="en" name="name">titles</displayItem>
24        </index>
25        <index name="Source">
26            <displayItem lang="en" name="name">filenames</displayItem>
27        </index>
28        <index name="Plugin"/>
29        <defaultIndex name="text"/>
30        <indexOption>
31            <option name="accentfold"/>
32            <option name="casefold"/>
33            <option name="stem"/>
34        </indexOption>
35        <searchType name="plain"/>
36        <searchType name="simpleform"/>
37        <searchType name="advancedform"/>
38        <format><gsf:template match="documentNode"><td valign="top"><gsf:link type="document"><gsf:icon type="document"/></gsf:link></td><td><gsf:switch><gsf:metadata name="Title" select="ancestors" separator=": "/><gsf:when test="exists"><gsf:metadata name="Title" select="ancestors" separator=": "/>:</gsf:when></gsf:switch><gsf:link type="document"><gsf:metadata name="Title"/></gsf:link></td></gsf:template> </format>
39    </search>
40    <infodb type="gdbm"/>
41    <import>
42        <pluginList>
43            <plugin name="ZIPPlugin"/>
44            <plugin name="GreenstoneXMLPlugin"/>
45            <plugin name="TextPlugin"/>
46            <plugin name="HTMLPlugin"/>
47            <plugin name="EmailPlugin"/>
48            <plugin name="PDFPlugin"/>
49            <plugin name="RTFPlugin"/>
50            <plugin name="WordPlugin"/>
51            <plugin name="PostScriptPlugin"/>
52            <plugin name="PowerPointPlugin"/>
53            <plugin name="ExcelPlugin"/>
54            <plugin name="PagedImagePlugin"/>
55            <plugin name="ImagePlugin"/>
56            <plugin name="ISISPlugin"/>
57            <plugin name="NulPlugin"/>
58            <plugin name="OAIPlugin"/>
59            <plugin name="HTMLImagePlugin"/>
60            <plugin name="MetadataXMLPlugin"/>
61            <plugin name="ArchivesInfPlugin"/>
62            <plugin name="DirectoryPlugin"/>
63        </pluginList>
64    </import>
65    <browse>
66        <classifier name="List">
67            <option name="-metadata" value="dc.Title;Title"/>
68            <option name="-partition_type_within_level" value="approximate_size"/>
69            <option name="-bookshelf_type" value="never"/>
70        </classifier>
71        <classifier name="AZCompactList">
72            <option name="-metadata" value="Source"/>
73            <option name="-removesuffix" value="(?i)\\..*"/>
74            <option name="-buttonname" value="Source"/>
75        </classifier>
76        <format>
77            <gsf:template match="documentNode">
78                <td valign="top">
79                    <gsf:link type="document">
80                        <gsf:icon type="document"/>
81                    </gsf:link>
82                </td>
83                <td valign="top">
84                    <gsf:link type="source">
85                        <gsf:choose-metadata>
86                            <gsf:metadata name="thumbicon"/>
87                            <gsf:metadata name="srcicon"/>
88                        </gsf:choose-metadata>
89                    </gsf:link>
90                </td>
91                <td valign="top">
92                    <gsf:choose-metadata>
93                        <gsf:metadata name="dc.Title"/>
94                        <gsf:metadata name="exp.Title"/>
95                        <gsf:metadata name="Title"/>
96                        <gsf:default>Untitled</gsf:default>
97                    </gsf:choose-metadata>
98                    <gsf:switch>
99                        <gsf:metadata name="Source"/>
100                        <gsf:when test="exists">
101                            <br/><i>(<gsf:metadata name="Source"/>)</i>
102                        </gsf:when>
103                    </gsf:switch>
104                </td>
105            </gsf:template>
106           
107            <gsf:template match="classifierNode">
108                <td valign="top">
109                    <gsf:link type="classifier">
110                        <gsf:icon type="classifier"/>
111                    </gsf:link>
112                </td>
113                <td valign="top">
114                    <gsf:metadata name="srclink"/>
115                    <gsf:choose-metadata>
116                        <gsf:metadata name="thumbicon"/>
117                        <gsf:metadata name="srcicon"/>
118                    </gsf:choose-metadata>
119                    <gsf:metadata name="/srclink"/>
120                </td>
121                <td valign="top">
122                    <gsf:choose-metadata>
123                        <gsf:metadata name="dc.Title"/>
124                        <gsf:metadata name="exp.Title"/>
125                        <gsf:metadata name="Title"/>
126                        <gsf:default>Untitled</gsf:default>
127                    </gsf:choose-metadata>
128                    <gsf:switch>
129                        <gsf:metadata name="Source"/>
130                        <gsf:when test="exists">
131                            <br/><i>(<gsf:metadata name="Source"/>)</i>
132                        </gsf:when>
133                    </gsf:switch>
134                </td>
135            </gsf:template>
136           
137            <gsf:template match="classifierNode" mode="horizontal">
138                <gsf:link type="horizontal">
139                    <gsf:metadata name="Title"/>
140                </gsf:link>
141            </gsf:template>
142        </format>
143    </browse>
144    <display>
145        <format>
146            <gsf:option name="sideBar" value="false"/>
147            <xsl:template name="additionalHeaderContent">
148                <!-- jQuery must be included before Annotator -->
149                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/jquery.js"><xsl:text> </xsl:text></script>
150
151                <!-- If you're sure your users will only be using browsers modern
152                     enough to have their own JSON.parse and JSON.stringify
153                     implementations you can skip this -->
154                <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/json2.js"><xsl:text> </xsl:text></script>
155
156                <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator-full.min.js"><xsl:text> </xsl:text></script>
157                <!-- The main Annotator script -->
158                <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.js"><xsl:text> </xsl:text></script> -->
159
160                <!-- Annotator's styling and images -->
161                <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/js/annotator/pkg/annotator.min.css"/>
162
163                <!-- The following plugins are entirely optional -->
164
165                <!-- The Store plugin. Saves annotations to a remote backend -->
166                <!-- <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.store.min.js"><xsl:text> </xsl:text></script> -->
167
168                <!-- The Auth plugin. Allows users of Annotator to authenticate themselves
169                     to the remote backend -->
170                <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.auth.min.js"><xsl:text> </xsl:text></script> -->
171                <!-- The Permissions plugin. See who created which annotation and create
172                     annotations as a specified user -->
173                <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.permissions.min.js"><xsl:text> </xsl:text></script> -->
174
175                <!-- The Tags plugin. Edit and display tag keywords on annotations -->
176                <!--<script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.tags.min.js"><xsl:text> </xsl:text></script> -->
177
178                <!-- The Markdown plugin. Treat annotation text as Markdown -->
179                <!-- <script src="sites/localsite/collect/peijones/js/annotator/lib/vendor/showdown.js"><xsl:text> </xsl:text></script> -->
180                <!-- <script src="sites/localsite/collect/peijones/js/annotator/pkg/annotator.markdown.min.js"><xsl:text> </xsl:text></script> -->
181               
182                <!-- Photo note scripts -->
183                <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/BrowserDetect.js"><xsl:text> </xsl:text></script>
184                <script type="text/javascript" src="sites/localsite/collect/peijones/js/documentmaker/PhotoNotes-1.5.js"><xsl:text> </xsl:text></script>
185                <link rel="stylesheet" type="text/css" href="sites/localsite/collect/peijones/style/PhotoNotes-1.5.css"/>
186               
187                <!-- Zoom scripts -->
188                <!--<script src="interfaces/{$interface_name}/js/jquery-1.4.2.js" type="text/javascript"><xsl:text> </xsl:text></script>-->
189                <script src="sites/localsite/collect/peijones/js/documentmaker/zoomer.jquery.js" type="text/javascript"><xsl:text> </xsl:text></script>    <link href="sites/localsite/collect/peijones/style/style.css" rel="stylesheet" type="text/css"/>
190                <script type="text/javascript">
191                    <xsl:text disable-output-escaping="yes">
192                        _zoomEnabled = true;
193                        function readyImagesForZoom()     
194                        {
195                            var noZoom = document.getElementById("noZoom");
196                            var wrap = document.getElementById("wrap");
197                            if(!noZoom || !wrap)
198                            {
199                                return;
200                            }
201                            var smallImageDiv = document.getElementById("small");
202                            var smallImage = smallImageDiv.getElementsByTagName("img")[0];
203                            smallImageDiv.style.width = smallImageWidth + "px";
204                            smallImageDiv.style.height = smallImageHeight + "px";
205                            var multiplier = largeImageHeight / smallImageHeight;
206                            $("#wrap").anythingZoomer({       
207                                expansionSize:50, 
208                                speedMultiplier:multiplier   
209                            });     
210
211                            noZoom.onclick = function(){addZoom();}
212                            document.getElementById("overlay").onclick = function(){removeZoom();}                         
213                           
214                            removeZoom();
215                        }           
216                        function addZoom() 
217                        {
218                            if(!_zoomEnabled)
219                            {
220                                return;
221                            }
222                           
223                            var wrapper = document.getElementById("wrap"); 
224                            var noZoom = document.getElementById("noZoom");
225                           
226                            if(!noZoom || !wrapper)
227                            {
228                                return;
229                            }
230                           
231                            noZoom.style.display = "none"; 
232                            wrapper.style.display = "block";
233                            var option = document.getElementById("zoomOption");
234                            if(option)
235                            {
236                                option.setAttribute("onclick", "removeZoom();"); 
237                            }
238                        }           
239                        function removeZoom()
240                        {
241                            if(!_zoomEnabled)
242                            {
243                                return;
244                            }
245                       
246                            var wrapper = document.getElementById("wrap");
247                            var noZoom = document.getElementById("noZoom");
248                           
249                            if(!noZoom || !wrapper)
250                            {
251                                return;
252                            }
253                           
254                            wrapper.style.display = "none";
255                            noZoom.style.display = "block";
256                            var option = document.getElementById("zoomOption");
257                            if(option)
258                            {
259                                option.setAttribute("onclick", "addZoom();");
260                            }
261                        }   
262                    </xsl:text>   
263                </script>
264                <script text="text/javascript">
265                    <xsl:text disable-output-escaping="yes">
266                       
267                        var _posCount = 0;
268                        var _notes;
269                        function initNotes()
270                        {
271                            /* create the Photo Note Container */
272                            _notes = new PhotoNoteContainer(document.getElementById("noZoom"));
273                            getNotes();
274                        }
275                       
276                        function deleteFunction(note)
277                        {
278                            var callback =
279                            {
280                                success: function(response)
281                                {
282                                    var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
283                               
284                                    var updateCallback =
285                                    {
286                                        success: function(response){},
287                                        failed: function(){alert("Failed in deleteFunction() to update Greenstone server with: " + updateURL);}
288                                    };
289                                   
290           
291                                    YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
292                                },
293                                failed: function(){ alert("Failed in deleteFunction() with note id: " + note.id)},
294                            };
295                           
296                            var status = true;
297                           
298                            if (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) {
299                                var metaposStr =  note.id - 1;
300                           
301                                var url = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=remove-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metapos=" + metaposStr;
302                                YAHOO.util.Connect.asyncRequest("GET", url, callback);
303                            }
304                            else {
305                                alert("Failed to find valid note data to delete");
306                                status = false;
307                            }
308                           
309                            return status;
310                        }
311                       
312                        function saveFunction(note)
313                        {
314                            var callback =
315                            {
316                                success: function(response)
317                                {
318                                    var updateURL = gs.siteMetadata.siteURL.replace("8080","9090") + gs.xsltParams.library_name + "?a=s&amp;sa=c";
319                               
320                                    var updateCallback =
321                                    {
322                                        success: function(response){},
323                                        failed: function(reponse){ alert("Failed in saveFunction() to update Greenstone server with: " + updateURL);}
324                                    };
325                                   
326                                   
327                                    YAHOO.util.Connect.asyncRequest("GET", updateURL, updateCallback);
328                                },
329                                failed: function(reponse){ alert("Failed in saveFunction() with note id: " + note.id)},
330                            };
331                           
332                            var jsonVal = '{"caption":"' + note.text + '", "area":{"x":' + note.rect.left + ', "y":' + note.rect.top + ', "width":' + note.rect.width + ', "height":' + note.rect.height + '}}';
333                            var metaposStr = (note &amp;&amp; note.id &amp;&amp; note.id &gt; 0) ? note.id - 1 : _posCount;
334                           
335                            var saveURL = gs.siteMetadata.siteURL.replace("8080","9090") + "cgi-bin/metadata-server.pl?a=set-metadata&amp;site=localsite&amp;c=" + gs.cgiParams.c + "&amp;d=" + gs.cgiParams.d + "&amp;metaname=gsimg.photoNote&amp;metavalue=" + jsonVal + "&amp;metapos=" + metaposStr;
336                            YAHOO.util.Connect.asyncRequest("GET", saveURL, callback);
337                           
338                            return 1;
339                        }               
340                       
341                        function getNotes()
342                        {
343                            if(gs.variables.photoNotes == null || gs.variables.photoNotes == undefined)
344                            {
345                                console.log("No photo notes");
346                                return;
347                            }
348                           
349                            for(var i = 0; i &lt; gs.variables.photoNotes.length; i++)
350                            {
351                                var note = gs.variables.photoNotes[i];
352                                if(!note)
353                                {
354                                    continue;
355                                }
356                                var newNote = new PhotoNote(note.caption, i+1, new PhotoNoteRect(note.area.x,note.area.y,note.area.width,note.area.height));
357                                newNote.onsave = saveFunction;
358                                newNote.ondelete = deleteFunction;
359                                _notes.AddNote(newNote);
360                                _posCount++;
361                            }
362                           
363                            addNoteOverAndOutHandlers();
364                        }
365                       
366                        function AddNote()
367                        {
368                            var newNote = new PhotoNote('Add note text here...',_posCount+1,new PhotoNoteRect(10,10,50,50));
369                            newNote.onsave = saveFunction;
370                            newNote.ondelete = deleteFunction;
371                            _notes.AddNote(newNote);
372                            _posCount++;
373                           
374                            addNoteOverAndOutHandlers();
375                            newNote.Select();
376                        }
377                       
378                        function addNoteOverAndOutHandlers()
379                        {
380                            var divs = document.getElementsByTagName("DIV");
381                            for(var i = 0; i &lt; divs.length; i++)
382                            {
383                                if(divs[i].getAttribute("class") &amp;&amp; divs[i].getAttribute("class").search("fn-area") != -1)
384                                {
385                                    divs[i].onmouseover = function(){_zoomEnabled = false;}
386                                    divs[i].onmouseout = function(){_zoomEnabled = true;}
387                                }
388                            }
389                        }
390                       
391                        window.onload = function(){initNotes(); readyImagesForZoom(); initAnnotator();};
392                    </xsl:text>
393                </script>
394               
395                <script text="text/javascript">
396                    <xsl:text disable-output-escaping="yes">
397                        function initAnnotator()
398                        {       
399                            jQuery(function ($) {
400                                if (typeof $.fn.annotator !== 'function') {
401                                    alert("Ooops! it looks like you haven't built the Annotator concatenation file. " + "Either download a tagged release from GitHub, or modify the Cakefile to point " + "at your copy of the YUI compressor and run `cake package`.");
402                                } else {   
403                                    /*
404                                    jQuery('#gs-document-text').annotator()
405                                    .annotator('addPlugin', 'Store', {
406                                        prefix: 'http://annotateit.org/api',
407                                        annotationData: {'uri':document.URL}
408                                    })
409                                    .annotator('addPlugin', 'Auth', {
410                                        userId: 'papitha',          // Your AnnotateIt username
411                                        consumerKey: '39fc339cf058bd22176771b3e33c5dac',           // Your Account Key
412                                        authToken: '852b7fc25396d2aedf9aeb44dd58518faa679dbf027892164bfb81900bd09741' // Your Auth Token
413                                    });
414                                    */ 
415
416                                    jQuery(function ($) {
417                                        // Include AnnotateIt credentials to load the store plugin.
418                                        $('#gs-document-text').annotator().annotator('setupPlugins', {
419                                            userId:    'papitha',
420                                            userName:  'Papitha',
421                                            accountId: '39fc339cf058bd22176771b3e33c5dac',
422                                            authToken: '852b7fc25396d2aedf9aeb44dd58518faa679dbf027892164bfb81900bd09741', 
423                                        }, {
424                                            Store:
425                                            {
426                                                prefix: 'http://localhost:5000',
427                                                annotationData: {'uri':gs.cgiParams.c + "-" + gs.cgiParams.d},
428                                                loadFromSearch: {'uri':gs.cgiParams.c + "-" + gs.cgiParams.d}
429                                            }
430                                        });
431                                    });
432                                }
433                            });
434                        }
435                    </xsl:text>
436                </script>
437            </xsl:template>
438           
439            <xsl:template name="documentImage">
440                <!-- Get the photo notes for this document node -->
441                <gsf:variable-struct name="photoNotes">
442                    <gsf:metadata multiple="true" name="gsimg.photoNote" separator=", "/>
443                </gsf:variable-struct>
444               
445                <!-- Get details about the image for zooming -->
446                <h3>   
447                    <gsf:choose-metadata>
448                        <gsf:metadata name="dc.Title"/>
449                        <gsf:metadata name="ex.Title"/>
450                    </gsf:choose-metadata>
451                </h3>
452                <xsl:variable name="imageWidth">
453                    <gsf:choose-metadata>
454                        <gsf:metadata name="ImageWidth"/>
455                        <gsf:default>-1</gsf:default>                       
456                    </gsf:choose-metadata>
457                </xsl:variable>
458                <xsl:variable name="imageHeight">
459                    <gsf:choose-metadata>
460                        <gsf:metadata name="ImageHeight"/>
461                        <gsf:default>-1</gsf:default>                       
462                    </gsf:choose-metadata>
463                </xsl:variable>
464                <xsl:variable name="screenImageWidth">
465                    <gsf:choose-metadata>
466                        <gsf:metadata name="ScreenWidth"/>
467                        <gsf:default>-1</gsf:default>                       
468                    </gsf:choose-metadata>
469                </xsl:variable>
470                <xsl:variable name="screenImageHeight">
471                    <gsf:choose-metadata>
472                        <gsf:metadata name="ScreenHeight"/>
473                        <gsf:default>-1</gsf:default>                       
474                    </gsf:choose-metadata>
475                </xsl:variable>
476                <script type="text/javascript">
477                    <xsl:text>largeImageHeight =</xsl:text><xsl:value-of select="$imageHeight"/><xsl:text>;</xsl:text>
478                    <xsl:text>largeImageWidth =</xsl:text><xsl:value-of select="$imageWidth"/><xsl:text>;</xsl:text>
479                    <xsl:text>smallImageHeight =</xsl:text><xsl:value-of select="$screenImageHeight"/><xsl:text>;</xsl:text>
480                    <xsl:text>smallImageWidth =</xsl:text><xsl:value-of select="$screenImageWidth"/><xsl:text>;</xsl:text>
481                </script>
482                <div id="noZoom" style="display:block;">
483                    <img style="width: {$screenImageWidth}; height: {$screenImageHeight};">
484                                    <xsl:attribute name="src">
485                                        <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata select="root" name="assocfilepath"/>/<gsf:metadata name="Screen"/>
486                                    </xsl:attribute>
487                    </img>
488                        <!--       
489                    <gsf:metadata name="screenicon"/>
490                    -->
491                </div>
492                <!--<xsl:if test="$imageHeight != -1">-->
493                    <div id="wrap" style="display:none; width: {$screenImageWidth}; height: {$screenImageHeight};">
494                        <div id="small" style="width: {$screenImageWidth}; height: {$screenImageHeight};">
495                        <!--
496                            <gsf:metadata name="screenicon"/>
497                            -->
498                            <img style="width: {$screenImageWidth}; height: {$screenImageHeight};">
499                                    <xsl:attribute name="src">
500                                        <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata select="root" name="assocfilepath"/>/<gsf:metadata name="Screen"/>
501                                    </xsl:attribute>
502                            </img> 
503                        </div>
504                        <div id="mover">
505                            <div id="overlay"><xsl:text> </xsl:text></div>
506                            <div id="large">
507                                <img style="width: {$imageWidth}; height: {$imageHeight};">
508                                    <xsl:attribute name="src">
509                                        <xsl:value-of disable-output-escaping="yes" select="/page/pageResponse/collection/metadataList/metadata[@name='httpPath']"/>/index/assoc/<gsf:metadata select="root" name="assocfilepath"/>/<gsf:metadata name="srclinkFile"/>
510                                    </xsl:attribute>
511                                </img>
512                            </div>
513                        </div>
514                    </div>
515                    <input type="button" value="Tag Photo!" style="margin-left:30px;" onclick="AddNote();" />
516                <!--</xsl:if>-->
517            </xsl:template>
518           
519        </format>
520    </display>
521    <replaceListRef id="gs2-standard"/>
522    <replaceListRef id="gs2-image"/>
523    <serviceRackList>
524        <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
525        <serviceRack name="OAIPMH">
526            <ListMetadataFormats>
527                <!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
528    The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
529    -->
530                <metadataFormat metadataPrefix="oai_dc">
531                    <metadataPrefix>oai_dc</metadataPrefix>
532                    <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
533                    <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
534                    <!--<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>             
535      -->
536                    <mappingList>
537                        <!--
538        The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B>
539        The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
540        searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
541        number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
542        if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
543       
544        **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.
545       
546        **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.
547        -->
548                        <mapping>dc.Title,Title</mapping>
549                        <!-- 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. -->
550                    </mappingList>
551                </metadataFormat>
552            </ListMetadataFormats>
553        </serviceRack>
554    </serviceRackList>
555</CollectionConfig>
Note: See TracBrowser for help on using the browser.