Index: main/trunk/greenstone2/collect/modelcol/etc/collectionConfig.xml
===================================================================
--- main/trunk/greenstone2/collect/modelcol/etc/collectionConfig.xml	(revision 24954)
+++ main/trunk/greenstone2/collect/modelcol/etc/collectionConfig.xml	(revision 25707)
@@ -1,191 +1,189 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <CollectionConfig xmlns:gsf="http://www.greenstone.org/greenstone3/schema/ConfigFormat" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
-  <metadataList>
-    <metadata lang="en" name="creator">**creator**</metadata>
-    <metadata lang="en" name="maintainer">**maintainer**</metadata>
-    <metadata lang="en" name="public">**public**</metadata>
-  </metadataList>
-  <displayItemList>
-    <displayItem assigned="true" lang="en" name="name">**title**</displayItem>
-    <displayItem assigned="true" lang="en" name="description">**about**</displayItem>
-  </displayItemList>
-  <search type="mgpp">
-    <level name="document">
-      <displayItem lang="en" name="name">document</displayItem>
-    </level>
-    <level name="section">
-      <displayItem lang="en" name="name">section</displayItem>
-    </level>
-    <defaultLevel name="document"/>
-    <index name="text">
-      <displayItem lang="en" name="name">text</displayItem>
-    </index>
-    <index name="Title">
-      <displayItem lang="en" name="name">titles</displayItem>
-    </index>
-    <index name="Source">
-      <displayItem lang="en" name="name">filenames</displayItem>
-    </index>
-    <defaultIndex name="text"/>
-    <searchType name="plain"/>
-    <searchType name="simpleform"/>
-    <searchType name="advancedform"/>
-    <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>
-  </search>
-  <import>
-    <pluginList>
-      <plugin name="ZIPPlugin"/>
-      <plugin name="GreenstoneXMLPlugin"/>
-      <plugin name="TextPlugin"/>
-      <plugin name="HTMLPlugin"/>
-      <plugin name="EmailPlugin"/>
-      <plugin name="PDFPlugin"/>
-      <plugin name="RTFPlugin"/>
-      <plugin name="WordPlugin"/>
-      <plugin name="PostScriptPlugin"/>
-      <plugin name="PowerPointPlugin"/>
-      <plugin name="ExcelPlugin"/>
-      <plugin name="ImagePlugin"/>
-      <plugin name="ISISPlugin"/>
-      <plugin name="NulPlugin"/>
-      <plugin name="OAIPlugin"/>
-      <plugin name="MetadataXMLPlugin"/>
-      <plugin name="ArchivesInfPlugin"/>
-      <plugin name="DirectoryPlugin"/>
-    </pluginList>
-  </import>
-  <browse>
-    <classifier name="List">
-      <option name="-metadata" value="dc.Title;Title"/>
-      <option name="-partition_type_within_level" value="approximate_size"/>
-    </classifier>
-    <classifier name="List">
-      <option name="-metadata" value="Source"/>
-      <option name="-partition_type_within_level" value="approximate_size"/>
-    </classifier>
-    <format>
-      <gsf:template match="documentNode">
-	<td valign="top">
-	  <gsf:link type="document">
-	    <gsf:icon type="document"/>
-	  </gsf:link>
-	</td>
-	<td valign="top">
-	  <gsf:link type="source">
-	  <gsf:choose-metadata>
-	    <gsf:metadata name="thumbicon"/>
-	    <gsf:metadata name="srcicon"/>
-	  </gsf:choose-metadata>
-	  </gsf:link>
-	</td>
-	<td valign="top">
-	  <gsf:choose-metadata>
-	    <gsf:metadata name="dc.Title"/>
-	    <gsf:metadata name="exp.Title"/>
-	    <gsf:metadata name="Title"/>
-	    <gsf:default>Untitled</gsf:default>
-	  </gsf:choose-metadata>
-	  <gsf:switch>
-	    <gsf:metadata name="Source"/>
-	    <gsf:when test="exists">
-	      <br/>
-	      <i>(<gsf:metadata name="Source"/>)</i>
-	    </gsf:when>
-	  </gsf:switch>
-	</td>
-      </gsf:template>
-      <gsf:template match="classifierNode">
-	<td valign="top">
-	  <gsf:link type="classifier">
-	    <gsf:icon type="classifier"/>
-	  </gsf:link>
-	</td>
-	<td valign="top">
-          <gsf:link type="source">
-	  <gsf:choose-metadata>
-	    <gsf:metadata name="thumbicon"/>
-	    <gsf:metadata name="srcicon"/>
-	  </gsf:choose-metadata>
-          </gsf:link>
-	</td>
-	<td valign="top">
-	  <gsf:choose-metadata>
-	    <gsf:metadata name="dc.Title"/>
-	    <gsf:metadata name="exp.Title"/>
-	    <gsf:metadata name="Title"/>
-	    <gsf:default>Untitled</gsf:default>
-	  </gsf:choose-metadata>
-	  <gsf:switch>
-	    <gsf:metadata name="Source"/>
-	    <gsf:when test="exists">
-	      <br/><i>(<gsf:metadata name="Source"/>)</i>
-	    </gsf:when>
-	  </gsf:switch>
-	</td>
-      </gsf:template>
-      <gsf:template match="classifierNode" mode="horizontal">
-	<gsf:link type="horizontal">
-	  <gsf:metadata name="Title"/>
-	</gsf:link>
-      </gsf:template>
-    </format>
-  </browse>
-  <display>
-    <format>
-      <gsf:option name="TOC" value="false"/>
-    </format>
-  </display>
-  <replaceListRef id="gs2-standard"/>
-  <replaceListRef id="gs2-image" />
-  <serviceRackList>
-    <!-- comment out the following serviceRack if you want to disable OAI for this collection -->
-    <serviceRack name="OAIPMH">
-      <ListMetadataFormats>
-	<!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
-	The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
-	-->
-	<metadataFormat metadataPrefix="oai_dc">
-	  <metadataPrefix>oai_dc</metadataPrefix>
-	  <schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
-	  <metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
-	  <!--<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>              
-	  -->
-	  <mappingList>
-	    <!-- 
-	    The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B> 
-	    The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
-	    searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
-	    number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
-	    if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
-	    
-	    **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.
-	    
-	    **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.
-	    -->
-	    <mapping>dc.Title,Title</mapping>
-	    <!-- 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. -->
-	  </mappingList>
-	</metadataFormat>
-      </ListMetadataFormats>
-    </serviceRack> 
-  </serviceRackList>
+	<metadataList>
+		<metadata lang="en" name="creator">**creator**</metadata>
+		<metadata lang="en" name="maintainer">**maintainer**</metadata>
+		<metadata lang="en" name="public">**public**</metadata>
+	</metadataList>
+	<displayItemList>
+		<displayItem assigned="true" lang="en" name="name">**title**</displayItem>
+		<displayItem assigned="true" lang="en" name="description">**about**</displayItem>
+	</displayItemList>
+	<search type="mgpp">
+		<level name="document">
+			<displayItem lang="en" name="name">document</displayItem>
+		</level>
+		<level name="section">
+			<displayItem lang="en" name="name">section</displayItem>
+		</level>
+		<defaultLevel name="document"/>
+		<index name="text">
+			<displayItem lang="en" name="name">text</displayItem>
+		</index>
+		<index name="Title">
+			<displayItem lang="en" name="name">titles</displayItem>
+		</index>
+		<index name="Source">
+			<displayItem lang="en" name="name">filenames</displayItem>
+		</index>
+		<defaultIndex name="text"/>
+		<searchType name="plain"/>
+		<searchType name="simpleform"/>
+		<searchType name="advancedform"/>
+		<format>
+			<gsf:template match="documentNode">
+				<td valign="top">
+					<gsf:link type="document">
+						<gsf:icon type="document"/>
+					</gsf:link>
+				</td>
+				<td>
+					<gsf:link type="document">
+						<gsf:choose-metadata>
+							<gsf:metadata name="dc.Title"/>
+							<gsf:metadata name="exp.Title"/>
+							<gsf:metadata name="ex.dc.Title"/>
+							<gsf:metadata name="Title"/>
+							<gsf:default>Untitled</gsf:default>
+						</gsf:choose-metadata>
+					</gsf:link>
+				</td>
+			</gsf:template>
+		</format>
+	</search>
+	<import>
+		<pluginList>
+			<plugin name="ZIPPlugin"/>
+			<plugin name="GreenstoneXMLPlugin"/>
+			<plugin name="TextPlugin"/>
+			<plugin name="HTMLPlugin"/>
+			<plugin name="EmailPlugin"/>
+			<plugin name="PDFPlugin"/>
+			<plugin name="RTFPlugin"/>
+			<plugin name="WordPlugin"/>
+			<plugin name="PostScriptPlugin"/>
+			<plugin name="PowerPointPlugin"/>
+			<plugin name="ExcelPlugin"/>
+			<plugin name="ImagePlugin"/>
+			<plugin name="ISISPlugin"/>
+			<plugin name="NulPlugin"/>
+			<plugin name="OAIPlugin"/>
+			<plugin name="MetadataXMLPlugin"/>
+			<plugin name="ArchivesInfPlugin"/>
+			<plugin name="DirectoryPlugin"/>
+		</pluginList>
+	</import>
+	<browse>
+		<classifier name="List">
+			<option name="-metadata" value="dc.Title;Title"/>
+			<option name="-partition_type_within_level" value="approximate_size"/>
+		</classifier>
+		<classifier name="List">
+			<option name="-metadata" value="Source"/>
+			<option name="-partition_type_within_level" value="approximate_size"/>
+		</classifier>
+		<format>
+			<gsf:template match="documentNode">
+				<td valign="top">
+					<gsf:link type="document">
+						<gsf:icon type="document"/>
+					</gsf:link>
+				</td>
+				<td valign="top">
+					<gsf:link type="source">
+						<gsf:choose-metadata>
+							<gsf:metadata name="thumbicon"/>
+							<gsf:metadata name="srcicon"/>
+						</gsf:choose-metadata>
+					</gsf:link>
+				</td>
+				<td valign="top">
+					<gsf:link type="document">
+						<gsf:choose-metadata>
+							<gsf:metadata name="dc.Title"/>
+							<gsf:metadata name="exp.Title"/>
+							<gsf:metadata name="ex.dc.Title"/>
+							<gsf:metadata name="Title"/>
+							<gsf:default>Untitled</gsf:default>
+						</gsf:choose-metadata>
+						<gsf:switch>
+							<gsf:metadata name="Source"/>
+							<gsf:when test="exists"><br/><i>(<gsf:metadata name="Source"/>)</i></gsf:when>
+						</gsf:switch>
+					</gsf:link>
+				</td>
+			</gsf:template>
+			<gsf:template match="classifierNode[@classifierStyle = 'VList']">
+				<td valign="top">
+					<gsf:link type="classifier">
+						<gsf:icon type="classifier"/>
+					</gsf:link>
+				</td>
+				<td valign="top">
+					<gsf:link type="source">
+						<gsf:choose-metadata>
+							<gsf:metadata name="thumbicon"/>
+							<gsf:metadata name="srcicon"/>
+						</gsf:choose-metadata>
+					</gsf:link>
+				</td>
+				<td valign="top">
+					<gsf:choose-metadata>
+						<gsf:metadata name="dc.Title"/>
+						<gsf:metadata name="exp.Title"/>
+						<gsf:metadata name="ex.dc.Title"/>
+						<gsf:metadata name="Title"/>
+						<gsf:default>Untitled</gsf:default>
+					</gsf:choose-metadata>
+					<gsf:switch>
+						<gsf:metadata name="Source"/>
+						<gsf:when test="exists"><br/><i>(<gsf:metadata name="Source"/>)</i></gsf:when>
+					</gsf:switch>
+				</td>
+			</gsf:template>
+			<gsf:template match="classifierNode[@classifierStyle = 'HList']">
+				<gsf:link type="classifier">
+					<gsf:metadata name="Title"/>
+				</gsf:link>
+			</gsf:template>
+		</format>
+	</browse>
+	<display>
+		<format>
+			<gsf:option name="TOC" value="true"/>
+		</format>
+	</display>
+	<replaceListRef id="gs2-standard"/>
+	<replaceListRef id="gs2-image" />
+	<serviceRackList>
+		<!-- comment out the following serviceRack if you want to disable OAI for this collection -->
+		<serviceRack name="OAIPMH">
+			<ListMetadataFormats>
+				<!--What metadata sets to support is collection specific. To support other metadata schema, simply add a metadataFormat element here.
+					The support of unqualified Dublin Core metadata set is mandatory in the oai specification.
+				-->
+				<metadataFormat metadataPrefix="oai_dc">
+					<metadataPrefix>oai_dc</metadataPrefix>
+					<schema>http://www.openarchives.org/OAI/2.0/oai_dc.xsd</schema>
+					<metadataNamespace>http://www.openarchives.org/OAI/2.0/oai_dc/</metadataNamespace>
+					<!--<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>-->
+					<mappingList>
+						<!-- 
+							The mapping is in the form: <publicly supported metadata name>,<mapped metadata name>, short as <A>,<B> 
+							The first metadata name is medatory; if there is no mapped name followed, then the first name must be used by the records and
+							searchable in the database, otherwise it is the mapped name stored in the database. The number of mapping elements matches the
+							number of external metadata of the records. If only one name is present, the returned metadata will use this name plus the retrieved value;
+							if both <A>,<B> are present, the returned metadata will use <A>'s name plus <B>'s value retrieved from database.
+					
+							**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.
+					
+							**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.
+						-->
+						<mapping>dc.Title,Title</mapping>
+						<!-- 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. -->
+					</mappingList>
+				</metadataFormat>
+			</ListMetadataFormats>
+		</serviceRack> 
+	</serviceRackList>
 </CollectionConfig>
