<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<bean id="dc.abstract" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="abstract" />
		<constructor-arg name="xpath" value="//*[local-name() = 'abstract'][1]/text()" />
	</bean>
	
	<bean id="dc.author" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="author" />
		<constructor-arg name="xpath"
		  value="//*[local-name() = 'creator'][1]/text()" />
	</bean>
	
	<bean id="dc.authorSurName" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorSurName" />
		<constructor-arg name="xpath"
			value="//*[local-name() = 'creator'][1]/text()" />
		<property name="multivalue" value="false" />
	</bean>

	<bean id="dc.authorSurNameSort" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="authorSurNameSort" />
		<constructor-arg name="xpath"
			value="//*[local-name() = 'creator'][1]/text()" />
		<property name="multivalue" value="false" />
	</bean>
	
	<bean id="dc.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="contactOrganization" />
		<constructor-arg name="xpath"
		  value="//*[local-name() = 'creator']/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true"/>
	</bean>	
	
	<bean id="dc.investigator" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="investigator" />
		<constructor-arg name="xpath" value="//*[local-name() = 'creator']/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>
	
	<bean id="dc.origin" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="origin" />
		<constructor-arg name="xpath" value="//*[local-name() = 'creator']/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>
	
	<bean id="dc.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="pubDate" />
		<constructor-arg name="xpath" value="//*[local-name() = 'dateSubmitted']/text()" />
		<property name="converter" ref="dateConverter" />
	</bean>

	<bean id="dc.title" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="title" />
		<constructor-arg name="xpath"
		  value="(//*[local-name() = 'title'][1]/text())[1]" />
	</bean>

	<bean id="dc.keywords" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="keywords" />
		<constructor-arg name="xpath"
			value="//*[local-name() = 'subject']/text()" />
		<property name="multivalue" value="true" />
	</bean>

	<bean id="dc.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="beginDate" />
		<constructor-arg name="xpath"
			value="//*[local-name() = 'temporal'][not(@xsi:type='dcterms:Period') and not(@xsi:type='dc:Period') and not(@xsi:type='Period')]/text()" />
		<property name="multivalue" value="false" />
		<property name="converter" ref="dateConverter" />
	</bean>

	<bean id="dc.endDate" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="endDate" />
		<constructor-arg name="xpath"
			value="//*[local-name() = 'temporal'][not(@xsi:type='dcterms:Period') and not(@xsi:type='dc:Period') and not(@xsi:type='Period')]/text()" />
		<property name="multivalue" value="false" />
		<property name="converter" ref="dateConverter" />
	</bean>
	
	<bean id="dc.datePeriod" class="org.dataone.cn.indexer.parser.TemporalPeriodSolrField">
		<constructor-arg name="xpath"
			value="//*[local-name() = 'temporal'][@xsi:type='dcterms:Period' or @xsi:type='dc:Period' or @xsi:type='Period']/text()" />
	</bean>
	
 	<bean id="dc.site" class="org.dataone.cn.indexer.parser.SolrField">
		<constructor-arg name="name" value="site" />
		<constructor-arg name="xpath"
		  value="//*[local-name() = 'spatial'][not(@xsi:type = 'dcterms:Box') and not(@xsi:type = 'dc:Box') and not(@xsi:type = 'Box')]/text()" />
		<property name="multivalue" value="true" />
		<property name="dedupe" value="true" />
	</bean>	

	<bean id="dc.boxSpatialBoundCoordinates" class="org.dataone.cn.indexer.parser.DublinCoreSpatialBoxBoundingCoordinatesSolrField">
		<constructor-arg name="xpath" value="//*[local-name() = 'spatial'][@xsi:type='dcterms:Box' or @xsi:type='dc:Box' or @xsi:type='Box'][1]/text()[1]" />
	</bean>
	
	<bean id="dc.boxSpatialGeohash" class="org.dataone.cn.indexer.parser.DublinCoreSpatialBoxGeohashSolrField">
		<constructor-arg name="xpath" value="//*[local-name() = 'spatial'][@xsi:type='dcterms:Box' or @xsi:type='dc:Box' or @xsi:type='Box'][1]/text()[1]" />
	</bean>

	<bean id="dc.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
		<constructor-arg name="name" value="fileID" />
	</bean>
	
	<bean id="dc.fullText" class="org.dataone.cn.indexer.parser.FullTextSolrField">
		<constructor-arg name="name" value="text" />
		<constructor-arg name="xpath" value="//*/text()" />
		<property name="combineNodes" value="true"/>
	</bean>
</beans>